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_info.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_info.c')
-rw-r--r-- | src/amd/vulkan/radv_shader_info.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_shader_info.c b/src/amd/vulkan/radv_shader_info.c index 950b5bd599d..60e0cd22fb0 100644 --- a/src/amd/vulkan/radv_shader_info.c +++ b/src/amd/vulkan/radv_shader_info.c @@ -780,4 +780,5 @@ radv_nir_shader_info_pass(const struct nir_shader *nir, es_info->esgs_itemsize = (max_output_written + 1) * 16; } + info->float_controls_mode = nir->info.float_controls_execution_mode; } |