summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-02-24 21:02:32 -0300
committerGravatar ReinUsesLisp2020-04-13 01:30:34 -0300
commit76615b9f34efe72dd8f5dcae0d192aa4dc29e970 (patch)
tree0ce8326404380a1eeb257d4c24ca2dcc0ac9f0ad /src/video_core/engines
parentMerge pull request #3606 from ReinUsesLisp/nvflinger (diff)
downloadyuzu-76615b9f34efe72dd8f5dcae0d192aa4dc29e970.tar.gz
yuzu-76615b9f34efe72dd8f5dcae0d192aa4dc29e970.tar.xz
yuzu-76615b9f34efe72dd8f5dcae0d192aa4dc29e970.zip
gl_rasterizer: Implement line widths and smooth lines
Implements "legacy" features from OpenGL present on hardware such as smooth lines and line width.
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/maxwell_3d.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 4637ddabd..2977a7d81 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -966,7 +966,10 @@ public:
966 BitField<4, 1, u32> triangle_rast_flip; 966 BitField<4, 1, u32> triangle_rast_flip;
967 } screen_y_control; 967 } screen_y_control;
968 968
969 INSERT_UNION_PADDING_WORDS(0x21); 969 float line_width_smooth;
970 float line_width_aliased;
971
972 INSERT_UNION_PADDING_WORDS(0x1F);
970 973
971 u32 vb_element_base; 974 u32 vb_element_base;
972 u32 vb_base_instance; 975 u32 vb_base_instance;
@@ -1024,7 +1027,7 @@ public:
1024 1027
1025 float polygon_offset_factor; 1028 float polygon_offset_factor;
1026 1029
1027 INSERT_UNION_PADDING_WORDS(0x1); 1030 u32 line_smooth_enable;
1028 1031
1029 struct { 1032 struct {
1030 u32 tic_address_high; 1033 u32 tic_address_high;
@@ -1591,6 +1594,8 @@ ASSERT_REG_POSITION(stencil_front_func_mask, 0x4E6);
1591ASSERT_REG_POSITION(stencil_front_mask, 0x4E7); 1594ASSERT_REG_POSITION(stencil_front_mask, 0x4E7);
1592ASSERT_REG_POSITION(frag_color_clamp, 0x4EA); 1595ASSERT_REG_POSITION(frag_color_clamp, 0x4EA);
1593ASSERT_REG_POSITION(screen_y_control, 0x4EB); 1596ASSERT_REG_POSITION(screen_y_control, 0x4EB);
1597ASSERT_REG_POSITION(line_width_smooth, 0x4EC);
1598ASSERT_REG_POSITION(line_width_aliased, 0x4ED);
1594ASSERT_REG_POSITION(vb_element_base, 0x50D); 1599ASSERT_REG_POSITION(vb_element_base, 0x50D);
1595ASSERT_REG_POSITION(vb_base_instance, 0x50E); 1600ASSERT_REG_POSITION(vb_base_instance, 0x50E);
1596ASSERT_REG_POSITION(clip_distance_enabled, 0x544); 1601ASSERT_REG_POSITION(clip_distance_enabled, 0x544);
@@ -1604,6 +1609,7 @@ ASSERT_REG_POSITION(multisample_control, 0x54F);
1604ASSERT_REG_POSITION(condition, 0x554); 1609ASSERT_REG_POSITION(condition, 0x554);
1605ASSERT_REG_POSITION(tsc, 0x557); 1610ASSERT_REG_POSITION(tsc, 0x557);
1606ASSERT_REG_POSITION(polygon_offset_factor, 0x55B); 1611ASSERT_REG_POSITION(polygon_offset_factor, 0x55B);
1612ASSERT_REG_POSITION(line_smooth_enable, 0x55C);
1607ASSERT_REG_POSITION(tic, 0x55D); 1613ASSERT_REG_POSITION(tic, 0x55D);
1608ASSERT_REG_POSITION(stencil_two_side_enable, 0x565); 1614ASSERT_REG_POSITION(stencil_two_side_enable, 0x565);
1609ASSERT_REG_POSITION(stencil_back_op_fail, 0x566); 1615ASSERT_REG_POSITION(stencil_back_op_fail, 0x566);