diff options
| author | 2019-11-01 00:43:59 -0300 | |
|---|---|---|
| committer | 2019-12-06 22:07:31 -0300 | |
| commit | 707bf41c6f3bb111407c884659a5a1e5757df53f (patch) | |
| tree | ee0df1bc3e9990489523b2eff4c076143ac6a9e2 /src | |
| parent | maxwell_3d: Add patch vertices register (diff) | |
| download | yuzu-707bf41c6f3bb111407c884659a5a1e5757df53f.tar.gz yuzu-707bf41c6f3bb111407c884659a5a1e5757df53f.tar.xz yuzu-707bf41c6f3bb111407c884659a5a1e5757df53f.zip | |
maxwell_3d: Add tessellation mode register
Diffstat (limited to 'src')
| -rw-r--r-- | src/video_core/engines/maxwell_3d.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h index 884f2b018..05d182006 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h | |||
| @@ -491,6 +491,23 @@ public: | |||
| 491 | INSERT_UNION_PADDING_WORDS(1); | 491 | INSERT_UNION_PADDING_WORDS(1); |
| 492 | }; | 492 | }; |
| 493 | 493 | ||
| 494 | enum class DepthMode : u32 { | ||
| 495 | MinusOneToOne = 0, | ||
| 496 | ZeroToOne = 1, | ||
| 497 | }; | ||
| 498 | |||
| 499 | enum class TessellationPrimitive : u32 { | ||
| 500 | Isolines = 0, | ||
| 501 | Triangles = 1, | ||
| 502 | Quads = 2, | ||
| 503 | }; | ||
| 504 | |||
| 505 | enum class TessellationSpacing : u32 { | ||
| 506 | Equal = 0, | ||
| 507 | FractionalOdd = 1, | ||
| 508 | FractionalEven = 2, | ||
| 509 | }; | ||
| 510 | |||
| 494 | struct RenderTargetConfig { | 511 | struct RenderTargetConfig { |
| 495 | u32 address_high; | 512 | u32 address_high; |
| 496 | u32 address_low; | 513 | u32 address_low; |
| @@ -628,7 +645,16 @@ public: | |||
| 628 | }; | 645 | }; |
| 629 | } sync_info; | 646 | } sync_info; |
| 630 | 647 | ||
| 631 | INSERT_UNION_PADDING_WORDS(0x11E); | 648 | INSERT_UNION_PADDING_WORDS(0x15); |
| 649 | |||
| 650 | union { | ||
| 651 | BitField<0, 2, TessellationPrimitive> prim; | ||
| 652 | BitField<4, 2, TessellationSpacing> spacing; | ||
| 653 | BitField<8, 1, u32> cw; | ||
| 654 | BitField<9, 1, u32> connected; | ||
| 655 | } tess_mode; | ||
| 656 | |||
| 657 | INSERT_UNION_PADDING_WORDS(0x108); | ||
| 632 | 658 | ||
| 633 | u32 tfb_enabled; | 659 | u32 tfb_enabled; |
| 634 | 660 | ||
| @@ -1388,6 +1414,7 @@ ASSERT_REG_POSITION(upload, 0x60); | |||
| 1388 | ASSERT_REG_POSITION(exec_upload, 0x6C); | 1414 | ASSERT_REG_POSITION(exec_upload, 0x6C); |
| 1389 | ASSERT_REG_POSITION(data_upload, 0x6D); | 1415 | ASSERT_REG_POSITION(data_upload, 0x6D); |
| 1390 | ASSERT_REG_POSITION(sync_info, 0xB2); | 1416 | ASSERT_REG_POSITION(sync_info, 0xB2); |
| 1417 | ASSERT_REG_POSITION(tess_mode, 0xC8); | ||
| 1391 | ASSERT_REG_POSITION(tfb_enabled, 0x1D1); | 1418 | ASSERT_REG_POSITION(tfb_enabled, 0x1D1); |
| 1392 | ASSERT_REG_POSITION(rt, 0x200); | 1419 | ASSERT_REG_POSITION(rt, 0x200); |
| 1393 | ASSERT_REG_POSITION(viewport_transform, 0x280); | 1420 | ASSERT_REG_POSITION(viewport_transform, 0x280); |