summaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
authorBas Nieuwenhuizen <[email protected]>2019-08-04 01:29:53 +0200
committerBas Nieuwenhuizen <[email protected]>2019-08-12 13:32:18 +0000
commitba8d3c362bf01640df9579ba65b32c1582d1ceea (patch)
tree05595055b93d4850fc70346ad42081752ea782c7 /src/amd
parent035406ecf78a07e2b05fd2bec29725f83187828c (diff)
radv: Properly use Wave64 for non-NGG GS and copy shader.
Fixes: 8a86908e9a7 "radv/gfx10: add Wave32 support for vertex, tessellation and geometry shaders" Reviewed-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/vulkan/radv_shader.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c
index ed62bf80543..c74bfa2e281 100644
--- a/src/amd/vulkan/radv_shader.c
+++ b/src/amd/vulkan/radv_shader.c
@@ -1127,7 +1127,10 @@ shader_variant_compile(struct radv_device *device,
options->tess_offchip_block_dw_size = device->tess_offchip_block_dw_size;
options->address32_hi = device->physical_device->rad_info.address32_hi;
- if (stage == MESA_SHADER_COMPUTE)
+ if ((stage == MESA_SHADER_GEOMETRY && !options->key.vs_common_out.as_ngg) ||
+ gs_copy_shader)
+ options->wave_size = 64;
+ else if (stage == MESA_SHADER_COMPUTE)
options->wave_size = device->physical_device->cs_wave_size;
else if (stage == MESA_SHADER_FRAGMENT)
options->wave_size = device->physical_device->ps_wave_size;