aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/shader_recompiler/ir_opt
diff options
context:
space:
mode:
authorLiam <[email protected]>2022-04-01 11:17:54 -0400
committerLiam <[email protected]>2022-04-01 11:17:54 -0400
commita45baa0e786148f41394fc819108649d8eb6ba3a (patch)
treef8ac1c5f1ebd2a02662c65affe96deb504d666ea /src/shader_recompiler/ir_opt
parent8e9d253687c2159dd9532e3a057fb312ce7b3c3b (diff)
downloadyuzu-mainline-a45baa0e786148f41394fc819108649d8eb6ba3a.tar.gz
yuzu-mainline-a45baa0e786148f41394fc819108649d8eb6ba3a.zip
shader_recompiler: support const buffer indirect addressing on OpenGL SPIR-V
Diffstat (limited to 'src/shader_recompiler/ir_opt')
-rw-r--r--src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
index 0b2c60842..16278faab 100644
--- a/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
+++ b/src/shader_recompiler/ir_opt/collect_shader_info_pass.cpp
@@ -32,13 +32,8 @@ void AddConstantBufferDescriptor(Info& info, u32 index, u32 count) {
void AddRegisterIndexedLdc(Info& info) {
info.uses_cbuf_indirect = true;
- // The shader can use any possible constant buffer
- info.constant_buffer_mask = (1 << Info::MAX_CBUFS) - 1;
-
- auto& cbufs{info.constant_buffer_descriptors};
- cbufs.clear();
- for (u32 i = 0; i < Info::MAX_CBUFS; i++) {
- cbufs.push_back(ConstantBufferDescriptor{.index = i, .count = 1});
+ for (u32 i = 0; i < Info::MAX_INDIRECT_CBUFS; i++) {
+ AddConstantBufferDescriptor(info, i, 1);
// The shader can use any possible access size
info.constant_buffer_used_sizes[i] = 0x10'000;