mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-26 13:26:30 -05:00
GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods.
This commit is contained in:
parent
92c7135065
commit
827bb08c91
1 changed files with 27 additions and 2 deletions
|
@ -436,7 +436,12 @@ public:
|
||||||
u32 count;
|
u32 count;
|
||||||
} vertex_buffer;
|
} vertex_buffer;
|
||||||
|
|
||||||
INSERT_PADDING_WORDS(0x99);
|
INSERT_PADDING_WORDS(1);
|
||||||
|
|
||||||
|
float clear_color[4];
|
||||||
|
float clear_depth;
|
||||||
|
|
||||||
|
INSERT_PADDING_WORDS(0x93);
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
u32 address_high;
|
u32 address_high;
|
||||||
|
@ -584,7 +589,21 @@ public:
|
||||||
|
|
||||||
Cull cull;
|
Cull cull;
|
||||||
|
|
||||||
INSERT_PADDING_WORDS(0x77);
|
INSERT_PADDING_WORDS(0x2B);
|
||||||
|
|
||||||
|
union {
|
||||||
|
u32 raw;
|
||||||
|
BitField<0, 1, u32> Z;
|
||||||
|
BitField<1, 1, u32> S;
|
||||||
|
BitField<2, 1, u32> R;
|
||||||
|
BitField<3, 1, u32> G;
|
||||||
|
BitField<4, 1, u32> B;
|
||||||
|
BitField<5, 1, u32> A;
|
||||||
|
BitField<6, 4, u32> RT;
|
||||||
|
BitField<10, 11, u32> layer;
|
||||||
|
} clear_buffers;
|
||||||
|
|
||||||
|
INSERT_PADDING_WORDS(0x4B);
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
u32 query_address_high;
|
u32 query_address_high;
|
||||||
|
@ -766,6 +785,9 @@ private:
|
||||||
/// Handles writes to the macro uploading registers.
|
/// Handles writes to the macro uploading registers.
|
||||||
void ProcessMacroUpload(u32 data);
|
void ProcessMacroUpload(u32 data);
|
||||||
|
|
||||||
|
/// Handles a write to the CLEAR_BUFFERS register.
|
||||||
|
void ProcessClearBuffers();
|
||||||
|
|
||||||
/// Handles a write to the QUERY_GET register.
|
/// Handles a write to the QUERY_GET register.
|
||||||
void ProcessQueryGet();
|
void ProcessQueryGet();
|
||||||
|
|
||||||
|
@ -788,6 +810,8 @@ ASSERT_REG_POSITION(rt, 0x200);
|
||||||
ASSERT_REG_POSITION(viewport_transform[0], 0x280);
|
ASSERT_REG_POSITION(viewport_transform[0], 0x280);
|
||||||
ASSERT_REG_POSITION(viewport, 0x300);
|
ASSERT_REG_POSITION(viewport, 0x300);
|
||||||
ASSERT_REG_POSITION(vertex_buffer, 0x35D);
|
ASSERT_REG_POSITION(vertex_buffer, 0x35D);
|
||||||
|
ASSERT_REG_POSITION(clear_color[0], 0x360);
|
||||||
|
ASSERT_REG_POSITION(clear_depth, 0x364);
|
||||||
ASSERT_REG_POSITION(zeta, 0x3F8);
|
ASSERT_REG_POSITION(zeta, 0x3F8);
|
||||||
ASSERT_REG_POSITION(vertex_attrib_format[0], 0x458);
|
ASSERT_REG_POSITION(vertex_attrib_format[0], 0x458);
|
||||||
ASSERT_REG_POSITION(rt_control, 0x487);
|
ASSERT_REG_POSITION(rt_control, 0x487);
|
||||||
|
@ -803,6 +827,7 @@ ASSERT_REG_POSITION(code_address, 0x582);
|
||||||
ASSERT_REG_POSITION(draw, 0x585);
|
ASSERT_REG_POSITION(draw, 0x585);
|
||||||
ASSERT_REG_POSITION(index_array, 0x5F2);
|
ASSERT_REG_POSITION(index_array, 0x5F2);
|
||||||
ASSERT_REG_POSITION(cull, 0x646);
|
ASSERT_REG_POSITION(cull, 0x646);
|
||||||
|
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);
|
||||||
ASSERT_REG_POSITION(independent_blend, 0x780);
|
ASSERT_REG_POSITION(independent_blend, 0x780);
|
||||||
|
|
Loading…
Reference in a new issue