diff options
| author | 2021-04-04 09:38:15 +0200 | |
|---|---|---|
| committer | 2021-07-22 21:51:26 -0400 | |
| commit | 73cb17f41bf019df504d2d2af4ebdf45aa3201c6 (patch) | |
| tree | 97ca7cbbefaae73eb77d6e91bbcac4dbe4238c3a /src/shader_recompiler/program_header.h | |
| parent | shader: Implement indexed attributes (diff) | |
| download | yuzu-73cb17f41bf019df504d2d2af4ebdf45aa3201c6.tar.gz yuzu-73cb17f41bf019df504d2d2af4ebdf45aa3201c6.tar.xz yuzu-73cb17f41bf019df504d2d2af4ebdf45aa3201c6.zip | |
shader: Implement indexed Position and ClipDistances
Diffstat (limited to 'src/shader_recompiler/program_header.h')
| -rw-r--r-- | src/shader_recompiler/program_header.h | 45 |
1 files changed, 42 insertions, 3 deletions
diff --git a/src/shader_recompiler/program_header.h b/src/shader_recompiler/program_header.h index ce65fc1a4..15f43f2d8 100644 --- a/src/shader_recompiler/program_header.h +++ b/src/shader_recompiler/program_header.h | |||
| @@ -69,7 +69,20 @@ struct ProgramHeader { | |||
| 69 | union { | 69 | union { |
| 70 | struct { | 70 | struct { |
| 71 | INSERT_PADDING_BYTES_NOINIT(3); // ImapSystemValuesA | 71 | INSERT_PADDING_BYTES_NOINIT(3); // ImapSystemValuesA |
| 72 | INSERT_PADDING_BYTES_NOINIT(1); // ImapSystemValuesB | 72 | |
| 73 | union { | ||
| 74 | BitField<0, 1, u8> primitive_array_id; | ||
| 75 | BitField<1, 1, u8> rt_array_index; | ||
| 76 | BitField<2, 1, u8> viewport_index; | ||
| 77 | BitField<3, 1, u8> point_size; | ||
| 78 | BitField<4, 1, u8> position_x; | ||
| 79 | BitField<5, 1, u8> position_y; | ||
| 80 | BitField<6, 1, u8> position_z; | ||
| 81 | BitField<7, 1, u8> position_w; | ||
| 82 | BitField<0, 4, u8> first; | ||
| 83 | BitField<4, 4, u8> position; | ||
| 84 | u8 raw; | ||
| 85 | } imap_systemb; | ||
| 73 | 86 | ||
| 74 | union { | 87 | union { |
| 75 | BitField<0, 1, u8> x; | 88 | BitField<0, 1, u8> x; |
| @@ -99,7 +112,20 @@ struct ProgramHeader { | |||
| 99 | INSERT_PADDING_BYTES_NOINIT(5); // ImapFixedFncTexture[10] | 112 | INSERT_PADDING_BYTES_NOINIT(5); // ImapFixedFncTexture[10] |
| 100 | INSERT_PADDING_BYTES_NOINIT(1); // ImapReserved | 113 | INSERT_PADDING_BYTES_NOINIT(1); // ImapReserved |
| 101 | INSERT_PADDING_BYTES_NOINIT(3); // OmapSystemValuesA | 114 | INSERT_PADDING_BYTES_NOINIT(3); // OmapSystemValuesA |
| 102 | INSERT_PADDING_BYTES_NOINIT(1); // OmapSystemValuesB | 115 | |
| 116 | union { | ||
| 117 | BitField<0, 1, u8> primitive_array_id; | ||
| 118 | BitField<1, 1, u8> rt_array_index; | ||
| 119 | BitField<2, 1, u8> viewport_index; | ||
| 120 | BitField<3, 1, u8> point_size; | ||
| 121 | BitField<4, 1, u8> position_x; | ||
| 122 | BitField<5, 1, u8> position_y; | ||
| 123 | BitField<6, 1, u8> position_z; | ||
| 124 | BitField<7, 1, u8> position_w; | ||
| 125 | BitField<0, 4, u8> first; | ||
| 126 | BitField<4, 4, u8> position; | ||
| 127 | u8 raw; | ||
| 128 | } omap_systemb; | ||
| 103 | 129 | ||
| 104 | union { | 130 | union { |
| 105 | BitField<0, 1, u8> x; | 131 | BitField<0, 1, u8> x; |
| @@ -148,7 +174,20 @@ struct ProgramHeader { | |||
| 148 | 174 | ||
| 149 | struct { | 175 | struct { |
| 150 | INSERT_PADDING_BYTES_NOINIT(3); // ImapSystemValuesA | 176 | INSERT_PADDING_BYTES_NOINIT(3); // ImapSystemValuesA |
| 151 | INSERT_PADDING_BYTES_NOINIT(1); // ImapSystemValuesB | 177 | |
| 178 | union { | ||
| 179 | BitField<0, 1, u8> primitive_array_id; | ||
| 180 | BitField<1, 1, u8> rt_array_index; | ||
| 181 | BitField<2, 1, u8> viewport_index; | ||
| 182 | BitField<3, 1, u8> point_size; | ||
| 183 | BitField<4, 1, u8> position_x; | ||
| 184 | BitField<5, 1, u8> position_y; | ||
| 185 | BitField<6, 1, u8> position_z; | ||
| 186 | BitField<7, 1, u8> position_w; | ||
| 187 | BitField<0, 4, u8> first; | ||
| 188 | BitField<4, 4, u8> position; | ||
| 189 | u8 raw; | ||
| 190 | } imap_systemb; | ||
| 152 | 191 | ||
| 153 | union { | 192 | union { |
| 154 | BitField<0, 2, PixelImap> x; | 193 | BitField<0, 2, PixelImap> x; |