diff options
| author | Subv <subv2112@gmail.com> | 2018-06-06 23:54:25 -0500 |
|---|---|---|
| committer | Subv <subv2112@gmail.com> | 2018-07-03 16:56:44 -0500 |
| commit | be51120d237cb551fae90fbfaebda41669c40403 (patch) | |
| tree | 37e4ec442f159f6c63ee6db560e4ff23df44bad1 /src/video_core/engines/maxwell_3d.cpp | |
| parent | 827bb08c91086e0e24edb82df79c9ed860baf836 (diff) | |
GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.
Diffstat (limited to 'src/video_core/engines/maxwell_3d.cpp')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp index 93c43c8cb..78f1c0ea7 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,12 @@ bool Maxwell3D::IsShaderStageEnabled(Regs::ShaderStage stage) const { UNREACHABLE(); } +void Maxwell3D::ProcessClearBuffers() { + ASSERT(regs.clear_buffers.R && regs.clear_buffers.G && regs.clear_buffers.B && + regs.clear_buffers.A); + + VideoCore::g_renderer->Rasterizer()->Clear(); +} + } // namespace Engines } // namespace Tegra |
