mesa/src/amd
Samuel Pitoiset 3fb4adae83 radv: do not sync CP DMA when copying buffers
We already track if the DMA engine is busy/idle with a flag,
and we emit a packet that waits for all CP DMA operations
to be complete. This is done at end of command buffer because
the kernel doesn't wait for them, and also when emitting
barriers, so it should be safe.

This improves small copies for both aligned and unaligned sizes.

Aligned sizes:
BEFORE:
1 KB: 59.840000 ms
2 KB: 71.200000 ms
AFTER:
1 KB: 31.200000 ms
2 KB: 31.040000 ms

Unaligned sizes:
BEFORE:
2 KB: 68.3200 ms
3 KB: 79.3600 ms
5 KB: 76.6400 ms
9 KB: 90.8800 ms
17 KB: 116.0000 ms
AFTER:
2 KB: 31.0400 ms
3 KB: 32.0000 ms
5 KB: 30.8800 ms
9 KB: 30.5600 ms
17 KB: 29.6000 ms

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
2018-09-28 09:08:52 +02:00
..
addrlib amd/addrlib: Fix include path for c99_compat.h 2018-08-22 14:39:02 -07:00
common radv: do not use the availability bit for timestamp queries 2018-09-28 09:08:03 +02:00
vulkan radv: do not sync CP DMA when copying buffers 2018-09-28 09:08:52 +02:00
Android.addrlib.mk amd: remove always-true BRAHMA_BUILD define 2017-12-01 13:49:42 +00:00
Android.common.mk Android: fix undeclared identifier 'gfx9d_reg_table' 2017-09-11 09:35:23 -05:00
Android.mk android: radv: build vulkan.radv conditionally to radeonsi 2018-08-03 20:09:16 +02:00
Makefile.addrlib.am amd/addrlib: mark returnCode as MAYBE_UNUSED in ElemGetExportNorm 2018-08-22 14:33:21 -04:00
Makefile.am autotools: include meson build files in tarball 2018-01-19 16:30:51 -08:00
Makefile.common.am Revert "configure: allow building with python3" 2018-08-24 11:14:15 +01:00
Makefile.sources ac/nir: Use lower_vote_eq_to_ballot instead of ac_nir_lower_subgroups 2018-03-13 13:25:27 -07:00
meson.build meson: build "radv" vulkan driver for radeon hardware 2017-09-27 09:12:34 -07:00