SHBIN: Difference between revisions
Line 165: | Line 165: | ||
| 0x18 | | 0x18 | ||
| 0x4 | | 0x4 | ||
| Offset (relative to DVLE start) to | | Offset (relative to DVLE start) to uniform table | ||
|- | |- | ||
| 0x1C | | 0x1C | ||
| 0x4 | | 0x4 | ||
| Number of entries in | | Number of entries in uniform table (each entry is 0x14-byte long) | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
Line 228: | Line 228: | ||
| Offset (relative to DVLE symbol table start) to label's symbol | | Offset (relative to DVLE symbol table start) to label's symbol | ||
|- | |- | ||
|} | |||
Uniform table entry : | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x2 | |||
| 0x1 | |||
| Uniform ID | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| x (float24) | |||
|- | |||
| 0x8 | |||
| 0x4 | |||
| y (float24) | |||
|- | |||
| 0xC | |||
| 0x4 | |||
| z (float24) | |||
|- | |||
| 0x10 | |||
| 0x4 | |||
| w (float24) | |||
|} | |} | ||
Line 253: | Line 281: | ||
Each DVLE is associated to an individual shader shader program contained in the binary blob. A single shader binary blob may contain multiple shader programs of the same kind. | Each DVLE is associated to an individual shader shader program contained in the binary blob. A single shader binary blob may contain multiple shader programs of the same kind. | ||
Each program's constants are stored as vec4 in a uniform table. These are sent over to the GPU when changing to a give program. |