summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-07-18lib/rendercopy: Use gen4 definitions if applicableLukasz Kalamarz
Instead of using definitions duplicated in gen7_render header, we should use the oldest definition that is working with chosen gen. This patch reuse gen6 definitons if registers/fields/shifts that were introduced in other genX_render headers. v3: Rebase and checkpatch Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2018-07-18lib/rendercopy: Add gen4/5 rendercopyLukasz Kalamarz
Add rendercopy implementation for gen4/5. Basic structure copied from the gen6 implementation, and the gen4/5 specific bits were mostly lifted from sna. v2: Renamed registers definitions, which are GEN4 specific to include that prefix (Lukasz) v3: Rebase and checkpatch Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Lukasz Kalamarz <lukasz.kalamarz@intel.com> Cc: Katarzyna Dec <katarzyna.dec@intel.com> Cc: Antonio Argenziano <antonio.argenziano@intel.com> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Reviewed-by: Katarzyna Dec <katarzyna.dec@intel.com>
2018-07-18Update NEWS, bump version to 1.23.Arkadiusz Hiler
Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Petri Latvala <petri.latvala@intel.com>
2018-07-17tests/frontbuffer_tracking: Use the library functions to test PSR.Dhinakaran Pandiyan
kms_frontbuffer_tracking should test PSR the same way that kms_psr does. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-17tests/psr: Move PSR state test functions to libDhinakaran Pandiyan
kms_frontbuffer_tracking and kms_psr test PSR in different ways, let' fix that by creating common library functions. v2: Include the new file in meson.build v3: Leave --no-psr intact (Rodrigo) Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-17tests/psr: Prepare for moving PSR state checking functions into libDhinakaran Pandiyan
Change the function arguments to not rely on test specific data as the following patches change kms_frontbuffer_tracking to reuse PSR functions. v2: Leave --no-psr intact (Rodrigo) Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-17tests/sink_crc: Remove kms_sink_crc_basicDhinakaran Pandiyan
"drm/i915: Kill sink_crc for good" removes the kernel support for sink crc. References: https://patchwork.freedesktop.org/series/46039/ Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-17igt: Remove gvt_basicChris Wilson
This was always a placeholder for GVT stakeholders to provide some better tests. 2 years later and none have been put forward so stop wasting CI's time running a placeholder. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106989 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Zhi Wang <zhi.a.wang@intel.com> Acked-by: Martin Peres <martin.peres@linux.intel.com>
2018-07-17igt/kms_vblank: Check if hangs are allowedChris Wilson
Before running a hang test, check if we can inject a hang and expect recover to work. If we can't control a hang, skip the subtest. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-07-17tools/intel_dp_compliance: Use ARGB8888 format fbs for Gen 10Radhakrishna Sripada
According to Display WA #1172, to truly bypass the color data on Gen 10 use ARGB8888 instead of XRGB8888 to pass compliance. v2: Use ARGB8888 format only for video pattern fb, set per pixel alpha value to 0xff in fill_framebuffer.(Imre) v3: Set the aplha value for each pixel(Imre) Cc: Imre Deak <imre.deak@intel.com> Cc: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com> Reviewed-by: Manasi Navare <manasi.d.navare@intel.com> Signed-off-by: Imre Deak <imre.deak@intel.com>
2018-07-16igt/gem_pwrite_snooped: Check for GEM before useChris Wilson
As we try to blit into the buffer to check CPU<->GPU snooping, we have to check we have a functional GPU first. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
2018-07-13tests/psr: Rename kms_psr_sink_crc.c to kms_psr.cDhinakaran Pandiyan
We don't use sink CRC anymore in this test. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-13tests/kms_psr_sink_crc: Test PSR source HW status before PSR entry.Dhinakaran Pandiyan
Wait for PSR HW status to show active before starting an PSR exit action. Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-13tests/kms_psr_sink_crc: Do not test sink crcDhinakaran Pandiyan
eDP sink crc reads use vblank interrupts that cause PSR exit and therefore makes them unsuitable for PSR testing. Besides that, reading sink CRC via the AUX channel for testing when the HW also is most likely is going to be using AUX channel is a recipe for inconsistent test results. Thirdly, CRC's have been seen to be noisy/inconsistent across sinks. We tradeoff the ability to validate what the sink is displaying for correctness. We also make use of source PSR status register to check whether HW tracking triggered PSR exit upon an exit event. Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-13tests/frontbuffer_tracking: Do not test sink crcDhinakaran Pandiyan
eDP sink crc reads use vblank interrupts that cause PSR exit and therefore makes them unsuitable for PSR testing. Besides that, reading sink CRC via the AUX channel for testing when the HW also is most likely is going to be using AUX channel is a recipe for inconsistent test results. Thirdly, CRC's have been seen to be noisy or vary across sinks for the same driver and test code. We tradeoff the ability to validate what the sink is displaying for correctness. Cc: Daniel Vetter <daniel@ffwll.ch> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
2018-07-13lib/gt: Make use of dummyload library to create recursive batchAntonio Argenziano
An hanging batch is nothing more than a spinning batch that never gets stopped, so re-use the routines implemented in dummyload.c. v2: Let caller decide spin loop size v3: Only use loose loops for hangs (Chris) v4: No requires v5: Free the spinner v6: Chamelium exists. Signed-off-by: Antonio Argenziano <antonio.argenziano@intel.com> #v3 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2018-07-13igt/gem_userptr: Check read-only mappingsChris Wilson
Setup a userptr object that only has a read-only mapping back to a file store (memfd). Then attempt to write into that mapping using the GPU and assert that those writes do not land (while also writing via a writable userptr mapping into the same memfd to verify that the GPU is working!) v2: Pull the random batch construction into a routine to avoid duplication. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-07-13tests/kms_flip: Print timevals as floatVille Syrjälä
Time intervals as produced by timersub() are normalized to have the tv_usec in the range 0-999999. That leads to very confusing looking debug output for negative interval. Eg. an interval of -0.1 seconds would be represented as tv_sec=-1, tv_usec=900000. Let's just convert the thing to a float seconds value and print that so that we'll get less confusing debug output. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-07-12igt/gem_unfence_active_buffers: Check GEM before useChris Wilson
As we want to make the buffers active on the GPU before removing their fence, an operational GPU (not wedged!) is required. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-07-12igt/gem_render_copy_redux: Check for GEM before useChris Wilson
As render copy wants to use the GPU, we should make sure it is not wedged first. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-07-12igt/gem_gpgpu_fill: Check for GEM before useChris Wilson
As we need GEM and the GPU to do a GPGPU fill, we should check that it is operable before using -- skipping rather than failing when the device is wedged. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-07-12igt/pm_rpm: Pass NULL to require no extra module optionsChris Wilson
We use options!=NULL to determine if we should require the module to be reloaded and fail if we find it already loaded. In pm_rpm, we are only ensuring the MSR module is loaded, and only want default options. Fixes: 4dc2ce0e ("lib/kmod: Fail if the module is already loaded") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Michał Winiarski <michal.winiarski@intel.com>
2018-07-12trace.pl: Fix engine busy accounting in split modeTvrtko Ursulin
In split mode all requests have to be added up since they were previously re-arranged so there is no overlap. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: John Harrison <John.C.Harrison@intel.com> Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
2018-07-12trace.pl: Put single context at single vertical slotTvrtko Ursulin
Turn off timeline stacking in favour of putting all the boxes belonging to a single context at the same vertical slot. Also remove the custom sorting function in favour of correctly assigning the subgroup id's and order which greatly speeds up the library operations. And finally remove the 'Toggle stacking' button which never worked. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
2018-07-12trace.pl: Fix HTML timestamp generationTvrtko Ursulin
Now that we scale timestamps to get better timeline granularity, the hacky hand rolled micro-second time to HTML date conversion does no longer cut it. Use perl built-in gmtime to handle things properly. v2: Do not bother with the epoch since timeline times are relative to unknown system boot time. (John Harrison) Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
2018-07-12trace.pl: Fix no context colouring modeTvrtko Ursulin
Commit 87d2affc380da96ba66c258c5337c363fe8651ef ("trace.pl: Add support for colouring context execution"), due some dodgy attempts at patch splitting broke the legacy colouring mode. Fix it by passing in the request stage into the helper so all stages can be correctly coloured in both modes. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: John Harrison <John.C.Harrison@Intel.com> Reviewed-by: John Harrison <John.C.Harrison@Intel.com>
2018-07-12lib/igt_kms: simplify pipe <-> name conversionLucas De Marchi
Now that we can use _Static_assert() due to C11, make it future proof so we remember to update this if IGT_MAX_PIPES changes. Also reduce verbosity a little bit by calculating indexes instead of if/else chain. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-07-12lib/igt_core: fix check for running under gdbLucas De Marchi
Properly check for errors and rename the function since we are checking if we are running under gdb, not making it run under gdb. Previously we were passing uninitialized data to basename() due to not properly adding the nul termination. ==22293== Conditional jump or move depends on uninitialised value(s) ==22293== at 0x4C306D0: rindex (vg_replace_strmem.c:199) ==22293== by 0x4EC55DD: basename (in /usr/lib64/libc-2.27.so) ==22293== by 0x400744: running_under_gdb (in /tmp/a) There's another problem with this function that it doesn't detect when we are running gdb from a toolchain using a toolchain triplet, but that's left for another patch. v2: remove the fix for repeating the argument on readlink() since that landed in another patch Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-07-12build: bump c std to gnu11Lucas De Marchi
It's been a long time and all reasonable toolchains support gnu11 already. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2018-07-12tests/sw_sync: fix pthread start_routine declarationLucas De Marchi
pthread_create() expects a void *(*start_routine) (void *). Fix warning the following warning on gcc 8: ../tests/sw_sync.c:773:37: warning: cast between incompatible function types from ‘int (*)(void *)’ to ‘void * (*)(void *)’ [-Wcast-function-type] pthread_create(&threads[i], NULL, (void * (*)(void *)) ^ Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2018-07-11Fix comparison that always evaluates to falseRodrigo Siqueira
This commit fix the GCC warning: warning: bitwise comparison always evaluates to false [-Wtautological-compare] } else if ((val & DPLLB_MODE_LVDS) == DPLLB_MODE_DAC_SERIAL) { The first comparison already checks DPLLB_MODE_LVDS, in this sense, the second 'if' condition always will be false. This commit changes the comparison to DPLLB_MODE_DAC_SERIAL. Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-07-11Avoid truncate string in __igt_lsof_fdsRodrigo Siqueira
Note that 'proc_path' parameter in __igt_lsof_fds receives a string which was initialized with the size of PATH_MAX and the local variable 'path' has the same size, but it also have to append: '/', '\0', and the directory name. This situation caused the warning described below. warning: ‘%s’ directive output may be truncated writing up to 255 bytes into a region of size between 0 and 4095 [-Wformat-truncation=] snprintf(path, sizeof(path), "%s/%s", proc_path, d->d_name); note: ‘snprintf’ output between 2 and 4352 bytes into a destination of size 4096 [..] This commit fixes this problem by changing the string size passed by __igt_lsoft to __igt_lsof_fds. The max size for the string is strlen("/proc/%d/cwd")+1 where "%d" can be estimated with CEILING(LOG_10(INT_MAX)), in this sense, it is safe to define a path size of 30 characters. Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Reviewed-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-07-11Remove parameter aliases with another argumentRodrigo Siqueira
This commit fixes the following GCC warning: warning: passing argument 2 to restrict-qualified parameter aliases with argument 1 [-Wrestrict] return (readlink (buf, buf, sizeof (buf)) != -1 && This commit fixes the GCC warning by creating a second buffer only to keep the path. v2: make pathname smaller (A. Hiler) Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com> Signed-off-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com> Acked-by: Arkadiusz Hiler <arkadiusz.hiler@intel.com>
2018-07-11lib/dummyload: Control whether or not the batch is preemptibleChris Wilson
Sometimes, we do not want to allow control to escape from the spinner, e.g. for when we want to hang the GPU inside the batch. (Split out from the preempt-timeout test case.) Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2018-07-11lib/kmod: Fail if the module is already loadedChris Wilson
If we want to set new module options, we must load the module or die trying. We may want to always fail if the module if already loaded, but for now, take the small incremental step and insist that the options are set if requested. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-07-10lib: Require working GEM (!wedged) to allow hang injectionChris Wilson
As we ordinarily use a spinning batch to trigger a hang, we cannot do so without execbuf. On the other hand, if we do a manual reset of the wedged driver, we expect it to remain wedged and for the reset to fail; failing the test. Even if we remove the igt_assert(!wedged), the test is suspect as we don't know if the reset took place and so do not know if the conditions the test is trying to setup apply. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
2018-07-09igt/gem_render_copy: Check for GEM before runningChris Wilson
gem_render_copy requires a working GPU so check first. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2018-07-09lib/igt_draw: Zero initalize the igt_bufsVille Syrjälä
I missed these when sprinkling the memsets. Using stack garbage as the aux surface state isn't a good idea. Causes kms_front_buffer_tracking to fail on skl+. Fixes: a4393c3951ec ("lib: Add aux surface state to igt_buf") Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com>
2018-07-06igt/gem_pwrite_pread: Requires GEMChris Wilson
Mark up gem_pwrite_pread's dependence on a functioning GPU, by calling igt_require_gem in its setup fixture. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-07-06igt/gem_sync: Show the baseline poll latency for wakeupsChris Wilson
Distinguish between the latency required to switch away from the pollable spinner into the target nops from the client wakeup of synchronisation on the last nop. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2018-07-06igt/gem_sync: Double the wakeups, twice the painChris Wilson
To further defeat any contemplated spin-optimisations to avoid the irq latency for synchronous wakeups, increase the queue length. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2018-07-06igt/gem_sync: Alternate stress for nop+syncChris Wilson
Apply a different sort of stress by timing how long it takes to sync a second nop batch in the pipeline. We first start a spinner on the engine, then when we know the GPU is active, we submit the second nop; start timing as we then release the spinner and wait for the nop to complete. As with every other gem_sync test, it serves two roles. The first is that it checks that we do not miss a wakeup under common stressful conditions (the more conditions we check, the happier we will be that they do not occur in practice). And the second role it fulfils, is that it provides a very crude estimate for how long it takes for a nop to execute from a running start (we already have a complimentary estimate for an idle start). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
2018-07-06lib: Spin fast, retire earlyChris Wilson
When using the pollable spinner, we often want to use it as a means of ensuring the task is running on the GPU before switching to something else. In which case we don't want to add extra delay inside the spinner, but the current 1000 NOPs add on order of 5us, which is often larger than the target latency. v2: Don't change perf_pmu as that is sensitive to the extra CPU latency from a tight GPU spinner. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Antonio Argenziano <antonio.argenziano@intel.com> #v1 Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> #v1 Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-07-06lib: Convert spin batch constructor to a factoryChris Wilson
In order to make adding more options easier, expose the full set of options to the caller. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Petri Latvala <petri.latvala@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2018-07-06tests/gem_render_copy: Add a subtest for AUX_CCS_EVille Syrjälä
Add a new subtest that does renders the test pattern into a compressed buffer. And we'll follow it up with another copy back to an uncompressed buffer so that we also test the capability to sampled from compressed buffers, and also so that we can actually compare the results against the reference image. We'll also do a quick check of the aux surface to check that it actually indicates that at least some parts of the buffer were in fact compressed. Further visual verification can be done via the dumped png. v2: Test various tiling formats with CCS as well Combine the ccs test into the same function as the rest Pass the correct thing to intel_gen() Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-07-06tests/gem_render_copy: Add subtests for different tiling modesVille Syrjälä
Make sure our rendercopy implementations do the right thing with tiled buffers. For now we'll just do linear->linear, x-tiled->x-tiled, and y-tiled->y-tiled. Not sure there's much point in adding tests for different src vs. dst tiling modes? v2: Test all tiling combos (Chris) Allocate with drm_intel_bo_alloc_tiled() (Chris) Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-07-06lib/rendercopy: Add enough surface state for AUX_CCS_EVille Syrjälä
Populate the gen8+ SURFACE_STATE aux bits correctly. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-07-06lib: Add aux surface state to igt_bufVille Syrjälä
Store a bit of aux surface state in igt_buf. This will be needed for rendercopy AUX_CCS_E color compression. We also have to sprinkle memset()s and whatnot all over to make sure the current igt_buf users don't leave the aux stuff full of stack garbage. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-07-06lib/rendercopy: Set the upper 32bits of surface base address on gen8+Ville Syrjälä
gen8 introduces 48 bit virtual addresses. Set both dwords correctly as otherwise the presumed_offset will not match what we actually have stored in the surface state if the buffer is located somewhere above 4GiB. I guess we're not currently using 48bit addresses with rendercopy? Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
2018-07-06igt/gem_tiled_partial_pwrite_pread: Check for known swizzlingChris Wilson
As we want to compare a templated tiling pattern against the target_bo, we need to know that the swizzling is compatible. Or else the two tiling pattern may differ due to underlying page address that we cannot know, and so the test may sporadically fail. References: https://bugs.freedesktop.org/show_bug.cgi?id=102575 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>