diff options
author | Liam <byteslice@airmail.cc> | 2022-03-11 01:21:04 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2022-03-11 01:21:04 +0100 |
commit | f1521183f8c029e45a707e9127bccf33a05cc366 (patch) | |
tree | be1d082100cdb514fff8e17c6b6256b30a11749f /src/video_core/engines/maxwell_3d.h | |
parent | Merge pull request #7999 from merryhime/fix-7992 (diff) | |
download | yuzu-f1521183f8c029e45a707e9127bccf33a05cc366.tar yuzu-f1521183f8c029e45a707e9127bccf33a05cc366.tar.gz yuzu-f1521183f8c029e45a707e9127bccf33a05cc366.tar.bz2 yuzu-f1521183f8c029e45a707e9127bccf33a05cc366.tar.lz yuzu-f1521183f8c029e45a707e9127bccf33a05cc366.tar.xz yuzu-f1521183f8c029e45a707e9127bccf33a05cc366.tar.zst yuzu-f1521183f8c029e45a707e9127bccf33a05cc366.zip |
Diffstat (limited to 'src/video_core/engines/maxwell_3d.h')
-rw-r--r-- | src/video_core/engines/maxwell_3d.h | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index dc9df6c8b..e28937b01 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h @@ -1200,7 +1200,12 @@ public: } } index_array; - INSERT_PADDING_WORDS_NOINIT(0x7); + union { + BitField<0, 16, u32> first; + BitField<16, 16, u32> count; + } small_index; + + INSERT_PADDING_WORDS_NOINIT(0x6); INSERT_PADDING_WORDS_NOINIT(0x1F); @@ -1244,7 +1249,11 @@ public: BitField<11, 1, u32> depth_clamp_disabled; } view_volume_clip_control; - INSERT_PADDING_WORDS_NOINIT(0x1F); + INSERT_PADDING_WORDS_NOINIT(0xC); + + PrimitiveTopology topology_override; + + INSERT_PADDING_WORDS_NOINIT(0x12); u32 depth_bounds_enable; @@ -1531,6 +1540,9 @@ private: /// Handles a write to the VERTEX_END_GL register, triggering a draw. void DrawArrays(); + /// Handles use of topology overrides (e.g., to avoid using a topology assigned from a macro) + void ProcessTopologyOverride(); + // Handles a instance drawcall from MME void StepInstance(MMEDrawMode expected_mode, u32 count); @@ -1685,6 +1697,7 @@ ASSERT_REG_POSITION(draw, 0x585); ASSERT_REG_POSITION(primitive_restart, 0x591); ASSERT_REG_POSITION(provoking_vertex_last, 0x5A1); ASSERT_REG_POSITION(index_array, 0x5F2); +ASSERT_REG_POSITION(small_index, 0x5F9); ASSERT_REG_POSITION(polygon_offset_clamp, 0x61F); ASSERT_REG_POSITION(instanced_arrays, 0x620); ASSERT_REG_POSITION(vp_point_size, 0x644); @@ -1694,6 +1707,7 @@ ASSERT_REG_POSITION(cull_face, 0x648); ASSERT_REG_POSITION(pixel_center_integer, 0x649); ASSERT_REG_POSITION(viewport_transform_enabled, 0x64B); ASSERT_REG_POSITION(view_volume_clip_control, 0x64F); +ASSERT_REG_POSITION(topology_override, 0x65C); ASSERT_REG_POSITION(depth_bounds_enable, 0x66F); ASSERT_REG_POSITION(logic_op, 0x671); ASSERT_REG_POSITION(clear_buffers, 0x674); |