mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-26 01:06:23 +00:00
Add a test to verify that pwriting to a future scanout buffer works correctly. The specific problem occurs when the buffer is already UC/WT before the pwrite, not the current scanout buffer, and not currently in the CPU write domain. With the buggy kernel no clflush will be performed after the pwrite, and hence we end up with cache dirt on the display. The problem only affects LLC platforms (non-LLC would clflush anyway after pwrite), but we can let the test run on all platforms. v2: Fix typos in commit message and add to .gitignore Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
234 lines
4.7 KiB
Makefile
234 lines
4.7 KiB
Makefile
noinst_PROGRAMS = \
|
|
gem_alive \
|
|
gem_stress \
|
|
$(TESTS_progs) \
|
|
$(TESTS_progs_M) \
|
|
$(HANG) \
|
|
$(TESTS_testsuite) \
|
|
$(NULL)
|
|
|
|
NOUVEAU_TESTS_M = \
|
|
prime_nv_api \
|
|
prime_nv_pcopy \
|
|
prime_nv_test \
|
|
$(NULL)
|
|
|
|
TESTS_progs_M = \
|
|
core_get_client_auth \
|
|
drv_suspend \
|
|
drv_hangman \
|
|
gem_bad_reloc \
|
|
gem_basic \
|
|
gem_caching \
|
|
gem_close_race \
|
|
gem_concurrent_blit \
|
|
gem_cs_tlb \
|
|
gem_ctx_bad_exec \
|
|
gem_ctx_exec \
|
|
gem_dummy_reloc_loop \
|
|
gem_evict_alignment \
|
|
gem_evict_everything \
|
|
gem_exec_bad_domains \
|
|
gem_exec_faulting_reloc \
|
|
gem_exec_nop \
|
|
gem_exec_params \
|
|
gem_exec_parse \
|
|
gem_fenced_exec_thrash \
|
|
gem_fence_thrash \
|
|
gem_fence_upload \
|
|
gem_flink \
|
|
gem_flink_race \
|
|
gem_linear_blits \
|
|
gem_madvise \
|
|
gem_mmap \
|
|
gem_mmap_gtt \
|
|
gem_partial_pwrite_pread \
|
|
gem_persistent_relocs \
|
|
gem_pipe_control_store_loop \
|
|
gem_ppgtt \
|
|
gem_pread \
|
|
gem_pread_after_blit \
|
|
gem_pwrite \
|
|
gem_pwrite_pread \
|
|
gem_readwrite \
|
|
gem_reloc_overflow \
|
|
gem_reloc_vs_gpu \
|
|
gem_render_copy_redux \
|
|
gem_reset_stats \
|
|
gem_ringfill \
|
|
gem_set_tiling_vs_blt \
|
|
gem_storedw_batches_loop \
|
|
gem_tiled_blits \
|
|
gem_tiled_partial_pwrite_pread \
|
|
gem_userptr_blits \
|
|
gem_write_read_ring_switch \
|
|
kms_addfb \
|
|
kms_cursor_crc \
|
|
kms_fbc_crc \
|
|
kms_flip \
|
|
kms_flip_event_leak \
|
|
kms_flip_tiling \
|
|
kms_mmio_vs_cs_flip \
|
|
kms_pipe_crc_basic \
|
|
kms_plane \
|
|
kms_psr_sink_crc \
|
|
kms_render \
|
|
kms_rotation_crc \
|
|
kms_setmode \
|
|
kms_universal_plane \
|
|
pm_lpsp \
|
|
pm_rpm \
|
|
pm_rps \
|
|
pm_rc6_residency \
|
|
prime_self_import \
|
|
template \
|
|
$(NULL)
|
|
|
|
TESTS_progs = \
|
|
core_getclient \
|
|
core_getstats \
|
|
core_getversion \
|
|
drm_import_export \
|
|
drm_vma_limiter \
|
|
drm_vma_limiter_cached \
|
|
drm_vma_limiter_cpu \
|
|
drm_vma_limiter_gtt \
|
|
gem_bad_length \
|
|
gem_cpu_reloc \
|
|
gem_cs_prefetch \
|
|
gem_ctx_bad_destroy \
|
|
gem_ctx_basic \
|
|
gem_ctx_create \
|
|
gem_double_irq_loop \
|
|
gem_exec_big \
|
|
gem_exec_blt \
|
|
gem_exec_lut_handle \
|
|
gem_fd_exhaustion \
|
|
gem_gtt_cpu_tlb \
|
|
gem_gtt_hog \
|
|
gem_gtt_speed \
|
|
gem_hangcheck_forcewake \
|
|
gem_largeobject \
|
|
gem_lut_handle \
|
|
gem_mmap_offset_exhaustion \
|
|
gem_media_fill \
|
|
gem_pin \
|
|
gem_reg_read \
|
|
gem_render_copy \
|
|
gem_render_linear_blits \
|
|
gem_render_tiled_blits \
|
|
gem_ring_sync_copy \
|
|
gem_ring_sync_loop \
|
|
gem_multi_bsd_sync_loop \
|
|
gem_seqno_wrap \
|
|
gem_set_tiling_vs_gtt \
|
|
gem_set_tiling_vs_pwrite \
|
|
gem_storedw_loop_blt \
|
|
gem_storedw_loop_bsd \
|
|
gem_storedw_loop_render \
|
|
gem_storedw_loop_vebox \
|
|
gem_threaded_access_tiled \
|
|
gem_tiled_fence_blits \
|
|
gem_tiled_pread \
|
|
gem_tiled_pread_pwrite \
|
|
gem_tiled_swapping \
|
|
gem_tiled_wb \
|
|
gem_tiling_max_stride \
|
|
gem_unfence_active_buffers \
|
|
gem_unref_active_buffers \
|
|
gem_wait \
|
|
gem_workarounds \
|
|
gen3_mixed_blits \
|
|
gen3_render_linear_blits \
|
|
gen3_render_mixed_blits \
|
|
gen3_render_tiledx_blits \
|
|
gen3_render_tiledy_blits \
|
|
gen7_forcewake_mt \
|
|
kms_3d \
|
|
kms_fence_pin_leak \
|
|
kms_force_connector \
|
|
kms_pwrite_crc \
|
|
kms_sink_crc_basic \
|
|
prime_udl \
|
|
$(NULL)
|
|
|
|
# IMPORTANT: The ZZ_ tests need to be run last!
|
|
# ... and make can't deal with inlined comments ...
|
|
TESTS_scripts_M = \
|
|
$(NULL)
|
|
|
|
TESTS_scripts = \
|
|
debugfs_emon_crash \
|
|
drv_debugfs_reader \
|
|
drv_missed_irq_hang \
|
|
drv_module_reload \
|
|
kms_sysfs_edid_timing \
|
|
sysfs_l3_parity \
|
|
test_rte_check \
|
|
tools_test \
|
|
$(NULL)
|
|
|
|
# This target contains testcases which support automagic subtest enumeration
|
|
# from the piglit testrunner with --list-subtests and running individual
|
|
# subtests with --run-subtest <testname>
|
|
#
|
|
# Your testcase should probably use an igt_main and igt_fixture and should have
|
|
# a pile of igt_subtest blocks.
|
|
multi_kernel_tests = \
|
|
$(TESTS_progs_M) \
|
|
$(TESTS_scripts_M) \
|
|
$(NULL)
|
|
|
|
# This target is for simple testcase which don't expose any subtest.
|
|
#
|
|
# Your testcase should probably use igt_simple_main, but none of the other magic
|
|
# blocks like igt_fixture or igt_subtest.
|
|
single_kernel_tests = \
|
|
$(TESTS_progs) \
|
|
$(TESTS_scripts) \
|
|
$(NULL)
|
|
|
|
kernel_tests = \
|
|
$(single_kernel_tests) \
|
|
$(multi_kernel_tests) \
|
|
$(NULL)
|
|
|
|
# Test that exercise specific asserts in the test framework library and are
|
|
# hence expected to fail.
|
|
XFAIL_TESTS = \
|
|
igt_no_exit \
|
|
igt_no_exit_list_only \
|
|
igt_no_subtest \
|
|
$(NULL)
|
|
|
|
# IMPORTANT: These tests here are all disabled because the result in sometime
|
|
# unrecoverable gpu hangs. Don't put real testcases here.
|
|
HANG = \
|
|
gem_bad_batch \
|
|
gem_hang \
|
|
gem_bad_blit \
|
|
gem_bad_address \
|
|
gem_non_secure_batch \
|
|
$(NULL)
|
|
|
|
scripts = \
|
|
check_drm_clients \
|
|
ddx_intel_after_fbdev \
|
|
debugfs_wedged \
|
|
drm_lib.sh \
|
|
$(NULL)
|
|
|
|
IMAGES = pass.png 1080p-left.png 1080p-right.png
|
|
|
|
testdisplay_SOURCES = \
|
|
testdisplay.c \
|
|
testdisplay.h \
|
|
testdisplay_hotplug.c \
|
|
$(NULL)
|
|
|
|
TESTS_progs += testdisplay
|
|
|
|
common_files = \
|
|
eviction_common.c \
|
|
$(NULL)
|