GPU: Added registers for the logicop functionality.
This commit is contained in:
parent
028d90eb79
commit
6bcdf37d4f
|
@ -311,6 +311,25 @@ public:
|
||||||
AlwaysOld = 8,
|
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 {
|
struct Cull {
|
||||||
enum class FrontFace : u32 {
|
enum class FrontFace : u32 {
|
||||||
ClockWise = 0x0900,
|
ClockWise = 0x0900,
|
||||||
|
@ -695,7 +714,14 @@ public:
|
||||||
|
|
||||||
Cull cull;
|
Cull cull;
|
||||||
|
|
||||||
INSERT_PADDING_WORDS(0x2B);
|
INSERT_PADDING_WORDS(0x28);
|
||||||
|
|
||||||
|
struct {
|
||||||
|
u32 enable;
|
||||||
|
LogicOperation operation;
|
||||||
|
} logic_op;
|
||||||
|
|
||||||
|
INSERT_PADDING_WORDS(0x1);
|
||||||
|
|
||||||
union {
|
union {
|
||||||
u32 raw;
|
u32 raw;
|
||||||
|
@ -942,6 +968,7 @@ ASSERT_REG_POSITION(draw, 0x585);
|
||||||
ASSERT_REG_POSITION(index_array, 0x5F2);
|
ASSERT_REG_POSITION(index_array, 0x5F2);
|
||||||
ASSERT_REG_POSITION(instanced_arrays, 0x620);
|
ASSERT_REG_POSITION(instanced_arrays, 0x620);
|
||||||
ASSERT_REG_POSITION(cull, 0x646);
|
ASSERT_REG_POSITION(cull, 0x646);
|
||||||
|
ASSERT_REG_POSITION(logic_op, 0x671);
|
||||||
ASSERT_REG_POSITION(clear_buffers, 0x674);
|
ASSERT_REG_POSITION(clear_buffers, 0x674);
|
||||||
ASSERT_REG_POSITION(query, 0x6C0);
|
ASSERT_REG_POSITION(query, 0x6C0);
|
||||||
ASSERT_REG_POSITION(vertex_array[0], 0x700);
|
ASSERT_REG_POSITION(vertex_array[0], 0x700);
|
||||||
|
|
Reference in New Issue