summaryrefslogtreecommitdiff
path: root/tests/kms_color.c
AgeCommit message (Collapse)Author
2019-04-10tests/kms_color: Fix CRC mismatch issues with ctm testUma Shankar
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>
2019-04-03tests/kms_color: Make legacy-gamma-reset work with a partial color pipelineVille Syrjälä
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>
2019-04-03tests/kms_color: Split invalid_lut_sizes() into gamma vs. degamma versionsVille Syrjälä
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>
2019-04-03tests/kms_color: Allow most subtests to run with a partial color pipelineVille Syrjälä
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>
2019-04-03tests/kms_color: Reuse some already compute valuesVille Syrjälä
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>
2019-04-03tests/kms_color: Wrap LUTs in a gamma_lut_t structVille Syrjälä
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>
2019-04-03tests/kms_color: Nuke local struct definitionsVille Syrjälä
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>
2019-01-28tests/kms_color: Assert gamma look up table sizesPetri Latvala
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>
2018-10-01igt: Require a display (KMS enabled) for KMS testsChris Wilson
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>
2018-04-14tests/kms_color: Enable color tests for AMDGPULeo (Sunpeng) Li
Signed-off-by: Leo (Sunpeng) Li <sunpeng.li@amd.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-04-14tests/kms_color: Do not mask LUT for non i915 drivers.Leo (Sunpeng) Li
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>
2018-04-14tests/kms_color: Fill entire frame when painting rectanglesLeo (Sunpeng) Li
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>
2018-02-01lib/igt_fb: Add igt_put_cairo_ctx as counter to igt_get_cairo_ctxMaarten Lankhorst
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>
2017-12-19tests/kms_color: Rename pipe tests to standard notationMaarten Lankhorst
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
2017-10-20tests/kms_color: Rework tests slightly to work better with new atomic apiMaarten Lankhorst
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>
2017-10-20lib/igt_kms: Export property blob functions for output/pipe/plane, v2.Maarten Lankhorst
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>
2017-10-04tests/kms_color: Unset plane fb on teardown, v2.Maarten Lankhorst
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>
2017-10-02tests: Rename kms_pipe_color to kms_colorMaarten Lankhorst
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>