summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines/maxwell_3d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
-rw-r--r--src/video_core/engines/maxwell_3d.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index 9b209a49e..3bca16364 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -126,6 +126,10 @@ void Maxwell3D::WriteReg(u32 method, u32 value, u32 remaining_params) {
DrawArrays();
break;
}
+ case MAXWELL3D_REG_INDEX(clear_buffers): {
+ ProcessClearBuffers();
+ break;
+ }
case MAXWELL3D_REG_INDEX(query.query_get): {
ProcessQueryGet();
break;
@@ -415,5 +419,13 @@ bool Maxwell3D::IsShaderStageEnabled(Regs::ShaderStage stage) const {
UNREACHABLE();
}
+void Maxwell3D::ProcessClearBuffers() {
+ ASSERT(regs.clear_buffers.R == regs.clear_buffers.G &&
+ regs.clear_buffers.R == regs.clear_buffers.B &&
+ regs.clear_buffers.R == regs.clear_buffers.A);
+
+ VideoCore::g_renderer->Rasterizer()->Clear();
+}
+
} // namespace Engines
} // namespace Tegra