aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/engines/maxwell_3d.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-06-06 15:42:20 -0700
committerGitHub <noreply@github.com>2021-06-06 15:42:20 -0700
commitafd0e2eb0b1c4a998cf1d28ad864ee70ac31147f (patch)
treeab65f4ba2c2dfb81b737d65b612467458ea12dbd /src/video_core/engines/maxwell_3d.cpp
parent31dac5d95f0c9ee6dc172476868aa96cb2176806 (diff)
parent859ba21f6db184f7ada03314ed02b42e49eb8149 (diff)
Merge pull request #6400 from ameerj/disable-uniform-simplify
buffer_cache: Simplify uniform disabling logic
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r--src/video_core/engines/maxwell_3d.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index 75517a4f7..aab6b8f7a 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -578,8 +578,12 @@ void Maxwell3D::ProcessCBBind(size_t stage_index) {
buffer.size = regs.const_buffer.cb_size;
const bool is_enabled = bind_data.valid.Value() != 0;
- const GPUVAddr gpu_addr = is_enabled ? regs.const_buffer.BufferAddress() : 0;
- const u32 size = is_enabled ? regs.const_buffer.cb_size : 0;
+ if (!is_enabled) {
+ rasterizer->DisableGraphicsUniformBuffer(stage_index, bind_data.index);
+ return;
+ }
+ const GPUVAddr gpu_addr = regs.const_buffer.BufferAddress();
+ const u32 size = regs.const_buffer.cb_size;
rasterizer->BindGraphicsUniformBuffer(stage_index, bind_data.index, gpu_addr, size);
}