ntel-gpu-tools/tests/Makefile.sources
Tiago Vignatti f1d37d3a84 prime_mmap_kms: show case dma-buf new API and processes restrictions
dma-buf new API consists of:

- mmap(dma_buf_fd, ...): the ability to map a dma-buf file-descriptor of a
graphics buffer to the userspace, and more importantly, to actually write on
the mapped pointer (which was not possible before). It’s worth noting that the
Direct Rendering Manager (DRM) and the hardware driver implementation are
fundamentally important to safely export the graphics handle to be mapped.

- ioctl(dma_buf_fd, DMA_BUF_IOCTL_SYNC, &args): cache coherency management in
cases where the CPU and GPU devices are being accessed through dma-buf at the
same time. Coherency markers, which forward directly to existing dma-buf
device drivers vfunc hooks, are exposed to the userspace through the
DMA_BUF_IOCTL_SYNC ioctl and have to be used before and after the mapped area
is accessed. This is fundamentally important in hardware architectures where
the graphics engine and the CPU cores don't share caches but also important in
other type of hardware where the memory hierarchy is (most of the time)
coherent. More details can be found in this patch set:

http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c11e391da2a8fe973c3c2398452000bed505851e

v2: use uint32_t for color type, increment the variable and add
--interactive-debug=paint
v3: use igt_display_commit() to mode set the crtc so the rectangle is shown
painted; also added Testcase description on the beginning of the file.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2016-05-05 19:19:46 -03:00

295 lines
5.8 KiB
Makefile

NOUVEAU_TESTS_M = \
prime_nv_api \
prime_nv_pcopy \
prime_nv_test \
$(NULL)
VC4_TESTS_M = \
vc4_create_bo \
vc4_wait_bo \
vc4_wait_seqno \
$(NULL)
TESTS_progs_M = \
core_get_client_auth \
drv_getparams_basic \
drv_suspend \
drv_hangman \
gem_bad_reloc \
gem_basic \
gem_busy \
gem_caching \
gem_close_race \
gem_create \
gem_cs_tlb \
gem_ctx_bad_exec \
gem_ctx_exec \
gem_ctx_param \
gem_eio \
gem_evict_alignment \
gem_evict_everything \
gem_exec_alignment \
gem_exec_bad_domains \
gem_exec_basic \
gem_exec_create \
gem_exec_faulting_reloc \
gem_exec_flush \
gem_exec_nop \
gem_exec_parallel \
gem_exec_params \
gem_exec_parse \
gem_exec_store \
gem_exec_suspend \
gem_exec_reloc \
gem_exec_whisper \
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_shrink \
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_chv_cursor_fail \
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_color \
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_mmap \
prime_mmap_coherency \
prime_mmap_kms \
prime_self_import \
template \
$(NULL)
TESTS_progs_XM = \
gem_concurrent_blit \
gem_concurrent_all \
$(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_switch \
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_mocs_settings \
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_seqno_wrap \
gem_set_tiling_vs_gtt \
gem_set_tiling_vs_pwrite \
gem_storedw_loop \
gem_sync \
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_mmap_write_crc \
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 contains testcases with lots of subtests.
# It was split from multi_kernel_tests because of the overhead of listing all
# the subtests in piglit
extra_multi_kernel_tests = \
$(TESTS_progs_XM) \
$(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)
kernel_tests_full = \
$(single_kernel_tests) \
$(multi_kernel_tests) \
$(extra_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)