ntel-gpu-tools/tests/Makefile.sources
Vinay Belgaumkar be2d5188f6 tests/gem_softpin: New tests for softpin feature
These tests exercise the userptr ioctl to create shared buffers
between CPU and GPU. They contain error and normal usage scenarios.
They also contain a couple of stress tests which copy buffers between
CPU and GPU. These tests rely on the softpin patch in order to pin buffers
to a certain VA.

Caveat: These tests were designed to run on 64-bit system. Future work
includes adding logic to ensure these tests can run on 32-bit systems with
PPGTT support. Some tests are currently disabled for 32-bit systems for that
reason.

v2: Added cc and signed-off-by fields

v3: Fixed review comments, added helper functions. Removed userptr error
scenarios covered by existing userptr tests. Modified stress test to have
100K buffers, it now runs for ~30 mins, checks every element has been written
to correctly, and pins buffers at different VMAs.

v4: Changed name to gem_softpin

v5: More fixes. Removed the file based tests, will move them to userptr tests.
Added a function that validates appropriate PPGTT support before running tests.
Optimized stack space and memory footprint in stress test. Removed the eviction
test, will add it back after verifying proper functionality.

v6: Split basic test into userptr and bo
Fixed some coding style issues.

v7: Enhanced invalid vma pinning test to verify 32-bit PPGTT functionality.
Enabled the test for 32-bit PPGTT systems, and verify pinning fails above
32-bit addresses. Enhanced the high adress pinning test to ensure pinning
fails when EXEC_OBJECT_PINNED flag is not used. Some more cosmetic fixes to
close buffer handles. Changed userptr function to used synchronized operations.

v8: Minor change to high address pinning test as per comment.

v9: Skip the tests if softpin support is not present.

v10: Removed trailing white spaces.

v11: Keep alphabetical order in Makefile and gitignore; update error code
returned while trying to pin above the max vm size (EINVAL); test attempt
to pin above 4GB without the support 48b flag.

Cc: Michel Thierry <michel.thierry@intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Signed-off-by: Michel Thierry <michel.thierry@intel.com> (v11)
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2015-12-09 10:27:12 +00:00

254 lines
5.1 KiB
Makefile

NOUVEAU_TESTS_M = \
prime_nv_api \
prime_nv_pcopy \
prime_nv_test \
$(NULL)
TESTS_progs_M = \
core_get_client_auth \
drv_getparams_basic \
drv_suspend \
drv_hangman \
gem_bad_reloc \
gem_basic \
gem_caching \
gem_close_race \
gem_concurrent_blit \
gem_concurrent_all \
gem_create \
gem_cs_tlb \
gem_ctx_param_basic \
gem_ctx_bad_exec \
gem_ctx_exec \
gem_dummy_reloc_loop \
gem_eio \
gem_evict_alignment \
gem_evict_everything \
gem_exec_alignment \
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_basic \
gem_flink_race \
gem_linear_blits \
gem_madvise \
gem_mmap \
gem_mmap_gtt \
gem_mmap_wc \
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_pwrite_snooped \
gem_readwrite \
gem_read_read_speed \
gem_reloc_overflow \
gem_reloc_vs_gpu \
gem_render_copy_redux \
gem_request_retire \
gem_reset_stats \
gem_ringfill \
gem_set_tiling_vs_blt \
gem_softpin \
gem_stolen \
gem_storedw_batches_loop \
gem_streaming_writes \
gem_tiled_blits \
gem_tiled_partial_pwrite_pread \
gem_userptr_blits \
gem_write_read_ring_switch \
kms_addfb_basic \
kms_atomic \
kms_cursor_crc \
kms_draw_crc \
kms_fbc_crc \
kms_fbcon_fbt \
kms_flip \
kms_flip_event_leak \
kms_flip_tiling \
kms_frontbuffer_tracking \
kms_legacy_colorkey \
kms_mmio_vs_cs_flip \
kms_pipe_b_c_ivb \
kms_pipe_crc_basic \
kms_plane \
kms_psr_sink_crc \
kms_render \
kms_rotation_crc \
kms_setmode \
kms_universal_plane \
kms_vblank \
kms_crtc_background_color \
kms_plane_scaling \
kms_panel_fitting \
pm_backlight \
pm_lpsp \
pm_rpm \
pm_rps \
pm_rc6_residency \
pm_sseu \
prime_self_import \
template \
$(NULL)
TESTS_progs = \
core_auth \
core_getclient \
core_getstats \
core_getversion \
core_prop_blob \
core_setmaster_vs_auth \
drm_import_export \
drm_read \
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_ctx_thrash \
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_gpgpu_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 \
gem_threaded_access_tiled \
gem_tiled_fence_blits \
gem_tiled_pread_basic \
gem_tiled_pread_pwrite \
gem_tiled_swapping \
gem_tiled_wb \
gem_tiled_wc \
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_basic \
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_basic \
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)