- Mar 06, 2019
-
-
Kevin Strasser authored
Disallow Yf tiling and Y-tiled 90/270 rotation for fp16 on Intel hardware. rfc2: - Move check into can_rotate (Maarten) - Use igt_plane_has_format_mod (Maarten) Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
-
Kevin Strasser authored
Follow design of P01x conversion to support tests needing pixel data in fp16 (half float 64 bpp). rfc2: - Convert whole rows of pixels if possible (Maarten) - Treat rgbx like rgba, let hardware ignore alpha (Maarten) Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
-
Kevin Strasser authored
This test iterates through all supported formats, add cases for new 64 bit formats so it continues passing. rfc2: -Use uint64_t (Maarten) Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
-
Kevin Strasser authored
Adds fp16 formats needed for testing. NOTE: This should not be merged until defines have actually landed in the drm-next uapi headers. Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
-
Kevin Strasser authored
Probe for and make an API available for tests to use f16c intrinsics to generate needed fp16 pixel data. Also import a pure c fp32 <-> fp16 conversion implementation from Mesa 18.3.4, which will act as a fallback when f16c is unavailable. rfc2: - Change API to reduce number of function calls (Maarten) Signed-off-by: Kevin Strasser <kevin.strasser@intel.com>
-
- Mar 01, 2019
-
-
Tvrtko Ursulin authored
We do not bother explicitly unmapping memory on exit so no need to store address and size in the workload step struct. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Tvrtko Ursulin authored
mmap(2) mandates size is page aligned. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Simona Vetter authored
Suggested by Chris. v2: Use "" for local includes (Chris). Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-
Simona Vetter authored
It's a kms test, name it accordingly. Also sort the build lists while at it, one test got misplaced. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
Been a while this landed in libdrm ... Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
-
Simona Vetter authored
Just realized we don't seem to have any testcase for this. Fill this gap asap! v2: Use igt_device_set/drop_master (Chris) v3: Use "" for local includes (Chris) Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
-
- Feb 28, 2019
-
-
Chris Wilson authored
As we already have the previous portion of the mmap mlocked, we only need to mlock() the fresh portion for testing available memory. v2: Fixup the uint64_t pointer arithmetric and only use a single mmap to avoid subsequent mlock fail (for reasons unknown, but bet on mm/). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Caz Yokoyama <Caz.Yokoyama@intel.com> Reviewed-by: Caz Yokoyama <Caz.Yokoyama@intel.com>
-
Arkadiusz Hiler authored
Currently, when gtk-doc is not installed 'ninja' succeeds but 'ninja install' fails with the following error: FileNotFoundError: [Errno 2] No such file or directory: 'gtkdoc-scan': 'gtkdoc-scan' With this patch 'meson build' will log that documentations would not build and 'ninja install' will succeed. When forcing building docs with 'meson -Dbuild_docs=true build' the following error will occur instead: meson.build:323:0: ERROR: Dependency "gtk-doc" not found, tried pkgconfig and cmake Cc: Petri Latvala <petri.latvala@intel.com> Reported-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
-
- Feb 27, 2019
-
-
Chris Wilson authored
Try to hit a bug in the kernel whereby a short reader does not wakeup the next waiter (on the same fd) leading to forever blocking. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
Cairo defaults to using a blended fill, so when IGT tries to paint on top of a framebuffer in these tests with an alpha less than 1.0 the previous framebuffer contents will still be present underneath. On amdgpu this is an issue because the framebuffer is created in an unitialized state and can have contents from previous tests still within memory. This patch explicitly sets the cairo filling operator to SOURCE to overwrite the contents when performing fills with alpha < 1.0 in this test. It also fixes the creation of the transparent FB. My guess as for why this test previously passed on i915 is because the primary FB was also black, so the CRC would match even if the black overlay plane was partially transparent. Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
Maarten Lankhorst authored
Newer platforms don't support this format, but the tests don't check if the format is supported on the primary plane. After enabling an output we also don't refresh the output connection, calling igt_output_set_pipe(output, PIPE_NONE) will do so, and prevent skips because no connected output is detected. Changes since v1: - Use igt_plane_has_format_mod (Ville). Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
Maarten Lankhorst authored
Instead of iterating over all outputs, use igt_get_single_output_for_pipe to only test a single output. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
Maarten Lankhorst authored
Instead of duplicating for_each_pipe_static functionality, use the actual macro, and the same for kmstest_pipe_name. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
-
- Feb 26, 2019
-
-
Antonio Argenziano authored
Move all mmap flavours and support function to separate file in i915 folder. This helps with moving i915 specific functions away from common libraries. v2: - Autotools still exists. (Petri) - Include gem_mman.h directly. (Chris) v3: - Keep includes explicit. (Chris) Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-
Chris Wilson authored
If the device doesn't support contexts, we expect them to fail with -ENODEV before reporting -EIO if wedged. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
-
Chris Wilson authored
Not all engines are created equal, and our weighting ends up favouring the many faster xCS rings at the expense of RCS. Our qlen estimation also failed to factor in the context switch overhead, which is a significant factor for nop batches. So we oversubscribe the number of batches submitted to RCS and end up waiting for those to complete at the end of our subtest timeslice. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Caz Yokoyama <caz.yokoyama@intel.com> Reviewed-by: Caz Yokoyama <caz.yokoyama@intel.com>
-
Paul Kocialkowski authored
With recent changes to the igt_fb code, VC4 support is now integrated in common helpers. As a result, VC4 helpers have to be built as part of the library. This is already the case with meson, but VC4 support was removed from autotools. Bring it back unconditionally to match meson behaviour. This fixes a build error with autotools. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
-
Paul Kocialkowski authored
This introduces a new test for the Chamelium, that sets up planes with randomized properties such as the format, dimensions, position, in-framebuffer offsets and stride. The Chamelium capture is checked against the reference generated by cairo with either a CRC or the checkerboard-specific comparison method. This test also includes testing of the VC4-specific T-tiled and SAND-tiled modes, in all formats supported by the hardware. Since this test does not share much with previous Chamelium display tests (especially regarding KMS configuration), most of the code is not shared with other tests. This test can be derived with reproducible properties for regression testing in the future. For now, it serves as a fuzzing test Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
-
Paul Kocialkowski authored
Now that the checkerboard frame checking method is available through the frame match helper, make use of it in YUV tests to increase the reliability of the results. The analog test tends to provide false positives, which are properly detected by the checkerboard method in most instances. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
This introduces the checkerboard chamelium checking type and hooks the call to the associated igt_frame matching helper in the frame match chamelium helper. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
This introduces a new frame comparison method that was designed for patterns that follow a checkerboard style. These patterns are made of consecutive rectangular shapes with alternating solid colors. They are currently used for some Chamelium-based tests. The method is particularly adapted for cases where the edges of the shapes might be blurred (e.g. due to scaling), which makes it impossible to use pixel-perfect or CRC-based comparisons to decide whether the captured frame matches the reference. Overall, this test will first detect the edges of the pattern and later exclude them from comparison. Colors are compared between the reference and capture with a low threshold for error. A percentage of the faulty pixels is calculated and the captured frame is considered invalid if more than one percent of the pixels are erroneous. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
In prevision of adding support for another type of frame matching, rename chamelium_assert_analog_frame_match_or_dump to drop the analog part and feed it the check type. This way, the bulk of the helper can apply to other frame matching types. This requires moving the chamelium_check enum from the test to the common chamelium header. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
The frame dump logic is the same for all comparison helpers, so split it to a dedicated function and adapt helpers using it to avoid duplicating operations. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
This fixes a bunch of occurrences of memory not being properly liberated after its use in helpers revolving around frame/CRC comparison. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
With helpers to count and iterate among planes of a given type from the pipe in place, we can use them with the current pipe for the output to make it possible for tests to use them (the pipe struct is not currently easily exposed to tests and exposing it adds unnecessary complexity). Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
This introduces helpers that allow counting how many planes of a given type are present from a pipe and getting the n-th plane of a given type. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
This pipes-in support for the VC4 modifiers that we have conversion helpers for. A new temporary linear framebuffer is introduced, that is either freed later or copied to the destination framebuffer pointer. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
-
Paul Kocialkowski authored
The modifier is part of how a frame is represented, so add it as an extra argument so that it can be specified when converting framebuffers. For now, only a linear modifier is supported. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
-
Paul Kocialkowski authored
In order to test buffers with SAND tiling, it is useful to convert linear buffers to SAND tiling mode. Introduce helpers to assist in that direction, one that calculates the memory offset in the SAND-tiled buffer for a given pixel position and one that makes use of the latter for framebuffer conversion. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
In order to integrate testing of T-tiled buffers, the easiest path is to generate patterns (with the already-existing functions) in linear buffers and convert them to T-tiled subsequently. Add helpers to do that conversion, with a first helper that returns the memory offset for a given position in a T-tiled buffer and a second helper that uses it for converting between framebuffers. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Acked-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
Introduce a helper to allocate and fill-in a list of available DRM formats, which is useful for picking one at random in tests. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
The format bpp for a given plane is stored in the static format_desc structure and is not accessible to tests, which is inconvenient to get the minimum stride for a format when testing various strides. Add a simple helper to expose the information. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
The current implementation of igt_fb_convert does not allow passing the destination stride, which is something we want to change for tests. Add a new fashion of this function that allocates the desintation buffer with a given stride. Since the current function does the same thing with an unspecified stride (set to zero, which will be filled later), make it call our new fashion with the stride set to zero to avoid duplication. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
The VC4 SAND tiling modes are disposed in columns that follow each other in memory. The column height defines the number of fixed-width lines from the beginning of one column to the other, which may be greater than the display height. In this case, the extra lines are used as padding and the column height becomes a height-based stride equivalent. Support this when calculating the plane size by using the tile height directly if it is greater than the plane height. This works better than alignment for non-power-of-two cases (no space is wasted) and it is equivalent to alignment for power-of-two tile heights. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com>
-
Paul Kocialkowski authored
This introduces support for the VC4 SAND tiling modes, that take a specific parameter indicating their column height. This parameter acts as a height-based stride equivalent, that shall be equal or greater than the displayed height. The parameter is extracted and returned as tile height so that enough memory can be reserved for column heights containing extra padding. Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by: Maxime Ripard <maxime.ripard@bootlin.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
-