diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/key_map.h | 14 | ||||
| -rw-r--r-- | src/core/file_sys/archive_backend.cpp | 8 | ||||
| -rw-r--r-- | src/core/file_sys/archive_backend.h | 8 | ||||
| -rw-r--r-- | src/core/loader/elf.cpp | 6 | ||||
| -rw-r--r-- | src/video_core/pica.cpp | 522 |
5 files changed, 483 insertions, 75 deletions
diff --git a/src/common/key_map.h b/src/common/key_map.h index 0ecec714f..68f7e2f99 100644 --- a/src/common/key_map.h +++ b/src/common/key_map.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | #pragma once | 5 | #pragma once |
| 6 | 6 | ||
| 7 | #include <tuple> | ||
| 7 | #include "core/hle/service/hid/hid.h" | 8 | #include "core/hle/service/hid/hid.h" |
| 8 | 9 | ||
| 9 | namespace KeyMap { | 10 | namespace KeyMap { |
| @@ -15,15 +16,14 @@ struct HostDeviceKey { | |||
| 15 | int key_code; | 16 | int key_code; |
| 16 | int device_id; ///< Uniquely identifies a host device | 17 | int device_id; ///< Uniquely identifies a host device |
| 17 | 18 | ||
| 18 | bool operator < (const HostDeviceKey &other) const { | 19 | bool operator<(const HostDeviceKey &other) const { |
| 19 | if (device_id == other.device_id) { | 20 | return std::tie(key_code, device_id) < |
| 20 | return key_code < other.key_code; | 21 | std::tie(other.key_code, other.device_id); |
| 21 | } | ||
| 22 | return device_id < other.device_id; | ||
| 23 | } | 22 | } |
| 24 | 23 | ||
| 25 | bool operator == (const HostDeviceKey &other) const { | 24 | bool operator==(const HostDeviceKey &other) const { |
| 26 | return device_id == other.device_id && key_code == other.key_code; | 25 | return std::tie(key_code, device_id) == |
| 26 | std::tie(other.key_code, other.device_id); | ||
| 27 | } | 27 | } |
| 28 | }; | 28 | }; |
| 29 | 29 | ||
diff --git a/src/core/file_sys/archive_backend.cpp b/src/core/file_sys/archive_backend.cpp index 3f81447df..97adf0e12 100644 --- a/src/core/file_sys/archive_backend.cpp +++ b/src/core/file_sys/archive_backend.cpp | |||
| @@ -43,7 +43,7 @@ Path::Path(LowPathType type, u32 size, u32 pointer) : type(type) { | |||
| 43 | } | 43 | } |
| 44 | } | 44 | } |
| 45 | 45 | ||
| 46 | const std::string Path::DebugStr() const { | 46 | std::string Path::DebugStr() const { |
| 47 | switch (GetType()) { | 47 | switch (GetType()) { |
| 48 | case Invalid: | 48 | case Invalid: |
| 49 | default: | 49 | default: |
| @@ -66,7 +66,7 @@ const std::string Path::DebugStr() const { | |||
| 66 | } | 66 | } |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | const std::string Path::AsString() const { | 69 | std::string Path::AsString() const { |
| 70 | switch (GetType()) { | 70 | switch (GetType()) { |
| 71 | case Char: | 71 | case Char: |
| 72 | return string; | 72 | return string; |
| @@ -83,7 +83,7 @@ const std::string Path::AsString() const { | |||
| 83 | } | 83 | } |
| 84 | } | 84 | } |
| 85 | 85 | ||
| 86 | const std::u16string Path::AsU16Str() const { | 86 | std::u16string Path::AsU16Str() const { |
| 87 | switch (GetType()) { | 87 | switch (GetType()) { |
| 88 | case Char: | 88 | case Char: |
| 89 | return Common::UTF8ToUTF16(string); | 89 | return Common::UTF8ToUTF16(string); |
| @@ -99,7 +99,7 @@ const std::u16string Path::AsU16Str() const { | |||
| 99 | } | 99 | } |
| 100 | } | 100 | } |
| 101 | 101 | ||
| 102 | const std::vector<u8> Path::AsBinary() const { | 102 | std::vector<u8> Path::AsBinary() const { |
| 103 | switch (GetType()) { | 103 | switch (GetType()) { |
| 104 | case Binary: | 104 | case Binary: |
| 105 | return binary; | 105 | return binary; |
diff --git a/src/core/file_sys/archive_backend.h b/src/core/file_sys/archive_backend.h index e7a59a1ed..601e95d8c 100644 --- a/src/core/file_sys/archive_backend.h +++ b/src/core/file_sys/archive_backend.h | |||
| @@ -49,11 +49,11 @@ public: | |||
| 49 | * Gets the string representation of the path for debugging | 49 | * Gets the string representation of the path for debugging |
| 50 | * @return String representation of the path for debugging | 50 | * @return String representation of the path for debugging |
| 51 | */ | 51 | */ |
| 52 | const std::string DebugStr() const; | 52 | std::string DebugStr() const; |
| 53 | 53 | ||
| 54 | const std::string AsString() const; | 54 | std::string AsString() const; |
| 55 | const std::u16string AsU16Str() const; | 55 | std::u16string AsU16Str() const; |
| 56 | const std::vector<u8> AsBinary() const; | 56 | std::vector<u8> AsBinary() const; |
| 57 | 57 | ||
| 58 | private: | 58 | private: |
| 59 | LowPathType type; | 59 | LowPathType type; |
diff --git a/src/core/loader/elf.cpp b/src/core/loader/elf.cpp index 5d7264f12..69df94324 100644 --- a/src/core/loader/elf.cpp +++ b/src/core/loader/elf.cpp | |||
| @@ -250,7 +250,7 @@ const char *ElfReader::GetSectionName(int section) const { | |||
| 250 | return nullptr; | 250 | return nullptr; |
| 251 | 251 | ||
| 252 | int name_offset = sections[section].sh_name; | 252 | int name_offset = sections[section].sh_name; |
| 253 | const char* ptr = (char*)GetSectionDataPtr(header->e_shstrndx); | 253 | const char* ptr = reinterpret_cast<const char*>(GetSectionDataPtr(header->e_shstrndx)); |
| 254 | 254 | ||
| 255 | if (ptr) | 255 | if (ptr) |
| 256 | return ptr + name_offset; | 256 | return ptr + name_offset; |
| @@ -347,10 +347,10 @@ bool ElfReader::LoadSymbols() { | |||
| 347 | SectionID sec = GetSectionByName(".symtab"); | 347 | SectionID sec = GetSectionByName(".symtab"); |
| 348 | if (sec != -1) { | 348 | if (sec != -1) { |
| 349 | int stringSection = sections[sec].sh_link; | 349 | int stringSection = sections[sec].sh_link; |
| 350 | const char *stringBase = (const char *)GetSectionDataPtr(stringSection); | 350 | const char *stringBase = reinterpret_cast<const char*>(GetSectionDataPtr(stringSection)); |
| 351 | 351 | ||
| 352 | //We have a symbol table! | 352 | //We have a symbol table! |
| 353 | Elf32_Sym* symtab = (Elf32_Sym *)(GetSectionDataPtr(sec)); | 353 | const Elf32_Sym* symtab = reinterpret_cast<const Elf32_Sym*>(GetSectionDataPtr(sec)); |
| 354 | unsigned int numSymbols = sections[sec].sh_size / sizeof(Elf32_Sym); | 354 | unsigned int numSymbols = sections[sec].sh_size / sizeof(Elf32_Sym); |
| 355 | for (unsigned sym = 0; sym < numSymbols; sym++) { | 355 | for (unsigned sym = 0; sym < numSymbols; sym++) { |
| 356 | int size = symtab[sym].st_size; | 356 | int size = symtab[sym].st_size; |
diff --git a/src/video_core/pica.cpp b/src/video_core/pica.cpp index 8c528989e..d7b31384a 100644 --- a/src/video_core/pica.cpp +++ b/src/video_core/pica.cpp | |||
| @@ -12,66 +12,474 @@ namespace Pica { | |||
| 12 | 12 | ||
| 13 | State g_state; | 13 | State g_state; |
| 14 | 14 | ||
| 15 | static const std::pair<u16, const char*> register_names[] = { | ||
| 16 | { 0x010, "GPUREG_FINALIZE" }, | ||
| 17 | |||
| 18 | { 0x040, "GPUREG_FACECULLING_CONFIG" }, | ||
| 19 | { 0x041, "GPUREG_VIEWPORT_WIDTH" }, | ||
| 20 | { 0x042, "GPUREG_VIEWPORT_INVW" }, | ||
| 21 | { 0x043, "GPUREG_VIEWPORT_HEIGHT" }, | ||
| 22 | { 0x044, "GPUREG_VIEWPORT_INVH" }, | ||
| 23 | |||
| 24 | { 0x047, "GPUREG_FRAGOP_CLIP" }, | ||
| 25 | { 0x048, "GPUREG_FRAGOP_CLIP_DATA0" }, | ||
| 26 | { 0x049, "GPUREG_FRAGOP_CLIP_DATA1" }, | ||
| 27 | { 0x04A, "GPUREG_FRAGOP_CLIP_DATA2" }, | ||
| 28 | { 0x04B, "GPUREG_FRAGOP_CLIP_DATA3" }, | ||
| 29 | |||
| 30 | { 0x04D, "GPUREG_DEPTHMAP_SCALE" }, | ||
| 31 | { 0x04E, "GPUREG_DEPTHMAP_OFFSET" }, | ||
| 32 | { 0x04F, "GPUREG_SH_OUTMAP_TOTAL" }, | ||
| 33 | { 0x050, "GPUREG_SH_OUTMAP_O0" }, | ||
| 34 | { 0x051, "GPUREG_SH_OUTMAP_O1" }, | ||
| 35 | { 0x052, "GPUREG_SH_OUTMAP_O2" }, | ||
| 36 | { 0x053, "GPUREG_SH_OUTMAP_O3" }, | ||
| 37 | { 0x054, "GPUREG_SH_OUTMAP_O4" }, | ||
| 38 | { 0x055, "GPUREG_SH_OUTMAP_O5" }, | ||
| 39 | { 0x056, "GPUREG_SH_OUTMAP_O6" }, | ||
| 40 | |||
| 41 | { 0x061, "GPUREG_EARLYDEPTH_FUNC" }, | ||
| 42 | { 0x062, "GPUREG_EARLYDEPTH_TEST1" }, | ||
| 43 | { 0x063, "GPUREG_EARLYDEPTH_CLEAR" }, | ||
| 44 | { 0x064, "GPUREG_SH_OUTATTR_MODE" }, | ||
| 45 | { 0x065, "GPUREG_SCISSORTEST_MODE" }, | ||
| 46 | { 0x066, "GPUREG_SCISSORTEST_POS" }, | ||
| 47 | { 0x067, "GPUREG_SCISSORTEST_DIM" }, | ||
| 48 | { 0x068, "GPUREG_VIEWPORT_XY" }, | ||
| 49 | |||
| 50 | { 0x06A, "GPUREG_EARLYDEPTH_DATA" }, | ||
| 51 | |||
| 52 | { 0x06D, "GPUREG_DEPTHMAP_ENABLE" }, | ||
| 53 | { 0x06E, "GPUREG_RENDERBUF_DIM" }, | ||
| 54 | { 0x06F, "GPUREG_SH_OUTATTR_CLOCK" }, | ||
| 55 | |||
| 56 | { 0x080, "GPUREG_TEXUNIT_CONFIG" }, | ||
| 57 | { 0x081, "GPUREG_TEXUNIT0_BORDER_COLOR" }, | ||
| 58 | { 0x082, "GPUREG_TEXUNIT0_DIM" }, | ||
| 59 | { 0x083, "GPUREG_TEXUNIT0_PARAM" }, | ||
| 60 | { 0x084, "GPUREG_TEXUNIT0_LOD" }, | ||
| 61 | { 0x085, "GPUREG_TEXUNIT0_ADDR1" }, | ||
| 62 | { 0x086, "GPUREG_TEXUNIT0_ADDR2" }, | ||
| 63 | { 0x087, "GPUREG_TEXUNIT0_ADDR3" }, | ||
| 64 | { 0x088, "GPUREG_TEXUNIT0_ADDR4" }, | ||
| 65 | { 0x089, "GPUREG_TEXUNIT0_ADDR5" }, | ||
| 66 | { 0x08A, "GPUREG_TEXUNIT0_ADDR6" }, | ||
| 67 | { 0x08B, "GPUREG_TEXUNIT0_SHADOW" }, | ||
| 68 | |||
| 69 | { 0x08E, "GPUREG_TEXUNIT0_TYPE" }, | ||
| 70 | { 0x08F, "GPUREG_LIGHTING_ENABLE0" }, | ||
| 71 | |||
| 72 | { 0x091, "GPUREG_TEXUNIT1_BORDER_COLOR" }, | ||
| 73 | { 0x092, "GPUREG_TEXUNIT1_DIM" }, | ||
| 74 | { 0x093, "GPUREG_TEXUNIT1_PARAM" }, | ||
| 75 | { 0x094, "GPUREG_TEXUNIT1_LOD" }, | ||
| 76 | { 0x095, "GPUREG_TEXUNIT1_ADDR" }, | ||
| 77 | { 0x096, "GPUREG_TEXUNIT1_TYPE" }, | ||
| 78 | |||
| 79 | { 0x099, "GPUREG_TEXUNIT2_BORDER_COLOR" }, | ||
| 80 | { 0x09A, "GPUREG_TEXUNIT2_DIM" }, | ||
| 81 | { 0x09B, "GPUREG_TEXUNIT2_PARAM" }, | ||
| 82 | { 0x09C, "GPUREG_TEXUNIT2_LOD" }, | ||
| 83 | { 0x09D, "GPUREG_TEXUNIT2_ADDR" }, | ||
| 84 | { 0x09E, "GPUREG_TEXUNIT2_TYPE" }, | ||
| 85 | |||
| 86 | { 0x0A8, "GPUREG_TEXUNIT3_PROCTEX0" }, | ||
| 87 | { 0x0A9, "GPUREG_TEXUNIT3_PROCTEX1" }, | ||
| 88 | { 0x0AA, "GPUREG_TEXUNIT3_PROCTEX2" }, | ||
| 89 | { 0x0AB, "GPUREG_TEXUNIT3_PROCTEX3" }, | ||
| 90 | { 0x0AC, "GPUREG_TEXUNIT3_PROCTEX4" }, | ||
| 91 | { 0x0AD, "GPUREG_TEXUNIT3_PROCTEX5" }, | ||
| 92 | |||
| 93 | { 0x0AF, "GPUREG_PROCTEX_LUT" }, | ||
| 94 | { 0x0B0, "GPUREG_PROCTEX_LUT_DATA0" }, | ||
| 95 | { 0x0B1, "GPUREG_PROCTEX_LUT_DATA1" }, | ||
| 96 | { 0x0B2, "GPUREG_PROCTEX_LUT_DATA2" }, | ||
| 97 | { 0x0B3, "GPUREG_PROCTEX_LUT_DATA3" }, | ||
| 98 | { 0x0B4, "GPUREG_PROCTEX_LUT_DATA4" }, | ||
| 99 | { 0x0B5, "GPUREG_PROCTEX_LUT_DATA5" }, | ||
| 100 | { 0x0B6, "GPUREG_PROCTEX_LUT_DATA6" }, | ||
| 101 | { 0x0B7, "GPUREG_PROCTEX_LUT_DATA7" }, | ||
| 102 | |||
| 103 | { 0x0C0, "GPUREG_TEXENV0_SOURCE" }, | ||
| 104 | { 0x0C1, "GPUREG_TEXENV0_OPERAND" }, | ||
| 105 | { 0x0C2, "GPUREG_TEXENV0_COMBINER" }, | ||
| 106 | { 0x0C3, "GPUREG_TEXENV0_COLOR" }, | ||
| 107 | { 0x0C4, "GPUREG_TEXENV0_SCALE" }, | ||
| 108 | |||
| 109 | { 0x0C8, "GPUREG_TEXENV1_SOURCE" }, | ||
| 110 | { 0x0C9, "GPUREG_TEXENV1_OPERAND" }, | ||
| 111 | { 0x0CA, "GPUREG_TEXENV1_COMBINER" }, | ||
| 112 | { 0x0CB, "GPUREG_TEXENV1_COLOR" }, | ||
| 113 | { 0x0CC, "GPUREG_TEXENV1_SCALE" }, | ||
| 114 | |||
| 115 | { 0x0D0, "GPUREG_TEXENV2_SOURCE" }, | ||
| 116 | { 0x0D1, "GPUREG_TEXENV2_OPERAND" }, | ||
| 117 | { 0x0D2, "GPUREG_TEXENV2_COMBINER" }, | ||
| 118 | { 0x0D3, "GPUREG_TEXENV2_COLOR" }, | ||
| 119 | { 0x0D4, "GPUREG_TEXENV2_SCALE" }, | ||
| 120 | |||
| 121 | { 0x0D8, "GPUREG_TEXENV3_SOURCE" }, | ||
| 122 | { 0x0D9, "GPUREG_TEXENV3_OPERAND" }, | ||
| 123 | { 0x0DA, "GPUREG_TEXENV3_COMBINER" }, | ||
| 124 | { 0x0DB, "GPUREG_TEXENV3_COLOR" }, | ||
| 125 | { 0x0DC, "GPUREG_TEXENV3_SCALE" }, | ||
| 126 | |||
| 127 | { 0x0E0, "GPUREG_TEXENV_UPDATE_BUFFER" }, | ||
| 128 | { 0x0E1, "GPUREG_FOG_COLOR" }, | ||
| 129 | |||
| 130 | { 0x0E4, "GPUREG_GAS_ATTENUATION" }, | ||
| 131 | { 0x0E5, "GPUREG_GAS_ACCMAX" }, | ||
| 132 | { 0x0E6, "GPUREG_FOG_LUT_INDEX" }, | ||
| 133 | |||
| 134 | { 0x0E8, "GPUREG_FOG_LUT_DATA0" }, | ||
| 135 | { 0x0E9, "GPUREG_FOG_LUT_DATA1" }, | ||
| 136 | { 0x0EA, "GPUREG_FOG_LUT_DATA2" }, | ||
| 137 | { 0x0EB, "GPUREG_FOG_LUT_DATA3" }, | ||
| 138 | { 0x0EC, "GPUREG_FOG_LUT_DATA4" }, | ||
| 139 | { 0x0ED, "GPUREG_FOG_LUT_DATA5" }, | ||
| 140 | { 0x0EE, "GPUREG_FOG_LUT_DATA6" }, | ||
| 141 | { 0x0EF, "GPUREG_FOG_LUT_DATA7" }, | ||
| 142 | { 0x0F0, "GPUREG_TEXENV4_SOURCE" }, | ||
| 143 | { 0x0F1, "GPUREG_TEXENV4_OPERAND" }, | ||
| 144 | { 0x0F2, "GPUREG_TEXENV4_COMBINER" }, | ||
| 145 | { 0x0F3, "GPUREG_TEXENV4_COLOR" }, | ||
| 146 | { 0x0F4, "GPUREG_TEXENV4_SCALE" }, | ||
| 147 | |||
| 148 | { 0x0F8, "GPUREG_TEXENV5_SOURCE" }, | ||
| 149 | { 0x0F9, "GPUREG_TEXENV5_OPERAND" }, | ||
| 150 | { 0x0FA, "GPUREG_TEXENV5_COMBINER" }, | ||
| 151 | { 0x0FB, "GPUREG_TEXENV5_COLOR" }, | ||
| 152 | { 0x0FC, "GPUREG_TEXENV5_SCALE" }, | ||
| 153 | { 0x0FD, "GPUREG_TEXENV_BUFFER_COLOR" }, | ||
| 154 | |||
| 155 | { 0x100, "GPUREG_COLOR_OPERATION" }, | ||
| 156 | { 0x101, "GPUREG_BLEND_FUNC" }, | ||
| 157 | { 0x102, "GPUREG_LOGIC_OP" }, | ||
| 158 | { 0x103, "GPUREG_BLEND_COLOR" }, | ||
| 159 | { 0x104, "GPUREG_FRAGOP_ALPHA_TEST" }, | ||
| 160 | { 0x105, "GPUREG_STENCIL_TEST" }, | ||
| 161 | { 0x106, "GPUREG_STENCIL_OP" }, | ||
| 162 | { 0x107, "GPUREG_DEPTH_COLOR_MASK" }, | ||
| 163 | |||
| 164 | { 0x110, "GPUREG_FRAMEBUFFER_INVALIDATE" }, | ||
| 165 | { 0x111, "GPUREG_FRAMEBUFFER_FLUSH" }, | ||
| 166 | { 0x112, "GPUREG_COLORBUFFER_READ" }, | ||
| 167 | { 0x113, "GPUREG_COLORBUFFER_WRITE" }, | ||
| 168 | { 0x114, "GPUREG_DEPTHBUFFER_READ" }, | ||
| 169 | { 0x115, "GPUREG_DEPTHBUFFER_WRITE" }, | ||
| 170 | { 0x116, "GPUREG_DEPTHBUFFER_FORMAT" }, | ||
| 171 | { 0x117, "GPUREG_COLORBUFFER_FORMAT" }, | ||
| 172 | { 0x118, "GPUREG_EARLYDEPTH_TEST2" }, | ||
| 173 | |||
| 174 | { 0x11B, "GPUREG_FRAMEBUFFER_BLOCK32" }, | ||
| 175 | { 0x11C, "GPUREG_DEPTHBUFFER_LOC" }, | ||
| 176 | { 0x11D, "GPUREG_COLORBUFFER_LOC" }, | ||
| 177 | { 0x11E, "GPUREG_FRAMEBUFFER_DIM" }, | ||
| 178 | |||
| 179 | { 0x120, "GPUREG_GAS_LIGHT_XY" }, | ||
| 180 | { 0x121, "GPUREG_GAS_LIGHT_Z" }, | ||
| 181 | { 0x122, "GPUREG_GAS_LIGHT_Z_COLOR" }, | ||
| 182 | { 0x123, "GPUREG_GAS_LUT_INDEX" }, | ||
| 183 | { 0x124, "GPUREG_GAS_LUT_DATA" }, | ||
| 184 | |||
| 185 | { 0x126, "GPUREG_GAS_DELTAZ_DEPTH" }, | ||
| 186 | |||
| 187 | { 0x130, "GPUREG_FRAGOP_SHADOW" }, | ||
| 188 | |||
| 189 | { 0x140, "GPUREG_LIGHT0_SPECULAR0" }, | ||
| 190 | { 0x141, "GPUREG_LIGHT0_SPECULAR1" }, | ||
| 191 | { 0x142, "GPUREG_LIGHT0_DIFFUSE" }, | ||
| 192 | { 0x143, "GPUREG_LIGHT0_AMBIENT" }, | ||
| 193 | { 0x144, "GPUREG_LIGHT0_XY" }, | ||
| 194 | { 0x145, "GPUREG_LIGHT0_Z" }, | ||
| 195 | { 0x146, "GPUREG_LIGHT0_SPOTDIR_XY" }, | ||
| 196 | { 0x147, "GPUREG_LIGHT0_SPOTDIR_Z" }, | ||
| 197 | |||
| 198 | { 0x149, "GPUREG_LIGHT0_CONFIG" }, | ||
| 199 | { 0x14A, "GPUREG_LIGHT0_ATTENUATION_BIAS" }, | ||
| 200 | { 0x14B, "GPUREG_LIGHT0_ATTENUATION_SCALE" }, | ||
| 201 | |||
| 202 | { 0x150, "GPUREG_LIGHT1_SPECULAR0" }, | ||
| 203 | { 0x151, "GPUREG_LIGHT1_SPECULAR1" }, | ||
| 204 | { 0x152, "GPUREG_LIGHT1_DIFFUSE" }, | ||
| 205 | { 0x153, "GPUREG_LIGHT1_AMBIENT" }, | ||
| 206 | { 0x154, "GPUREG_LIGHT1_XY" }, | ||
| 207 | { 0x155, "GPUREG_LIGHT1_Z" }, | ||
| 208 | { 0x156, "GPUREG_LIGHT1_SPOTDIR_XY" }, | ||
| 209 | { 0x157, "GPUREG_LIGHT1_SPOTDIR_Z" }, | ||
| 210 | |||
| 211 | { 0x159, "GPUREG_LIGHT1_CONFIG" }, | ||
| 212 | { 0x15A, "GPUREG_LIGHT1_ATTENUATION_BIAS" }, | ||
| 213 | { 0x15B, "GPUREG_LIGHT1_ATTENUATION_SCALE" }, | ||
| 214 | |||
| 215 | { 0x160, "GPUREG_LIGHT2_SPECULAR0" }, | ||
| 216 | { 0x161, "GPUREG_LIGHT2_SPECULAR1" }, | ||
| 217 | { 0x162, "GPUREG_LIGHT2_DIFFUSE" }, | ||
| 218 | { 0x163, "GPUREG_LIGHT2_AMBIENT" }, | ||
| 219 | { 0x164, "GPUREG_LIGHT2_XY" }, | ||
| 220 | { 0x165, "GPUREG_LIGHT2_Z" }, | ||
| 221 | { 0x166, "GPUREG_LIGHT2_SPOTDIR_XY" }, | ||
| 222 | { 0x167, "GPUREG_LIGHT2_SPOTDIR_Z" }, | ||
| 223 | |||
| 224 | { 0x169, "GPUREG_LIGHT2_CONFIG" }, | ||
| 225 | { 0x16A, "GPUREG_LIGHT2_ATTENUATION_BIAS" }, | ||
| 226 | { 0x16B, "GPUREG_LIGHT2_ATTENUATION_SCALE" }, | ||
| 227 | |||
| 228 | { 0x170, "GPUREG_LIGHT3_SPECULAR0" }, | ||
| 229 | { 0x171, "GPUREG_LIGHT3_SPECULAR1" }, | ||
| 230 | { 0x172, "GPUREG_LIGHT3_DIFFUSE" }, | ||
| 231 | { 0x173, "GPUREG_LIGHT3_AMBIENT" }, | ||
| 232 | { 0x174, "GPUREG_LIGHT3_XY" }, | ||
| 233 | { 0x175, "GPUREG_LIGHT3_Z" }, | ||
| 234 | { 0x176, "GPUREG_LIGHT3_SPOTDIR_XY" }, | ||
| 235 | { 0x177, "GPUREG_LIGHT3_SPOTDIR_Z" }, | ||
| 236 | |||
| 237 | { 0x179, "GPUREG_LIGHT3_CONFIG" }, | ||
| 238 | { 0x17A, "GPUREG_LIGHT3_ATTENUATION_BIAS" }, | ||
| 239 | { 0x17B, "GPUREG_LIGHT3_ATTENUATION_SCALE" }, | ||
| 240 | |||
| 241 | { 0x180, "GPUREG_LIGHT4_SPECULAR0" }, | ||
| 242 | { 0x181, "GPUREG_LIGHT4_SPECULAR1" }, | ||
| 243 | { 0x182, "GPUREG_LIGHT4_DIFFUSE" }, | ||
| 244 | { 0x183, "GPUREG_LIGHT4_AMBIENT" }, | ||
| 245 | { 0x184, "GPUREG_LIGHT4_XY" }, | ||
| 246 | { 0x185, "GPUREG_LIGHT4_Z" }, | ||
| 247 | { 0x186, "GPUREG_LIGHT4_SPOTDIR_XY" }, | ||
| 248 | { 0x187, "GPUREG_LIGHT4_SPOTDIR_Z" }, | ||
| 249 | |||
| 250 | { 0x189, "GPUREG_LIGHT4_CONFIG" }, | ||
| 251 | { 0x18A, "GPUREG_LIGHT4_ATTENUATION_BIAS" }, | ||
| 252 | { 0x18B, "GPUREG_LIGHT4_ATTENUATION_SCALE" }, | ||
| 253 | |||
| 254 | { 0x190, "GPUREG_LIGHT5_SPECULAR0" }, | ||
| 255 | { 0x191, "GPUREG_LIGHT5_SPECULAR1" }, | ||
| 256 | { 0x192, "GPUREG_LIGHT5_DIFFUSE" }, | ||
| 257 | { 0x193, "GPUREG_LIGHT5_AMBIENT" }, | ||
| 258 | { 0x194, "GPUREG_LIGHT5_XY" }, | ||
| 259 | { 0x195, "GPUREG_LIGHT5_Z" }, | ||
| 260 | { 0x196, "GPUREG_LIGHT5_SPOTDIR_XY" }, | ||
| 261 | { 0x197, "GPUREG_LIGHT5_SPOTDIR_Z" }, | ||
| 262 | |||
| 263 | { 0x199, "GPUREG_LIGHT5_CONFIG" }, | ||
| 264 | { 0x19A, "GPUREG_LIGHT5_ATTENUATION_BIAS" }, | ||
| 265 | { 0x19B, "GPUREG_LIGHT5_ATTENUATION_SCALE" }, | ||
| 266 | |||
| 267 | { 0x1A0, "GPUREG_LIGHT6_SPECULAR0" }, | ||
| 268 | { 0x1A1, "GPUREG_LIGHT6_SPECULAR1" }, | ||
| 269 | { 0x1A2, "GPUREG_LIGHT6_DIFFUSE" }, | ||
| 270 | { 0x1A3, "GPUREG_LIGHT6_AMBIENT" }, | ||
| 271 | { 0x1A4, "GPUREG_LIGHT6_XY" }, | ||
| 272 | { 0x1A5, "GPUREG_LIGHT6_Z" }, | ||
| 273 | { 0x1A6, "GPUREG_LIGHT6_SPOTDIR_XY" }, | ||
| 274 | { 0x1A7, "GPUREG_LIGHT6_SPOTDIR_Z" }, | ||
| 275 | |||
| 276 | { 0x1A9, "GPUREG_LIGHT6_CONFIG" }, | ||
| 277 | { 0x1AA, "GPUREG_LIGHT6_ATTENUATION_BIAS" }, | ||
| 278 | { 0x1AB, "GPUREG_LIGHT6_ATTENUATION_SCALE" }, | ||
| 279 | |||
| 280 | { 0x1B0, "GPUREG_LIGHT7_SPECULAR0" }, | ||
| 281 | { 0x1B1, "GPUREG_LIGHT7_SPECULAR1" }, | ||
| 282 | { 0x1B2, "GPUREG_LIGHT7_DIFFUSE" }, | ||
| 283 | { 0x1B3, "GPUREG_LIGHT7_AMBIENT" }, | ||
| 284 | { 0x1B4, "GPUREG_LIGHT7_XY" }, | ||
| 285 | { 0x1B5, "GPUREG_LIGHT7_Z" }, | ||
| 286 | { 0x1B6, "GPUREG_LIGHT7_SPOTDIR_XY" }, | ||
| 287 | { 0x1B7, "GPUREG_LIGHT7_SPOTDIR_Z" }, | ||
| 288 | |||
| 289 | { 0x1B9, "GPUREG_LIGHT7_CONFIG" }, | ||
| 290 | { 0x1BA, "GPUREG_LIGHT7_ATTENUATION_BIAS" }, | ||
| 291 | { 0x1BB, "GPUREG_LIGHT7_ATTENUATION_SCALE" }, | ||
| 292 | |||
| 293 | { 0x1C0, "GPUREG_LIGHTING_AMBIENT" }, | ||
| 294 | |||
| 295 | { 0x1C2, "GPUREG_LIGHTING_NUM_LIGHTS" }, | ||
| 296 | { 0x1C3, "GPUREG_LIGHTING_CONFIG0" }, | ||
| 297 | { 0x1C4, "GPUREG_LIGHTING_CONFIG1" }, | ||
| 298 | { 0x1C5, "GPUREG_LIGHTING_LUT_INDEX" }, | ||
| 299 | { 0x1C6, "GPUREG_LIGHTING_ENABLE1" }, | ||
| 300 | |||
| 301 | { 0x1C8, "GPUREG_LIGHTING_LUT_DATA0" }, | ||
| 302 | { 0x1C9, "GPUREG_LIGHTING_LUT_DATA1" }, | ||
| 303 | { 0x1CA, "GPUREG_LIGHTING_LUT_DATA2" }, | ||
| 304 | { 0x1CB, "GPUREG_LIGHTING_LUT_DATA3" }, | ||
| 305 | { 0x1CC, "GPUREG_LIGHTING_LUT_DATA4" }, | ||
| 306 | { 0x1CD, "GPUREG_LIGHTING_LUT_DATA5" }, | ||
| 307 | { 0x1CE, "GPUREG_LIGHTING_LUT_DATA6" }, | ||
| 308 | { 0x1CF, "GPUREG_LIGHTING_LUT_DATA7" }, | ||
| 309 | { 0x1D0, "GPUREG_LIGHTING_LUTINPUT_ABS" }, | ||
| 310 | { 0x1D1, "GPUREG_LIGHTING_LUTINPUT_SELECT" }, | ||
| 311 | { 0x1D2, "GPUREG_LIGHTING_LUTINPUT_SCALE" }, | ||
| 312 | |||
| 313 | { 0x1D9, "GPUREG_LIGHTING_LIGHT_PERMUTATION" }, | ||
| 314 | |||
| 315 | { 0x200, "GPUREG_ATTRIBBUFFERS_LOC" }, | ||
| 316 | { 0x201, "GPUREG_ATTRIBBUFFERS_FORMAT_LOW" }, | ||
| 317 | { 0x202, "GPUREG_ATTRIBBUFFERS_FORMAT_HIGH" }, | ||
| 318 | { 0x203, "GPUREG_ATTRIBBUFFER0_OFFSET" }, | ||
| 319 | { 0x204, "GPUREG_ATTRIBBUFFER0_CONFIG1" }, | ||
| 320 | { 0x205, "GPUREG_ATTRIBBUFFER0_CONFIG2" }, | ||
| 321 | { 0x206, "GPUREG_ATTRIBBUFFER1_OFFSET" }, | ||
| 322 | { 0x207, "GPUREG_ATTRIBBUFFER1_CONFIG1" }, | ||
| 323 | { 0x208, "GPUREG_ATTRIBBUFFER1_CONFIG2" }, | ||
| 324 | { 0x209, "GPUREG_ATTRIBBUFFER2_OFFSET" }, | ||
| 325 | { 0x20A, "GPUREG_ATTRIBBUFFER2_CONFIG1" }, | ||
| 326 | { 0x20B, "GPUREG_ATTRIBBUFFER2_CONFIG2" }, | ||
| 327 | { 0x20C, "GPUREG_ATTRIBBUFFER3_OFFSET" }, | ||
| 328 | { 0x20D, "GPUREG_ATTRIBBUFFER3_CONFIG1" }, | ||
| 329 | { 0x20E, "GPUREG_ATTRIBBUFFER3_CONFIG2" }, | ||
| 330 | { 0x20F, "GPUREG_ATTRIBBUFFER4_OFFSET" }, | ||
| 331 | { 0x210, "GPUREG_ATTRIBBUFFER4_CONFIG1" }, | ||
| 332 | { 0x211, "GPUREG_ATTRIBBUFFER4_CONFIG2" }, | ||
| 333 | { 0x212, "GPUREG_ATTRIBBUFFER5_OFFSET" }, | ||
| 334 | { 0x213, "GPUREG_ATTRIBBUFFER5_CONFIG1" }, | ||
| 335 | { 0x214, "GPUREG_ATTRIBBUFFER5_CONFIG2" }, | ||
| 336 | { 0x215, "GPUREG_ATTRIBBUFFER6_OFFSET" }, | ||
| 337 | { 0x216, "GPUREG_ATTRIBBUFFER6_CONFIG1" }, | ||
| 338 | { 0x217, "GPUREG_ATTRIBBUFFER6_CONFIG2" }, | ||
| 339 | { 0x218, "GPUREG_ATTRIBBUFFER7_OFFSET" }, | ||
| 340 | { 0x219, "GPUREG_ATTRIBBUFFER7_CONFIG1" }, | ||
| 341 | { 0x21A, "GPUREG_ATTRIBBUFFER7_CONFIG2" }, | ||
| 342 | { 0x21B, "GPUREG_ATTRIBBUFFER8_OFFSET" }, | ||
| 343 | { 0x21C, "GPUREG_ATTRIBBUFFER8_CONFIG1" }, | ||
| 344 | { 0x21D, "GPUREG_ATTRIBBUFFER8_CONFIG2" }, | ||
| 345 | { 0x21E, "GPUREG_ATTRIBBUFFER9_OFFSET" }, | ||
| 346 | { 0x21F, "GPUREG_ATTRIBBUFFER9_CONFIG1" }, | ||
| 347 | { 0x220, "GPUREG_ATTRIBBUFFER9_CONFIG2" }, | ||
| 348 | { 0x221, "GPUREG_ATTRIBBUFFER10_OFFSET" }, | ||
| 349 | { 0x222, "GPUREG_ATTRIBBUFFER10_CONFIG1" }, | ||
| 350 | { 0x223, "GPUREG_ATTRIBBUFFER10_CONFIG2" }, | ||
| 351 | { 0x224, "GPUREG_ATTRIBBUFFER11_OFFSET" }, | ||
| 352 | { 0x225, "GPUREG_ATTRIBBUFFER11_CONFIG1" }, | ||
| 353 | { 0x226, "GPUREG_ATTRIBBUFFER11_CONFIG2" }, | ||
| 354 | { 0x227, "GPUREG_INDEXBUFFER_CONFIG" }, | ||
| 355 | { 0x228, "GPUREG_NUMVERTICES" }, | ||
| 356 | { 0x229, "GPUREG_GEOSTAGE_CONFIG" }, | ||
| 357 | { 0x22A, "GPUREG_VERTEX_OFFSET" }, | ||
| 358 | |||
| 359 | { 0x22D, "GPUREG_POST_VERTEX_CACHE_NUM" }, | ||
| 360 | { 0x22E, "GPUREG_DRAWARRAYS" }, | ||
| 361 | { 0x22F, "GPUREG_DRAWELEMENTS" }, | ||
| 362 | |||
| 363 | { 0x231, "GPUREG_VTX_FUNC" }, | ||
| 364 | { 0x232, "GPUREG_FIXEDATTRIB_INDEX" }, | ||
| 365 | { 0x233, "GPUREG_FIXEDATTRIB_DATA0" }, | ||
| 366 | { 0x234, "GPUREG_FIXEDATTRIB_DATA1" }, | ||
| 367 | { 0x235, "GPUREG_FIXEDATTRIB_DATA2" }, | ||
| 368 | |||
| 369 | { 0x238, "GPUREG_CMDBUF_SIZE0" }, | ||
| 370 | { 0x239, "GPUREG_CMDBUF_SIZE1" }, | ||
| 371 | { 0x23A, "GPUREG_CMDBUF_ADDR0" }, | ||
| 372 | { 0x23B, "GPUREG_CMDBUF_ADDR1" }, | ||
| 373 | { 0x23C, "GPUREG_CMDBUF_JUMP0" }, | ||
| 374 | { 0x23D, "GPUREG_CMDBUF_JUMP1" }, | ||
| 375 | |||
| 376 | { 0x242, "GPUREG_VSH_NUM_ATTR" }, | ||
| 377 | |||
| 378 | { 0x244, "GPUREG_VSH_COM_MODE" }, | ||
| 379 | { 0x245, "GPUREG_START_DRAW_FUNC0" }, | ||
| 380 | |||
| 381 | { 0x24A, "GPUREG_VSH_OUTMAP_TOTAL1" }, | ||
| 382 | |||
| 383 | { 0x251, "GPUREG_VSH_OUTMAP_TOTAL2" }, | ||
| 384 | { 0x252, "GPUREG_GSH_MISC0" }, | ||
| 385 | { 0x253, "GPUREG_GEOSTAGE_CONFIG2" }, | ||
| 386 | { 0x254, "GPUREG_GSH_MISC1" }, | ||
| 387 | |||
| 388 | { 0x25E, "GPUREG_PRIMITIVE_CONFIG" }, | ||
| 389 | { 0x25F, "GPUREG_RESTART_PRIMITIVE" }, | ||
| 390 | |||
| 391 | { 0x280, "GPUREG_GSH_BOOLUNIFORM" }, | ||
| 392 | { 0x281, "GPUREG_GSH_INTUNIFORM_I0" }, | ||
| 393 | { 0x282, "GPUREG_GSH_INTUNIFORM_I1" }, | ||
| 394 | { 0x283, "GPUREG_GSH_INTUNIFORM_I2" }, | ||
| 395 | { 0x284, "GPUREG_GSH_INTUNIFORM_I3" }, | ||
| 396 | |||
| 397 | { 0x289, "GPUREG_GSH_INPUTBUFFER_CONFIG" }, | ||
| 398 | { 0x28A, "GPUREG_GSH_ENTRYPOINT" }, | ||
| 399 | { 0x28B, "GPUREG_GSH_ATTRIBUTES_PERMUTATION_LOW" }, | ||
| 400 | { 0x28C, "GPUREG_GSH_ATTRIBUTES_PERMUTATION_HIGH" }, | ||
| 401 | { 0x28D, "GPUREG_GSH_OUTMAP_MASK" }, | ||
| 402 | |||
| 403 | { 0x28F, "GPUREG_GSH_CODETRANSFER_END" }, | ||
| 404 | { 0x290, "GPUREG_GSH_FLOATUNIFORM_INDEX" }, | ||
| 405 | { 0x291, "GPUREG_GSH_FLOATUNIFORM_DATA0" }, | ||
| 406 | { 0x292, "GPUREG_GSH_FLOATUNIFORM_DATA1" }, | ||
| 407 | { 0x293, "GPUREG_GSH_FLOATUNIFORM_DATA2" }, | ||
| 408 | { 0x294, "GPUREG_GSH_FLOATUNIFORM_DATA3" }, | ||
| 409 | { 0x295, "GPUREG_GSH_FLOATUNIFORM_DATA4" }, | ||
| 410 | { 0x296, "GPUREG_GSH_FLOATUNIFORM_DATA5" }, | ||
| 411 | { 0x297, "GPUREG_GSH_FLOATUNIFORM_DATA6" }, | ||
| 412 | { 0x298, "GPUREG_GSH_FLOATUNIFORM_DATA7" }, | ||
| 413 | |||
| 414 | { 0x29B, "GPUREG_GSH_CODETRANSFER_INDEX" }, | ||
| 415 | { 0x29C, "GPUREG_GSH_CODETRANSFER_DATA0" }, | ||
| 416 | { 0x29D, "GPUREG_GSH_CODETRANSFER_DATA1" }, | ||
| 417 | { 0x29E, "GPUREG_GSH_CODETRANSFER_DATA2" }, | ||
| 418 | { 0x29F, "GPUREG_GSH_CODETRANSFER_DATA3" }, | ||
| 419 | { 0x2A0, "GPUREG_GSH_CODETRANSFER_DATA4" }, | ||
| 420 | { 0x2A1, "GPUREG_GSH_CODETRANSFER_DATA5" }, | ||
| 421 | { 0x2A2, "GPUREG_GSH_CODETRANSFER_DATA6" }, | ||
| 422 | { 0x2A3, "GPUREG_GSH_CODETRANSFER_DATA7" }, | ||
| 423 | |||
| 424 | { 0x2A5, "GPUREG_GSH_OPDESCS_INDEX" }, | ||
| 425 | { 0x2A6, "GPUREG_GSH_OPDESCS_DATA0" }, | ||
| 426 | { 0x2A7, "GPUREG_GSH_OPDESCS_DATA1" }, | ||
| 427 | { 0x2A8, "GPUREG_GSH_OPDESCS_DATA2" }, | ||
| 428 | { 0x2A9, "GPUREG_GSH_OPDESCS_DATA3" }, | ||
| 429 | { 0x2AA, "GPUREG_GSH_OPDESCS_DATA4" }, | ||
| 430 | { 0x2AB, "GPUREG_GSH_OPDESCS_DATA5" }, | ||
| 431 | { 0x2AC, "GPUREG_GSH_OPDESCS_DATA6" }, | ||
| 432 | { 0x2AD, "GPUREG_GSH_OPDESCS_DATA7" }, | ||
| 433 | |||
| 434 | { 0x2B0, "GPUREG_VSH_BOOLUNIFORM" }, | ||
| 435 | { 0x2B1, "GPUREG_VSH_INTUNIFORM_I0" }, | ||
| 436 | { 0x2B2, "GPUREG_VSH_INTUNIFORM_I1" }, | ||
| 437 | { 0x2B3, "GPUREG_VSH_INTUNIFORM_I2" }, | ||
| 438 | { 0x2B4, "GPUREG_VSH_INTUNIFORM_I3" }, | ||
| 439 | |||
| 440 | { 0x2B9, "GPUREG_VSH_INPUTBUFFER_CONFIG" }, | ||
| 441 | { 0x2BA, "GPUREG_VSH_ENTRYPOINT" }, | ||
| 442 | { 0x2BB, "GPUREG_VSH_ATTRIBUTES_PERMUTATION_LOW" }, | ||
| 443 | { 0x2BC, "GPUREG_VSH_ATTRIBUTES_PERMUTATION_HIGH" }, | ||
| 444 | { 0x2BD, "GPUREG_VSH_OUTMAP_MASK" }, | ||
| 445 | |||
| 446 | { 0x2BF, "GPUREG_VSH_CODETRANSFER_END" }, | ||
| 447 | { 0x2C0, "GPUREG_VSH_FLOATUNIFORM_INDEX" }, | ||
| 448 | { 0x2C1, "GPUREG_VSH_FLOATUNIFORM_DATA0" }, | ||
| 449 | { 0x2C2, "GPUREG_VSH_FLOATUNIFORM_DATA1" }, | ||
| 450 | { 0x2C3, "GPUREG_VSH_FLOATUNIFORM_DATA2" }, | ||
| 451 | { 0x2C4, "GPUREG_VSH_FLOATUNIFORM_DATA3" }, | ||
| 452 | { 0x2C5, "GPUREG_VSH_FLOATUNIFORM_DATA4" }, | ||
| 453 | { 0x2C6, "GPUREG_VSH_FLOATUNIFORM_DATA5" }, | ||
| 454 | { 0x2C7, "GPUREG_VSH_FLOATUNIFORM_DATA6" }, | ||
| 455 | { 0x2C8, "GPUREG_VSH_FLOATUNIFORM_DATA7" }, | ||
| 456 | |||
| 457 | { 0x2CB, "GPUREG_VSH_CODETRANSFER_INDEX" }, | ||
| 458 | { 0x2CC, "GPUREG_VSH_CODETRANSFER_DATA0" }, | ||
| 459 | { 0x2CD, "GPUREG_VSH_CODETRANSFER_DATA1" }, | ||
| 460 | { 0x2CE, "GPUREG_VSH_CODETRANSFER_DATA2" }, | ||
| 461 | { 0x2CF, "GPUREG_VSH_CODETRANSFER_DATA3" }, | ||
| 462 | { 0x2D0, "GPUREG_VSH_CODETRANSFER_DATA4" }, | ||
| 463 | { 0x2D1, "GPUREG_VSH_CODETRANSFER_DATA5" }, | ||
| 464 | { 0x2D2, "GPUREG_VSH_CODETRANSFER_DATA6" }, | ||
| 465 | { 0x2D3, "GPUREG_VSH_CODETRANSFER_DATA7" }, | ||
| 466 | |||
| 467 | { 0x2D5, "GPUREG_VSH_OPDESCS_INDEX" }, | ||
| 468 | { 0x2D6, "GPUREG_VSH_OPDESCS_DATA0" }, | ||
| 469 | { 0x2D7, "GPUREG_VSH_OPDESCS_DATA1" }, | ||
| 470 | { 0x2D8, "GPUREG_VSH_OPDESCS_DATA2" }, | ||
| 471 | { 0x2D9, "GPUREG_VSH_OPDESCS_DATA3" }, | ||
| 472 | { 0x2DA, "GPUREG_VSH_OPDESCS_DATA4" }, | ||
| 473 | { 0x2DB, "GPUREG_VSH_OPDESCS_DATA5" }, | ||
| 474 | { 0x2DC, "GPUREG_VSH_OPDESCS_DATA6" }, | ||
| 475 | { 0x2DD, "GPUREG_VSH_OPDESCS_DATA7" }, | ||
| 476 | }; | ||
| 477 | |||
| 15 | std::string Regs::GetCommandName(int index) { | 478 | std::string Regs::GetCommandName(int index) { |
| 16 | static std::unordered_map<u32, std::string> map; | 479 | static std::unordered_map<u32, const char*> map; |
| 17 | 480 | ||
| 18 | if (map.empty()) { | 481 | if (map.empty()) { |
| 19 | #define ADD_FIELD(name) \ | 482 | map.insert(begin(register_names), end(register_names)); |
| 20 | map.insert({static_cast<u32>(PICA_REG_INDEX(name)), #name}); \ | ||
| 21 | /* TODO: change to Regs::name when VS2015 and other compilers support it */ \ | ||
| 22 | for (u32 i = PICA_REG_INDEX(name) + 1; i < PICA_REG_INDEX(name) + sizeof(Regs().name) / 4; ++i) \ | ||
| 23 | map.insert({i, #name + std::string("+") + std::to_string(i-PICA_REG_INDEX(name))}); \ | ||
| 24 | |||
| 25 | ADD_FIELD(trigger_irq); | ||
| 26 | ADD_FIELD(cull_mode); | ||
| 27 | ADD_FIELD(viewport_size_x); | ||
| 28 | ADD_FIELD(viewport_size_y); | ||
| 29 | ADD_FIELD(viewport_depth_range); | ||
| 30 | ADD_FIELD(viewport_depth_far_plane); | ||
| 31 | ADD_FIELD(viewport_corner); | ||
| 32 | ADD_FIELD(texture0_enable); | ||
| 33 | ADD_FIELD(texture0); | ||
| 34 | ADD_FIELD(texture0_format); | ||
| 35 | ADD_FIELD(texture1); | ||
| 36 | ADD_FIELD(texture1_format); | ||
| 37 | ADD_FIELD(texture2); | ||
| 38 | ADD_FIELD(texture2_format); | ||
| 39 | ADD_FIELD(tev_stage0); | ||
| 40 | ADD_FIELD(tev_stage1); | ||
| 41 | ADD_FIELD(tev_stage2); | ||
| 42 | ADD_FIELD(tev_stage3); | ||
| 43 | ADD_FIELD(tev_combiner_buffer_input); | ||
| 44 | ADD_FIELD(tev_stage4); | ||
| 45 | ADD_FIELD(tev_stage5); | ||
| 46 | ADD_FIELD(tev_combiner_buffer_color); | ||
| 47 | ADD_FIELD(output_merger); | ||
| 48 | ADD_FIELD(framebuffer); | ||
| 49 | ADD_FIELD(vertex_attributes); | ||
| 50 | ADD_FIELD(index_array); | ||
| 51 | ADD_FIELD(num_vertices); | ||
| 52 | ADD_FIELD(vertex_offset); | ||
| 53 | ADD_FIELD(trigger_draw); | ||
| 54 | ADD_FIELD(trigger_draw_indexed); | ||
| 55 | ADD_FIELD(vs_default_attributes_setup); | ||
| 56 | ADD_FIELD(command_buffer); | ||
| 57 | ADD_FIELD(triangle_topology); | ||
| 58 | ADD_FIELD(restart_primitive); | ||
| 59 | ADD_FIELD(gs.bool_uniforms); | ||
| 60 | ADD_FIELD(gs.int_uniforms); | ||
| 61 | ADD_FIELD(gs.main_offset); | ||
| 62 | ADD_FIELD(gs.input_register_map); | ||
| 63 | ADD_FIELD(gs.uniform_setup); | ||
| 64 | ADD_FIELD(gs.program); | ||
| 65 | ADD_FIELD(gs.swizzle_patterns); | ||
| 66 | ADD_FIELD(vs.bool_uniforms); | ||
| 67 | ADD_FIELD(vs.int_uniforms); | ||
| 68 | ADD_FIELD(vs.main_offset); | ||
| 69 | ADD_FIELD(vs.input_register_map); | ||
| 70 | ADD_FIELD(vs.uniform_setup); | ||
| 71 | ADD_FIELD(vs.program); | ||
| 72 | ADD_FIELD(vs.swizzle_patterns); | ||
| 73 | |||
| 74 | #undef ADD_FIELD | ||
| 75 | } | 483 | } |
| 76 | 484 | ||
| 77 | // Return empty string if no match is found | 485 | // Return empty string if no match is found |