summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2019-10-09 15:44:30 -0400
committerGravatar GitHub2019-10-09 15:44:30 -0400
commit2ba273e49e71432f04d44e23c65805fda98ebad7 (patch)
treea8a3d755915423105b0b3d8f677730a015448a74 /src
parentMerge pull request #2927 from ReinUsesLisp/polygon-offset-units (diff)
parentmaxwell_3d: Add dirty flags for depth bounds values (diff)
downloadyuzu-2ba273e49e71432f04d44e23c65805fda98ebad7.tar.gz
yuzu-2ba273e49e71432f04d44e23c65805fda98ebad7.tar.xz
yuzu-2ba273e49e71432f04d44e23c65805fda98ebad7.zip
Merge pull request #2928 from ReinUsesLisp/dirty-depth-bounds
maxwell_3d: Add dirty flags for depth bounds values
Diffstat (limited to 'src')
-rw-r--r--src/video_core/engines/maxwell_3d.cpp5
-rw-r--r--src/video_core/engines/maxwell_3d.h6
2 files changed, 10 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.cpp b/src/video_core/engines/maxwell_3d.cpp
index b318aedb8..7802fd808 100644
--- a/src/video_core/engines/maxwell_3d.cpp
+++ b/src/video_core/engines/maxwell_3d.cpp
@@ -249,6 +249,11 @@ void Maxwell3D::InitDirtySettings() {
249 dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_units)] = polygon_offset_dirty_reg; 249 dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_units)] = polygon_offset_dirty_reg;
250 dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_factor)] = polygon_offset_dirty_reg; 250 dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_factor)] = polygon_offset_dirty_reg;
251 dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_clamp)] = polygon_offset_dirty_reg; 251 dirty_pointers[MAXWELL3D_REG_INDEX(polygon_offset_clamp)] = polygon_offset_dirty_reg;
252
253 // Depth bounds
254 constexpr u32 depth_bounds_values_dirty_reg = DIRTY_REGS_POS(depth_bounds_values);
255 dirty_pointers[MAXWELL3D_REG_INDEX(depth_bounds[0])] = depth_bounds_values_dirty_reg;
256 dirty_pointers[MAXWELL3D_REG_INDEX(depth_bounds[1])] = depth_bounds_values_dirty_reg;
252} 257}
253 258
254void Maxwell3D::CallMacroMethod(u32 method, std::size_t num_parameters, const u32* parameters) { 259void Maxwell3D::CallMacroMethod(u32 method, std::size_t num_parameters, const u32* parameters) {
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 4c97759ed..e3f1047d5 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -687,7 +687,9 @@ public:
687 687
688 u32 rt_separate_frag_data; 688 u32 rt_separate_frag_data;
689 689
690 INSERT_PADDING_WORDS(0xC); 690 f32 depth_bounds[2];
691
692 INSERT_PADDING_WORDS(0xA);
691 693
692 struct { 694 struct {
693 u32 address_high; 695 u32 address_high;
@@ -1201,6 +1203,7 @@ public:
1201 bool transform_feedback; 1203 bool transform_feedback;
1202 bool color_mask; 1204 bool color_mask;
1203 bool polygon_offset; 1205 bool polygon_offset;
1206 bool depth_bounds_values;
1204 1207
1205 // Complementary 1208 // Complementary
1206 bool viewport_transform; 1209 bool viewport_transform;
@@ -1400,6 +1403,7 @@ ASSERT_REG_POSITION(stencil_back_mask, 0x3D6);
1400ASSERT_REG_POSITION(stencil_back_func_mask, 0x3D7); 1403ASSERT_REG_POSITION(stencil_back_func_mask, 0x3D7);
1401ASSERT_REG_POSITION(color_mask_common, 0x3E4); 1404ASSERT_REG_POSITION(color_mask_common, 0x3E4);
1402ASSERT_REG_POSITION(rt_separate_frag_data, 0x3EB); 1405ASSERT_REG_POSITION(rt_separate_frag_data, 0x3EB);
1406ASSERT_REG_POSITION(depth_bounds, 0x3EC);
1403ASSERT_REG_POSITION(zeta, 0x3F8); 1407ASSERT_REG_POSITION(zeta, 0x3F8);
1404ASSERT_REG_POSITION(clear_flags, 0x43E); 1408ASSERT_REG_POSITION(clear_flags, 0x43E);
1405ASSERT_REG_POSITION(vertex_attrib_format, 0x458); 1409ASSERT_REG_POSITION(vertex_attrib_format, 0x458);