Age | Commit message (Collapse) | Author |
|
Due to Gamma/Degamma limitation wrt representation of intermediate
values between 0 and 1.0 causing rounding issues and inaccuracies,
applying linear gamma affects crc. This patch fixes the same by
making ctm max test independent of gamma/degamma.
v2: Disable degamma/gamma programming for ctm max test as it
leads to crc mimsmatch. Limiting it to this test case alone as
other tests need it to be enabled, hence not touching those
scenarios.
v3: Fixed a fumble with compilation.
v4: Disabling degamma and gamma for ctm max tests, after the logic
in kernel has been updated by Ville's series.
v5: Disabled gamma/degamma for all ctm tests as suggested by Ville.
v6: Restricting disabling of linear gamma luts for ctm max test.
Updated the commit message and comment as suggested by Daniel.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108147
Signed-off-by: Uma Shankar <uma.shankar@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
No reason why we shouldn't be able to execute the legacy-gamma-reset
test with a partial color pipeline.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Split the invalid-lut-sizes test into separate gamma and degamma tests.
This way we can report SKIP for the thing we don't have. Also make the
CTM invalid sizes test report a skip too.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
Requiring a full color pipeline when we're just testing eg. the gamma
LUT is silly. Make the requirements more sensible.
Also include an igt_require() for the CTM, which was totally missing
before.
v2: Note the added igt_require(CTM) (Daniel)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
We already compute the lut_size*entry_size so let's reuse those
when allocating the LUTs.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
To make life easier let's wrap the LUTs in a small struct.
v2: igt_assert(gamma) (Daniel)
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
I think we can assume fresh enough headers by now, so remove
the local _drm_color_ctm and _drm_color_lut structs definitions.
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
|
|
If the properties for gamma tables exist, their sizes must be
non-zero.
Signed-off-by: Petri Latvala <petri.latvala@intel.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
Simple rule of thumb, if a kms_* test calls igt_display_init() in its
global fixture, skip the entire test if the driver has disabled KMS.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
|
|
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
Masking assumes a direct relationship between the software LUT
structure, and hardware LUT. This is not always the case.
On AMD hardware for example, the hardware LUT is composed of
piecewise-linear segments, with end-point spaced exponentially along the
X axis, while software LUT is spaced linearly. Masking the LUT for the
purpose of truncating the resulting colors won't work here.
v2: Add commit message and sign off.
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
Fill entire frame to avoid garbage data from being included in CRC
calculations.
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com>
Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
|
|
This will allow support for NV12 in the future, where igt_get_cairo_ctx
will return a RGB image to draw with, which will be converted in
igt_put_cairo_ctx so tests don't have to add special support for NV12.
This is the same as cairo_destroy + checking for errors, but not all
tests use this correctly so it's better to have a single handler for it.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
|
|
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> #irc
Acked-by: Acked-by: Marta Lofstedt <marta.lofstedt@intel.com> #irc
|
|
igt_pipe_get_property is about to be removed, so use
igt_pipe_obj_get_prop instead. This requires adding 2 more properties
to the crtc property list. Also get rid of the Broadcast RGB call,
this is already handled in igt_kms.
Change order for DEGAMMA_LUT and GAMMA_LUT around, else this test will
fail if legacy gamma is set. In the legacy path, this will update
GAMMA_LUT to the new size before DEGAMMA_LUT is set.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
With the replace_prop_blob functions we can safely replace the blob for
any property, without having to care about error handling ourselves.
This will for example allow overriding color management blobs, or for
kms_atomic set invalid mode blobs.
The color management blob functions are removed, they can now be
replaced by direct calls to replace the properties.
Changes since v1:
- Fix chamelium tests.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
Valgrind is slightly unhappy when we leave the fb set:
==1804== Invalid read of size 4
==1804== at 0x122F83: igt_plane_get_fb_id (igt_kms.c:2074)
==1804== by 0x122F83: igt_primary_plane_commit_legacy
(igt_kms.c:2339)
==1804== by 0x122F83: igt_plane_commit (igt_kms.c:2394)
==1804== by 0x122F83: igt_pipe_commit (igt_kms.c:2435)
==1804== by 0x122F83: do_display_commit (igt_kms.c:2667)
==1804== by 0x12338D: igt_display_commit2 (igt_kms.c:2777)
==1804== by 0x112F83: run_tests_for_pipe (kms_color.c:1053)
==1804== by 0x11360F: __real_main1189 (kms_color.c:1206)
==1804== by 0x110BC6: main (kms_color.c:1189)
==1804== Address 0x1ffeffeb20 is on thread 1's stack
==1804== 160 bytes below stack pointer
Add the missing calls to igt_plane_set_fb, and fix the crash.
Changes since v1:
- Fix compilation!
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|
|
Rename kms_pipe_color to kms_color, and rename the invalid tests to pipe-invalid.
To prepare for adding support for plane color management.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
|