diff options
author | Samuel Pitoiset <[email protected]> | 2019-10-14 11:27:32 +0200 |
---|---|---|
committer | Samuel Pitoiset <[email protected]> | 2019-10-18 16:55:58 +0200 |
commit | 7c50214aab0b590059fea15e4b7550cfa99855c2 (patch) | |
tree | fabebac160fea7a5b9daf582a47490a5aa972318 /src/amd/vulkan/radv_shader.c | |
parent | 2c2aaf275c1edba38c552ac74de4d46bb2ebfbe8 (diff) |
radv: implement VK_KHR_shader_float_controls
This exposes what's required for DX and this is what we already
configure. The driver flushes denorms for FP32 and preserves them
for FP16/FP64. Note that we can't allow both preserving and
flushing denorms because this won't work for merged shaders. This
will require LLVM to update the float mode register to make it work.
Only enabled on GFX8+ with the LLVM path because it's untested on
previous chips and ACO doesn't support it.
This extension is required for SPIRV 1.4.
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src/amd/vulkan/radv_shader.c')
-rw-r--r-- | src/amd/vulkan/radv_shader.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 91e22c9d68f..5f962ed160b 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -344,6 +344,7 @@ radv_shader_compile_to_nir(struct radv_device *device, .descriptor_indexing = true, .device_group = true, .draw_parameters = true, + .float_controls = true, .float16 = !device->physical_device->use_aco, .float64 = true, .geometry_streams = true, |