mesa/src/amd/vulkan
Alex Smith fe0ec41c4d radv: Change memory type order for GPUs without dedicated VRAM
Put the uncached GTT type at a higher index than the visible VRAM type,
rather than having GTT first.

When we don't have dedicated VRAM, we don't have a non-visible VRAM
type, and the property flags for GTT and visible VRAM are identical.
According to the spec, for types with identical flags, we should give
the one with better performance a lower index.

Previously, apps which follow the spec guidance for choosing a memory
type would have picked the GTT type in preference to visible VRAM (all
Feral games will do this), and end up with lower performance.

On a Ryzen 5 2500U laptop (Raven Ridge), this improves average FPS in
the Rise of the Tomb Raider benchmark by up to ~30%. Tested a couple of
other (Feral) games and saw similar improvement on those as well.

Signed-off-by: Alex Smith <asmith@feralinteractive.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Cc: 19.2 <mesa-stable@lists.freedesktop.org>
(Bas: CCing this to 19.2-rc due to high impact and limited complexity)
2019-08-24 17:37:47 +02:00
..
winsys/amdgpu tree-wide: replace MAYBE_UNUSED with ASSERTED 2019-07-31 09:41:05 +01:00
.editorconfig
Android.mk android: radv/gfx10: generate gfx10_format_table.h 2019-07-16 21:31:24 +02:00
gfx10_format_table.py radv/gfx10: hardcode some depth+stencil formats in the format table 2019-08-21 08:17:40 +02:00
Makefile.sources android: radv/gfx10: generate gfx10_format_table.h 2019-07-16 21:31:24 +02:00
meson.build meson: replace last uses of libxmlconfig with idep_xmlconfig 2019-08-03 00:08:37 +00:00
radv_android.c radv: Use bo metadata for imported image tiling on Android. 2019-06-04 18:32:45 +00:00
radv_cmd_buffer.c radv: Do not setup attachments without a framebuffer. 2019-08-12 17:19:24 +02:00
radv_constants.h radv: Don't include radv_private.h from radv_shader.h 2019-07-30 10:29:11 +02:00
radv_cs.h radv: Fix config reg assert. 2019-08-07 08:58:23 +10:00
radv_debug.c radv: Use string for nir dumping. 2019-08-12 23:00:24 +02:00
radv_debug.h radv: add RADV_DEBUG=allentrypoints 2019-08-21 17:47:35 +00:00
radv_descriptor_set.c radv: Fix descriptor set allocation failure. 2019-07-30 22:33:24 +02:00
radv_descriptor_set.h radv: Don't include radv_private.h from radv_shader.h 2019-07-30 10:29:11 +02:00
radv_device.c radv: Change memory type order for GPUs without dedicated VRAM 2019-08-24 17:37:47 +02:00
radv_entrypoints_gen.py radv: Add support for icd loader interface v4. 2019-05-13 00:41:31 +02:00
radv_extensions.py ac,radv,radeonsi: remove LLVM 7 support 2019-08-23 08:12:34 +02:00
radv_formats.c radv/gfx10: fix maximum number of mip levels for 3D images 2019-07-11 14:44:47 +02:00
radv_icd.py python: Specify the JSON separators 2018-07-05 12:52:38 +01:00
radv_image.c Revert "radv/gfx10: Enable DCC for storage images." 2019-08-16 01:22:54 +02:00
radv_llvm_helper.cpp radv/gfx10: use the correct target machine for Wave32 2019-08-02 09:37:38 +02:00
radv_meta.c radv: Only save the descriptor set if we have one. 2019-07-18 00:49:43 +02:00
radv_meta.h radv: make sure to mark the image as compressed when clearing DCC levels 2019-07-01 14:58:56 +02:00
radv_meta_blit.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_meta_blit2d.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_meta_buffer.c radv: rename and re-document cache flush flags 2019-06-25 18:38:37 +02:00
radv_meta_bufimage.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_meta_clear.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_meta_copy.c radv: Add device argument for dcc compression check. 2019-08-07 02:13:07 +02:00
radv_meta_decompress.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_meta_fast_clear.c radv: Disable compression for compute DCC decompress store. 2019-08-07 02:13:07 +02:00
radv_meta_fmask_expand.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_meta_resolve.c radv: Add device argument for dcc compression check. 2019-08-07 02:13:07 +02:00
radv_meta_resolve_cs.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_meta_resolve_fs.c radv: Add extra struct to image view creation. 2019-08-07 02:13:07 +02:00
radv_nir_lower_ycbcr_textures.c radv: Implement cosited_even sampling. 2019-05-06 11:09:30 +00:00
radv_nir_to_llvm.c ac,radv,radeonsi: remove LLVM 7 support 2019-08-23 08:12:34 +02:00
radv_pass.c radv: Add render loop detection in renderpass. 2019-08-07 02:13:07 +02:00
radv_pipeline.c radv/gfx10: do not use NGG with NAVI14 2019-08-23 09:54:08 +02:00
radv_pipeline_cache.c radv: Keep shader info when needed. 2019-08-12 23:00:24 +02:00
radv_private.h radv: Hash Wave32 settings in shader key. 2019-08-12 13:32:18 +00:00
radv_query.c radv: additional query fixes 2019-08-17 05:53:51 -04:00
radv_radeon_winsys.h radv: Clean up signalled and submitted fields from winsys fences. 2019-05-13 20:36:29 +00:00
radv_shader.c ac,radv,radeonsi: remove LLVM 7 support 2019-08-23 08:12:34 +02:00
radv_shader.h radv: Keep shader info when needed. 2019-08-12 23:00:24 +02:00
radv_shader_helper.h radv/gfx10: use the correct target machine for Wave32 2019-08-02 09:37:38 +02:00
radv_shader_info.c nir: Add explicit signs to image min/max intrinsics 2019-08-21 17:19:55 +00:00
radv_util.c radv: Add startup debug option. 2018-05-31 11:51:23 +02:00
radv_util.h
radv_wsi.c radv: Clean up signalled and submitted fields from winsys fences. 2019-05-13 20:36:29 +00:00
radv_wsi_display.c radv: Clean up signalled and submitted fields from winsys fences. 2019-05-13 20:36:29 +00:00
radv_wsi_wayland.c
radv_wsi_x11.c vulkan: drop always-true param 2018-10-26 18:33:11 +01:00
si_cmd_buffer.c radv/gfx10: don't initialize VGT_INSTANCE_STEP_RATE_0 2019-08-23 09:54:06 +02:00
vk_format.h radv: Add logic for multisample format descriptions. 2019-04-25 19:56:20 +00:00
vk_format_layout.csv radv: Add ycbcr subsampled & multiplane formats to csv. 2019-04-25 19:56:20 +00:00
vk_format_parse.py radv: Add logic for multisample format descriptions. 2019-04-25 19:56:20 +00:00
vk_format_table.py radv: Add logic for multisample format descriptions. 2019-04-25 19:56:20 +00:00