diff options
author | bunnei <bunneidev@gmail.com> | 2018-08-22 07:05:25 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-22 07:05:25 +0200 |
commit | 125d7122ac6c369d461d4219aaecfe4563362c01 (patch) | |
tree | 19dfc78904b0cced2abfa05aaebd5fa2a8f88a85 /src/video_core/engines/maxwell_3d.h | |
parent | Merge pull request #1147 from lioncash/warn (diff) | |
parent | GPU: Implemented the logic op functionality of the GPU. (diff) | |
download | yuzu-125d7122ac6c369d461d4219aaecfe4563362c01.tar yuzu-125d7122ac6c369d461d4219aaecfe4563362c01.tar.gz yuzu-125d7122ac6c369d461d4219aaecfe4563362c01.tar.bz2 yuzu-125d7122ac6c369d461d4219aaecfe4563362c01.tar.lz yuzu-125d7122ac6c369d461d4219aaecfe4563362c01.tar.xz yuzu-125d7122ac6c369d461d4219aaecfe4563362c01.tar.zst yuzu-125d7122ac6c369d461d4219aaecfe4563362c01.zip |
Diffstat (limited to 'src/video_core/engines/maxwell_3d.h')
-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 3c869d3a1..d03bc1c0c 100644 --- a/src/video_core/engines/maxwell_3d.h +++ b/src/video_core/engines/maxwell_3d.h @@ -311,6 +311,25 @@ public: AlwaysOld = 8, }; + enum class LogicOperation : u32 { + Clear = 0x1500, + And = 0x1501, + AndReverse = 0x1502, + Copy = 0x1503, + AndInverted = 0x1504, + NoOp = 0x1505, + Xor = 0x1506, + Or = 0x1507, + Nor = 0x1508, + Equiv = 0x1509, + Invert = 0x150A, + OrReverse = 0x150B, + CopyInverted = 0x150C, + OrInverted = 0x150D, + Nand = 0x150E, + Set = 0x150F, + }; + struct Cull { enum class FrontFace : u32 { ClockWise = 0x0900, @@ -695,7 +714,14 @@ public: Cull cull; - INSERT_PADDING_WORDS(0x2B); + INSERT_PADDING_WORDS(0x28); + + struct { + u32 enable; + LogicOperation operation; + } logic_op; + + INSERT_PADDING_WORDS(0x1); union { u32 raw; @@ -942,6 +968,7 @@ ASSERT_REG_POSITION(draw, 0x585); ASSERT_REG_POSITION(index_array, 0x5F2); ASSERT_REG_POSITION(instanced_arrays, 0x620); ASSERT_REG_POSITION(cull, 0x646); +ASSERT_REG_POSITION(logic_op, 0x671); ASSERT_REG_POSITION(clear_buffers, 0x674); ASSERT_REG_POSITION(query, 0x6C0); ASSERT_REG_POSITION(vertex_array[0], 0x700); |