summaryrefslogtreecommitdiff
path: root/src/core/hw/gpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hw/gpu.h')
-rw-r--r--src/core/hw/gpu.h32
1 files changed, 29 insertions, 3 deletions
diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h
index 9fd694f65..df9aa0d71 100644
--- a/src/core/hw/gpu.h
+++ b/src/core/hw/gpu.h
@@ -84,9 +84,35 @@ struct Regs {
84 84
85 struct { 85 struct {
86 u32 address_start; 86 u32 address_start;
87 u32 address_end; // ? 87 u32 address_end;
88 u32 size; 88
89 u32 value; // ? 89 union {
90 u32 value_32bit;
91
92 BitField<0, 16, u32> value_16bit;
93
94 // TODO: Verify component order
95 BitField< 0, 8, u32> value_24bit_r;
96 BitField< 8, 8, u32> value_24bit_g;
97 BitField<16, 8, u32> value_24bit_b;
98 };
99
100 union {
101 u32 control;
102
103 // Setting this field to 1 triggers the memory fill.
104 // This field also acts as a status flag, and gets reset to 0 upon completion.
105 BitField<0, 1, u32> trigger;
106
107 // Set to 1 upon completion.
108 BitField<0, 1, u32> finished;
109
110 // 0: fill with 16- or 32-bit wide values; 1: fill with 24-bit wide values
111 BitField<8, 1, u32> fill_24bit;
112
113 // 0: fill with 16-bit wide values; 1: fill with 32-bit wide values
114 BitField<9, 1, u32> fill_32bit;
115 };
90 116
91 inline u32 GetStartAddress() const { 117 inline u32 GetStartAddress() const {
92 return DecodeAddressRegister(address_start); 118 return DecodeAddressRegister(address_start);