summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar Rodrigo Locatti2020-03-13 16:44:06 -0300
committerGravatar GitHub2020-03-13 16:44:06 -0300
commit244fe132199cb3c67dd9e612d2be856895f8a868 (patch)
treed0f968d06b2bbc6e378a5a0632cd2d6322fe4e6d /src/video_core/engines
parentgl_shader_decompiler: Initialize gl_Position on vertex shaders (diff)
parentMerge pull request #3491 from ReinUsesLisp/polygon-modes (diff)
downloadyuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.gz
yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.xz
yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.zip
Merge branch 'master' into shader-purge
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/maxwell_3d.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 7000b0589..8752a1cfb 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -525,6 +525,12 @@ public:
525 FractionalEven = 2, 525 FractionalEven = 2,
526 }; 526 };
527 527
528 enum class PolygonMode : u32 {
529 Point = 0x1b00,
530 Line = 0x1b01,
531 Fill = 0x1b02,
532 };
533
528 struct RenderTargetConfig { 534 struct RenderTargetConfig {
529 u32 address_high; 535 u32 address_high;
530 u32 address_low; 536 u32 address_low;
@@ -728,7 +734,12 @@ public:
728 734
729 s32 clear_stencil; 735 s32 clear_stencil;
730 736
731 INSERT_UNION_PADDING_WORDS(0x7); 737 INSERT_UNION_PADDING_WORDS(0x2);
738
739 PolygonMode polygon_mode_front;
740 PolygonMode polygon_mode_back;
741
742 INSERT_UNION_PADDING_WORDS(0x3);
732 743
733 u32 polygon_offset_point_enable; 744 u32 polygon_offset_point_enable;
734 u32 polygon_offset_line_enable; 745 u32 polygon_offset_line_enable;
@@ -787,7 +798,11 @@ public:
787 BitField<12, 4, u32> viewport; 798 BitField<12, 4, u32> viewport;
788 } clear_flags; 799 } clear_flags;
789 800
790 INSERT_UNION_PADDING_WORDS(0x19); 801 INSERT_UNION_PADDING_WORDS(0x10);
802
803 u32 fill_rectangle;
804
805 INSERT_UNION_PADDING_WORDS(0x8);
791 806
792 std::array<VertexAttribute, NumVertexAttributes> vertex_attrib_format; 807 std::array<VertexAttribute, NumVertexAttributes> vertex_attrib_format;
793 808
@@ -1451,6 +1466,8 @@ ASSERT_REG_POSITION(depth_mode, 0x35F);
1451ASSERT_REG_POSITION(clear_color[0], 0x360); 1466ASSERT_REG_POSITION(clear_color[0], 0x360);
1452ASSERT_REG_POSITION(clear_depth, 0x364); 1467ASSERT_REG_POSITION(clear_depth, 0x364);
1453ASSERT_REG_POSITION(clear_stencil, 0x368); 1468ASSERT_REG_POSITION(clear_stencil, 0x368);
1469ASSERT_REG_POSITION(polygon_mode_front, 0x36B);
1470ASSERT_REG_POSITION(polygon_mode_back, 0x36C);
1454ASSERT_REG_POSITION(polygon_offset_point_enable, 0x370); 1471ASSERT_REG_POSITION(polygon_offset_point_enable, 0x370);
1455ASSERT_REG_POSITION(polygon_offset_line_enable, 0x371); 1472ASSERT_REG_POSITION(polygon_offset_line_enable, 0x371);
1456ASSERT_REG_POSITION(polygon_offset_fill_enable, 0x372); 1473ASSERT_REG_POSITION(polygon_offset_fill_enable, 0x372);
@@ -1464,6 +1481,7 @@ ASSERT_REG_POSITION(rt_separate_frag_data, 0x3EB);
1464ASSERT_REG_POSITION(depth_bounds, 0x3E7); 1481ASSERT_REG_POSITION(depth_bounds, 0x3E7);
1465ASSERT_REG_POSITION(zeta, 0x3F8); 1482ASSERT_REG_POSITION(zeta, 0x3F8);
1466ASSERT_REG_POSITION(clear_flags, 0x43E); 1483ASSERT_REG_POSITION(clear_flags, 0x43E);
1484ASSERT_REG_POSITION(fill_rectangle, 0x44F);
1467ASSERT_REG_POSITION(vertex_attrib_format, 0x458); 1485ASSERT_REG_POSITION(vertex_attrib_format, 0x458);
1468ASSERT_REG_POSITION(rt_control, 0x487); 1486ASSERT_REG_POSITION(rt_control, 0x487);
1469ASSERT_REG_POSITION(zeta_width, 0x48a); 1487ASSERT_REG_POSITION(zeta_width, 0x48a);