summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2022-11-17 04:41:40 +0100
committerLiam <byteslice@airmail.cc>2022-11-17 14:31:43 +0100
commit4c42655a2defddcd8faacaaa4e0bf109693b5a9c (patch)
tree5ec83147c52c4542066585c8936c88ef5ab6c51a /src/video_core/engines
parentmaxwell3d: HLE multi-layer clear macro (diff)
downloadyuzu-4c42655a2defddcd8faacaaa4e0bf109693b5a9c.tar
yuzu-4c42655a2defddcd8faacaaa4e0bf109693b5a9c.tar.gz
yuzu-4c42655a2defddcd8faacaaa4e0bf109693b5a9c.tar.bz2
yuzu-4c42655a2defddcd8faacaaa4e0bf109693b5a9c.tar.lz
yuzu-4c42655a2defddcd8faacaaa4e0bf109693b5a9c.tar.xz
yuzu-4c42655a2defddcd8faacaaa4e0bf109693b5a9c.tar.zst
yuzu-4c42655a2defddcd8faacaaa4e0bf109693b5a9c.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/engines/maxwell_3d.cpp6
-rw-r--r--src/video_core/engines/maxwell_3d.h7
2 files changed, 6 insertions, 7 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index d502d181c..5bb1427c1 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -232,7 +232,7 @@ void Maxwell3D::ProcessMethodCall(u32 method, u32 argument, u32 nonshadow_argume
use_topology_override = true;
return;
case MAXWELL3D_REG_INDEX(clear_surface):
- return ProcessClearBuffers();
+ return ProcessClearBuffers(1);
case MAXWELL3D_REG_INDEX(report_semaphore.query):
return ProcessQueryGet();
case MAXWELL3D_REG_INDEX(render_enable.mode):
@@ -596,8 +596,8 @@ u32 Maxwell3D::GetRegisterValue(u32 method) const {
return regs.reg_array[method];
}
-void Maxwell3D::ProcessClearBuffers() {
- rasterizer->Clear();
+void Maxwell3D::ProcessClearBuffers(u32 layer_count) {
+ rasterizer->Clear(layer_count);
}
void Maxwell3D::ProcessDraw(u32 instance_count) {
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index f9cdfbc0b..c3099f9a6 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -1129,7 +1129,6 @@ public:
Tegra::RenderTargetFormat format;
TileMode tile_mode;
union {
- u32 depth_volume;
BitField<0, 16, u32> depth;
BitField<16, 1, u32> volume;
};
@@ -3087,6 +3086,9 @@ public:
std::vector<u8> inline_index_draw_indexes;
+ /// Handles a write to the CLEAR_BUFFERS register.
+ void ProcessClearBuffers(u32 layer_count);
+
private:
void InitializeRegisterDefaults();
@@ -3121,9 +3123,6 @@ private:
/// Handles firmware blob 4
void ProcessFirmwareCall4();
- /// Handles a write to the CLEAR_BUFFERS register.
- void ProcessClearBuffers();
-
/// Handles a write to the QUERY_GET register.
void ProcessQueryGet();