mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-10 17:36:11 +00:00
kms_frontbuffer_tracking: Make sink crc mandatory only for PSR.
Unfortunately Sink CRC is not 100% reliable for all platforms. So we cannot block FBC tests nor skip them when we are getting unreliable Sink CRC results, or not getting them at all. Acked-by: Paulo Zanoni <paulo.r.zanoni@intel.com> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
This commit is contained in:
parent
d074b44ab6
commit
ea3806bade
@ -1570,7 +1570,7 @@ static int adjust_assertion_flags(const struct test_mode *t, int flags)
|
||||
return flags;
|
||||
}
|
||||
|
||||
#define do_crc_assertions(flags) do { \
|
||||
#define do_crc_assertions(flags, mandatory_sink_crc) do { \
|
||||
int flags__ = (flags); \
|
||||
struct both_crcs crc_; \
|
||||
\
|
||||
@ -1582,7 +1582,11 @@ static int adjust_assertion_flags(const struct test_mode *t, int flags)
|
||||
\
|
||||
igt_assert(wanted_crc); \
|
||||
igt_assert_crc_equal(&crc_.pipe, &wanted_crc->pipe); \
|
||||
assert_sink_crc_equal(&crc_.sink, &wanted_crc->sink); \
|
||||
if (mandatory_sink_crc) \
|
||||
assert_sink_crc_equal(&crc_.sink, &wanted_crc->sink); \
|
||||
else \
|
||||
if (!sink_crc_equal(&crc_.sink, &wanted_crc->sink)) \
|
||||
igt_info("Sink CRC differ, but not required\n"); \
|
||||
} while (0)
|
||||
|
||||
#define do_status_assertions(flags_) do { \
|
||||
@ -1618,12 +1622,13 @@ static int adjust_assertion_flags(const struct test_mode *t, int flags)
|
||||
|
||||
#define do_assertions(flags) do { \
|
||||
int flags_ = adjust_assertion_flags(t, (flags)); \
|
||||
bool mandatory_sink_crc = t->feature & FEATURE_PSR; \
|
||||
\
|
||||
wait_user(2, "Paused before assertions."); \
|
||||
\
|
||||
/* Check the CRC to make sure the drawing operations work \
|
||||
* immediately, independently of the features being enabled. */ \
|
||||
do_crc_assertions(flags_); \
|
||||
do_crc_assertions(flags_, mandatory_sink_crc); \
|
||||
\
|
||||
/* Now we can flush things to make the test faster. */ \
|
||||
do_flush(t); \
|
||||
@ -1636,7 +1641,7 @@ static int adjust_assertion_flags(const struct test_mode *t, int flags)
|
||||
* would only delay the test suite while adding no value to the \
|
||||
* test suite. */ \
|
||||
if (t->screen == SCREEN_PRIM) \
|
||||
do_crc_assertions(flags_); \
|
||||
do_crc_assertions(flags_, mandatory_sink_crc); \
|
||||
\
|
||||
if (fbc.supports_last_action && opt.fbc_check_last_action) { \
|
||||
if (flags_ & ASSERT_LAST_ACTION_CHANGED) \
|
||||
|
Loading…
x
Reference in New Issue
Block a user