summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Tony Wasserka2014-05-17 23:01:58 +0200
committerGravatar bunnei2014-06-12 06:10:50 -0400
commitd4530765ceaf75cecd16b3ed5a7829611af2d82c (patch)
tree16e0e9cd41102a5201bc97fefe5dd0d1ebebf114 /src
parentRename LCD to GPU. (diff)
downloadyuzu-d4530765ceaf75cecd16b3ed5a7829611af2d82c.tar.gz
yuzu-d4530765ceaf75cecd16b3ed5a7829611af2d82c.tar.xz
yuzu-d4530765ceaf75cecd16b3ed5a7829611af2d82c.zip
GPU: Cleanup register definitions.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/service/gsp.cpp6
-rw-r--r--src/core/hw/gpu.cpp26
-rw-r--r--src/core/hw/gpu.h30
3 files changed, 31 insertions, 31 deletions
diff --git a/src/core/hle/service/gsp.cpp b/src/core/hle/service/gsp.cpp
index d51e6c66d..15e9d19a5 100644
--- a/src/core/hle/service/gsp.cpp
+++ b/src/core/hle/service/gsp.cpp
@@ -123,9 +123,9 @@ void TriggerCmdReqQueue(Service::Interface* self) {
123 break; 123 break;
124 124
125 case GXCommandId::SET_COMMAND_LIST_LAST: 125 case GXCommandId::SET_COMMAND_LIST_LAST:
126 GPU::Write<u32>(GPU::CommandListAddress, cmd_buff[1] >> 3); 126 GPU::Write<u32>(GPU::Registers::CommandListAddress, cmd_buff[1] >> 3);
127 GPU::Write<u32>(GPU::CommandListSize, cmd_buff[2] >> 3); 127 GPU::Write<u32>(GPU::Registers::CommandListSize, cmd_buff[2] >> 3);
128 GPU::Write<u32>(GPU::ProcessCommandList, 1); // TODO: Not sure if we are supposed to always write this 128 GPU::Write<u32>(GPU::Registers::ProcessCommandList, 1); // TODO: Not sure if we are supposed to always write this
129 break; 129 break;
130 130
131 case GXCommandId::SET_MEMORY_FILL: 131 case GXCommandId::SET_MEMORY_FILL:
diff --git a/src/core/hw/gpu.cpp b/src/core/hw/gpu.cpp
index 632e1aaac..ec2d0e156 100644
--- a/src/core/hw/gpu.cpp
+++ b/src/core/hw/gpu.cpp
@@ -86,39 +86,39 @@ const u8* GetFramebufferPointer(const u32 address) {
86template <typename T> 86template <typename T>
87inline void Read(T &var, const u32 addr) { 87inline void Read(T &var, const u32 addr) {
88 switch (addr) { 88 switch (addr) {
89 case REG_FRAMEBUFFER_TOP_LEFT_1: 89 case Registers::FramebufferTopLeft1:
90 var = g_regs.framebuffer_top_left_1; 90 var = g_regs.framebuffer_top_left_1;
91 break; 91 break;
92 92
93 case REG_FRAMEBUFFER_TOP_LEFT_2: 93 case Registers::FramebufferTopLeft2:
94 var = g_regs.framebuffer_top_left_2; 94 var = g_regs.framebuffer_top_left_2;
95 break; 95 break;
96 96
97 case REG_FRAMEBUFFER_TOP_RIGHT_1: 97 case Registers::FramebufferTopRight1:
98 var = g_regs.framebuffer_top_right_1; 98 var = g_regs.framebuffer_top_right_1;
99 break; 99 break;
100 100
101 case REG_FRAMEBUFFER_TOP_RIGHT_2: 101 case Registers::FramebufferTopRight2:
102 var = g_regs.framebuffer_top_right_2; 102 var = g_regs.framebuffer_top_right_2;
103 break; 103 break;
104 104
105 case REG_FRAMEBUFFER_SUB_LEFT_1: 105 case Registers::FramebufferSubLeft1:
106 var = g_regs.framebuffer_sub_left_1; 106 var = g_regs.framebuffer_sub_left_1;
107 break; 107 break;
108 108
109 case REG_FRAMEBUFFER_SUB_RIGHT_1: 109 case Registers::FramebufferSubRight1:
110 var = g_regs.framebuffer_sub_right_1; 110 var = g_regs.framebuffer_sub_right_1;
111 break; 111 break;
112 112
113 case CommandListSize: 113 case Registers::CommandListSize:
114 var = g_regs.command_list_size; 114 var = g_regs.command_list_size;
115 break; 115 break;
116 116
117 case CommandListAddress: 117 case Registers::CommandListAddress:
118 var = g_regs.command_list_address; 118 var = g_regs.command_list_address;
119 break; 119 break;
120 120
121 case ProcessCommandList: 121 case Registers::ProcessCommandList:
122 var = g_regs.command_processing_enabled; 122 var = g_regs.command_processing_enabled;
123 break; 123 break;
124 124
@@ -130,16 +130,16 @@ inline void Read(T &var, const u32 addr) {
130 130
131template <typename T> 131template <typename T>
132inline void Write(u32 addr, const T data) { 132inline void Write(u32 addr, const T data) {
133 switch (addr) { 133 switch (static_cast<Registers::Id>(addr)) {
134 case CommandListSize: 134 case Registers::CommandListSize:
135 g_regs.command_list_size = data; 135 g_regs.command_list_size = data;
136 break; 136 break;
137 137
138 case CommandListAddress: 138 case Registers::CommandListAddress:
139 g_regs.command_list_address = data; 139 g_regs.command_list_address = data;
140 break; 140 break;
141 141
142 case ProcessCommandList: 142 case Registers::ProcessCommandList:
143 g_regs.command_processing_enabled = data; 143 g_regs.command_processing_enabled = data;
144 if (g_regs.command_processing_enabled & 1) 144 if (g_regs.command_processing_enabled & 1)
145 { 145 {
diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h
index c81b1bb3f..f26f25e98 100644
--- a/src/core/hw/gpu.h
+++ b/src/core/hw/gpu.h
@@ -9,6 +9,21 @@
9namespace GPU { 9namespace GPU {
10 10
11struct Registers { 11struct Registers {
12 enum Id : u32 {
13 FramebufferTopLeft1 = 0x1EF00468, // Main LCD, first framebuffer for 3D left
14 FramebufferTopLeft2 = 0x1EF0046C, // Main LCD, second framebuffer for 3D left
15 FramebufferTopRight1 = 0x1EF00494, // Main LCD, first framebuffer for 3D right
16 FramebufferTopRight2 = 0x1EF00498, // Main LCD, second framebuffer for 3D right
17 FramebufferSubLeft1 = 0x1EF00568, // Sub LCD, first framebuffer
18 FramebufferSubLeft2 = 0x1EF0056C, // Sub LCD, second framebuffer
19 FramebufferSubRight1 = 0x1EF00594, // Sub LCD, unused first framebuffer
20 FramebufferSubRight2 = 0x1EF00598, // Sub LCD, unused second framebuffer
21
22 CommandListSize = 0x1EF018E0,
23 CommandListAddress = 0x1EF018E8,
24 ProcessCommandList = 0x1EF018F0,
25 };
26
12 u32 framebuffer_top_left_1; 27 u32 framebuffer_top_left_1;
13 u32 framebuffer_top_left_2; 28 u32 framebuffer_top_left_2;
14 u32 framebuffer_top_right_1; 29 u32 framebuffer_top_right_1;
@@ -52,21 +67,6 @@ enum {
52 PADDR_VRAM_SUB_FRAME2 = 0x18249CF0, 67 PADDR_VRAM_SUB_FRAME2 = 0x18249CF0,
53}; 68};
54 69
55enum {
56 REG_FRAMEBUFFER_TOP_LEFT_1 = 0x1EF00468, // Main LCD, first framebuffer for 3D left
57 REG_FRAMEBUFFER_TOP_LEFT_2 = 0x1EF0046C, // Main LCD, second framebuffer for 3D left
58 REG_FRAMEBUFFER_TOP_RIGHT_1 = 0x1EF00494, // Main LCD, first framebuffer for 3D right
59 REG_FRAMEBUFFER_TOP_RIGHT_2 = 0x1EF00498, // Main LCD, second framebuffer for 3D right
60 REG_FRAMEBUFFER_SUB_LEFT_1 = 0x1EF00568, // Sub LCD, first framebuffer
61 REG_FRAMEBUFFER_SUB_LEFT_2 = 0x1EF0056C, // Sub LCD, second framebuffer
62 REG_FRAMEBUFFER_SUB_RIGHT_1 = 0x1EF00594, // Sub LCD, unused first framebuffer
63 REG_FRAMEBUFFER_SUB_RIGHT_2 = 0x1EF00598, // Sub LCD, unused second framebuffer
64
65 CommandListSize = 0x1EF018E0,
66 CommandListAddress = 0x1EF018E8,
67 ProcessCommandList = 0x1EF018F0,
68};
69
70/// Framebuffer location 70/// Framebuffer location
71enum FramebufferLocation { 71enum FramebufferLocation {
72 FRAMEBUFFER_LOCATION_UNKNOWN, ///< Framebuffer location is unknown 72 FRAMEBUFFER_LOCATION_UNKNOWN, ///< Framebuffer location is unknown