summaryrefslogtreecommitdiffstats
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorRodrigo Locatti <reinuseslisp@airmail.cc>2020-03-13 20:44:06 +0100
committerGitHub <noreply@github.com>2020-03-13 20:44:06 +0100
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
yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.gz
yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.bz2
yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.lz
yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.xz
yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.tar.zst
yuzu-244fe132199cb3c67dd9e612d2be856895f8a868.zip
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:
FractionalEven = 2,
};
+ enum class PolygonMode : u32 {
+ Point = 0x1b00,
+ Line = 0x1b01,
+ Fill = 0x1b02,
+ };
+
struct RenderTargetConfig {
u32 address_high;
u32 address_low;
@@ -728,7 +734,12 @@ public:
s32 clear_stencil;
- INSERT_UNION_PADDING_WORDS(0x7);
+ INSERT_UNION_PADDING_WORDS(0x2);
+
+ PolygonMode polygon_mode_front;
+ PolygonMode polygon_mode_back;
+
+ INSERT_UNION_PADDING_WORDS(0x3);
u32 polygon_offset_point_enable;
u32 polygon_offset_line_enable;
@@ -787,7 +798,11 @@ public:
BitField<12, 4, u32> viewport;
} clear_flags;
- INSERT_UNION_PADDING_WORDS(0x19);
+ INSERT_UNION_PADDING_WORDS(0x10);
+
+ u32 fill_rectangle;
+
+ INSERT_UNION_PADDING_WORDS(0x8);
std::array<VertexAttribute, NumVertexAttributes> vertex_attrib_format;
@@ -1451,6 +1466,8 @@ ASSERT_REG_POSITION(depth_mode, 0x35F);
ASSERT_REG_POSITION(clear_color[0], 0x360);
ASSERT_REG_POSITION(clear_depth, 0x364);
ASSERT_REG_POSITION(clear_stencil, 0x368);
+ASSERT_REG_POSITION(polygon_mode_front, 0x36B);
+ASSERT_REG_POSITION(polygon_mode_back, 0x36C);
ASSERT_REG_POSITION(polygon_offset_point_enable, 0x370);
ASSERT_REG_POSITION(polygon_offset_line_enable, 0x371);
ASSERT_REG_POSITION(polygon_offset_fill_enable, 0x372);
@@ -1464,6 +1481,7 @@ ASSERT_REG_POSITION(rt_separate_frag_data, 0x3EB);
ASSERT_REG_POSITION(depth_bounds, 0x3E7);
ASSERT_REG_POSITION(zeta, 0x3F8);
ASSERT_REG_POSITION(clear_flags, 0x43E);
+ASSERT_REG_POSITION(fill_rectangle, 0x44F);
ASSERT_REG_POSITION(vertex_attrib_format, 0x458);
ASSERT_REG_POSITION(rt_control, 0x487);
ASSERT_REG_POSITION(zeta_width, 0x48a);