mesa/src/amd/vulkan
Bas Nieuwenhuizen 6914d5a2c0 radv: Implement alternate GFX9 scissor workaround.
This improves dota2 performance for me by 11% when I force the
GPU DPM level to low (otherwise dota2 is CPU limited for 4k on my
threadripper), which should be a large part of the radv-amdvlk gap.
(For me with that was radv 60.3 -> 66.6, while AMDVLK does about 68
fps)

It looks like dota2 rendered the GUI with a bunch of draws with
a SetScissors before almost each draw, causing a lot of pipeline
stalls.

I'm not really happy with the duplication of code, but overriding
radeon_set_context_reg would also be messy since we have the
pre-recorded pipelines and a bunch of si_cmd_buffer code, as well
as some memory->context reg loads for which things would be more
complicated.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2018-05-28 12:04:25 +02:00
..
winsys/amdgpu radv/winsys: allow to allocate BOs in the 32-bit addr space 2018-05-22 15:53:13 +02:00
.editorconfig amd: add .editorconfig 2017-08-29 01:08:58 +03:00
.gitignore radv: add generated files to .gitignore(s) 2018-05-15 22:53:55 +02:00
Makefile.am vulkan: Drop vk_android_native_buffer.xml 2018-04-10 19:29:49 -07:00
Makefile.sources radv: autotools: add radv_extensions.h in the generated VULKAN list 2018-03-22 18:25:39 +01:00
meson.build vulkan: Drop vk_android_native_buffer.xml 2018-04-10 19:29:49 -07:00
radv_android.c vulkan: fix build issue on android (both anv/radv) 2018-04-11 13:55:49 +03:00
radv_cmd_buffer.c radv: Implement alternate GFX9 scissor workaround. 2018-05-28 12:04:25 +02:00
radv_cs.h amd: move r600d_common.h into r600g 2017-10-09 16:27:06 +02:00
radv_debug.c radv: fix dumping compute shader on the graphics queue 2018-05-25 11:58:07 +02:00
radv_debug.h radv: allow to print GPU info with RADV_DEBUG=info 2018-05-17 14:14:17 +02:00
radv_descriptor_set.c radv: allocate descriptor BOs in the 32-bit addr space 2018-05-22 15:53:18 +02:00
radv_descriptor_set.h Revert "radv: Don't store buffer references in the descriptor set." 2018-04-20 16:18:13 +02:00
radv_device.c radv: add support for 32-bit pointers in user data SGPRs 2018-05-22 15:53:22 +02:00
radv_entrypoints_gen.py radv: assorted typo fixes 2018-05-10 11:50:46 +03:00
radv_extensions.py radv: mark const structs as extern in header file to avoid lto damage 2018-04-23 05:55:22 +10:00
radv_formats.c radv: Disable texel buffers with A2 SNORM/SSCALED/SINT for pre-vega. 2018-05-14 18:58:30 +02:00
radv_icd.py radv: Generate icd files. 2018-03-09 07:53:39 +01:00
radv_image.c ac/surface: add EQAA support 2018-05-10 18:34:31 -04:00
radv_meta.c radv: use separate bindings for graphics and compute descriptors 2018-02-01 09:37:09 +01:00
radv_meta.h radv: Cleanup unused prime blit path. 2018-05-21 10:33:41 +02:00
radv_meta_blit.c radv: Make color meta operations layout aware. 2017-12-29 12:21:44 +01:00
radv_meta_blit2d.c radv: fix multisample image copies 2018-05-02 19:32:00 +02:00
radv_meta_buffer.c radv: only emit cache flushes when the pool size is large enough 2018-03-01 09:53:40 +01:00
radv_meta_bufimage.c nir: Rename image intrinsics to image_var 2018-03-23 13:48:11 +11:00
radv_meta_clear.c radv: add a workaround for fast clears with DCC and MSAA textures 2018-04-19 09:10:50 +02:00
radv_meta_copy.c radv: Cleanup unused prime blit path. 2018-05-21 10:33:41 +02:00
radv_meta_decompress.c radv: add radv_image_has_{cmask,fmask,dcc,htile}() helpers 2018-04-09 11:21:10 +02:00
radv_meta_fast_clear.c radv: disable prediction only if it has been enabled 2018-04-16 14:20:39 +02:00
radv_meta_resolve.c radv: use compute path for multi-layer images. 2018-05-14 08:57:54 +10:00
radv_meta_resolve_cs.c radv: resolve all layers in compute resolve path. 2018-05-14 08:57:27 +10:00
radv_meta_resolve_fs.c radv: decompress DCC for multisampled source images before resolving 2018-04-19 09:10:52 +02:00
radv_nir_to_llvm.c radv: run the EarlyCSEMemSSA LLVM pass 2018-05-25 14:24:14 +02:00
radv_pass.c radv: compute the number of subpass attachments correctly 2018-05-01 22:18:03 +02:00
radv_pipeline.c radv: Fix up 2_10_10_10 alpha sign. 2018-05-14 18:58:20 +02:00
radv_pipeline_cache.c ac/nir: move ac_shader_variant_info and friends to radv folder 2018-03-13 16:54:16 +01:00
radv_private.h radv: add support for 32-bit pointers in user data SGPRs 2018-05-22 15:53:22 +02:00
radv_query.c radv: Fix multiview queries. 2018-05-14 16:49:06 +02:00
radv_radeon_winsys.h radv/winsys: allow to allocate BOs in the 32-bit addr space 2018-05-22 15:53:13 +02:00
radv_shader.c radv: call nir_lower_io_to_temporaries for VS, GS, TES and FS 2018-05-24 09:18:57 +02:00
radv_shader.h radv: set amdgpu-32bit-address-high-bits LLVM attribute 2018-05-22 15:53:15 +02:00
radv_shader_info.c radv: scan the geometry shader output usage mask 2018-05-14 21:38:21 +02:00
radv_util.c radv: use enum_to_str util functions. 2017-03-04 15:05:14 +00:00
radv_util.h radv: Use proper header guards over 'pragma once' directives 2016-10-10 16:10:56 +11:00
radv_wsi.c radv: Add trivial device group implementation. 2018-03-07 21:18:35 +01:00
radv_wsi_wayland.c radv/wsi: Don't include wayland headers 2017-03-13 11:16:30 +00:00
radv_wsi_x11.c vulkan/wsi/radv: add initial prime support (v1.1) 2017-02-27 05:42:16 +10:00
si_cmd_buffer.c ac/radv/radeonsi: refactor harvest config register getters. 2018-04-24 09:08:34 +10:00
vk_format.h radv: Fix SRGB compute copies. 2018-05-21 10:33:41 +02:00
vk_format_layout.csv radv: add initial non-conformant radv vulkan driver 2016-10-07 09:16:09 +10:00
vk_format_parse.py amd: remove shebang from python scripts 2017-03-10 14:12:46 +00:00
vk_format_table.py radv: make vk_format_description structures static 2018-03-17 18:53:21 +02:00