diff options
author | Bas Nieuwenhuizen <[email protected]> | 2019-08-04 01:29:53 +0200 |
---|---|---|
committer | Bas Nieuwenhuizen <[email protected]> | 2019-08-12 13:32:18 +0000 |
commit | ba8d3c362bf01640df9579ba65b32c1582d1ceea (patch) | |
tree | 05595055b93d4850fc70346ad42081752ea782c7 /src/amd | |
parent | 035406ecf78a07e2b05fd2bec29725f83187828c (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.c | 5 |
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; |