summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/backend/glsl/emit_context.cpp
diff options
context:
space:
mode:
authorGravatar ameerj2021-05-22 23:03:27 -0400
committerGravatar ameerj2021-07-22 21:51:36 -0400
commitac7b0ebcb77f6c99d054e9d10412e669eefa0de6 (patch)
tree322952f22d0c1cac6c4ae6423e73aeb124403498 /src/shader_recompiler/backend/glsl/emit_context.cpp
parentglsl: FP function fixes (diff)
downloadyuzu-ac7b0ebcb77f6c99d054e9d10412e669eefa0de6.tar.gz
yuzu-ac7b0ebcb77f6c99d054e9d10412e669eefa0de6.tar.xz
yuzu-ac7b0ebcb77f6c99d054e9d10412e669eefa0de6.zip
glsl: More FP fixes
Diffstat (limited to 'src/shader_recompiler/backend/glsl/emit_context.cpp')
-rw-r--r--src/shader_recompiler/backend/glsl/emit_context.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/shader_recompiler/backend/glsl/emit_context.cpp b/src/shader_recompiler/backend/glsl/emit_context.cpp
index da379360a..67772c46d 100644
--- a/src/shader_recompiler/backend/glsl/emit_context.cpp
+++ b/src/shader_recompiler/backend/glsl/emit_context.cpp
@@ -48,11 +48,16 @@ void EmitContext::DefineStorageBuffers() {
48 } 48 }
49 u32 binding{}; 49 u32 binding{};
50 for (const auto& desc : info.storage_buffers_descriptors) { 50 for (const auto& desc : info.storage_buffers_descriptors) {
51 Add("layout(std430,binding={}) buffer ssbo_{}_u32{{uint ssbo{}_u32[];}};", binding, binding, 51 if (True(info.used_storage_buffer_types & IR::Type::U32) ||
52 desc.cbuf_index, desc.count); 52 True(info.used_storage_buffer_types & IR::Type::F32)) {
53 // TODO: Track ssbo data type usage 53 Add("layout(std430,binding={}) buffer ssbo_{}_u32{{uint ssbo{}_u32[];}};", binding,
54 Add("layout(std430,binding={}) buffer ssbo_{}_u64{{uvec2 ssbo{}_u64[];}};", binding, 54 binding, desc.cbuf_index, desc.count);
55 binding, desc.cbuf_index, desc.count); 55 }
56 if (True(info.used_storage_buffer_types & IR::Type::U32x2) ||
57 True(info.used_storage_buffer_types & IR::Type::F32x2)) {
58 Add("layout(std430,binding={}) buffer ssbo_{}_u64{{uvec2 ssbo{}_u64[];}};", binding,
59 binding, desc.cbuf_index, desc.count);
60 }
56 ++binding; 61 ++binding;
57 } 62 }
58} 63}