## Prime Tests Prime Tests — Tests for buffer sharding |

## Programs

prime_busy |
prime_mmap |
prime_mmap_coherency |
prime_mmap_kms |
prime_nv_api |
prime_nv_pcopy |
prime_nv_test |
prime_self_import |
prime_udl |
prime_vgem |

## Description

### prime_busy

Basic check of polling for prime fences.

#### Subtests

basic-before-default
basic-wait-before-default
basic-after-default
basic-wait-after-default
hang-default
wait-hang-default
before-render
wait-before-render
after-render
wait-after-render
hang-render
wait-hang-render
before-bsd
wait-before-bsd
after-bsd
wait-after-bsd
hang-bsd
wait-hang-bsd
before-bsd1
wait-before-bsd1
after-bsd1
wait-after-bsd1
hang-bsd1
wait-hang-bsd1
before-bsd2
wait-before-bsd2
after-bsd2
wait-after-bsd2
hang-bsd2
wait-hang-bsd2
before-blt
wait-before-blt
after-blt
wait-after-blt
hang-blt
wait-hang-blt
before-vebox
wait-before-vebox
after-vebox
wait-after-vebox
hang-vebox
wait-hang-vebox

### prime_mmap

#### Subtests

test_correct
test_map_unmap
test_reprime
test_forked
test_correct_cpu_write
test_forked_cpu_write
test_refcounting
test_dup
test_userptr
test_errors
test_invalid_sync_flags
test_aperture_limit

### prime_mmap_coherency

Test dma-buf mmap on !llc platforms mostly and provoke coherency bugs so we know for sure where we need the sync ioctls.

#### Subtests

read
write
ioctl-errors

### prime_mmap_kms

Efficiently sharing CPU and GPU buffers

#### Subtests

buffer-sharing

### prime_nv_api

#### Subtests

i915_nv_import_twice
i915_nv_import_twice_check_flink_name
i915_nv_reimport_twice_check_flink_name
nv_i915_import_twice_check_flink_name
nv_i915_reimport_twice_check_flink_name
i915_nv_import_vs_close
i915_nv_double_import
i915_nv_double_export
i915_self_import
nv_self_import
i915_self_import_to_different_fd
nv_self_import_to_different_fd

### prime_nv_pcopy

#### Subtests

test1_macro
test1_micro
test2
test3_1
test3_2
test3_3
test3_4
test3_5
test_semaphore

### prime_nv_test

#### Subtests

i915_nv_sharing
nv_i915_sharing
nv_write_i915_cpu_mmap_read
nv_write_i915_gtt_mmap_read
i915_import_cpu_mmap
i915_import_gtt_mmap
i915_import_pread_pwrite
i915_blt_fill_nv_read

### prime_self_import

Check whether prime import/export works on the same device... but with different fds.

#### Subtests

basic-with_one_bo
basic-with_one_bo_two_files
basic-with_two_bos
basic-with_fd_dup
export-vs-gem_close-race
reimport-vs-gem_close-race
basic-llseek-size
basic-llseek-bad

### prime_udl

### prime_vgem

Basic check of polling for prime/vgem fences.

#### Subtests

basic-read
basic-write
basic-gtt
coherency-gtt
basic-sync-default
sync-render
sync-bsd
sync-bsd1
sync-bsd2
sync-blt
sync-vebox
basic-busy-default
busy-render
busy-bsd
busy-bsd1
busy-bsd2
busy-blt
busy-vebox
basic-wait-default
wait-render
wait-bsd
wait-bsd1
wait-bsd2
wait-blt
wait-vebox
basic-fence-read
basic-fence-mmap
basic-fence-wait-default
fence-wait-render
fence-wait-bsd
fence-wait-bsd1
fence-wait-bsd2
fence-wait-blt
fence-wait-vebox
basic-fence-flip
fence-read-hang
fence-write-hang
fence-flip-hang