| DVLE offset table; each offset is a u32 relative to the start of the DVLB section
|-
|-
|}
|}
−
−
If there is more than 1 DVLE ( Amount > 0x01 ) the header continues with more offsets.
−
−
So if there are 3 DVLEs then 0xC would be DVLE 2's offset, 0x10 would be DVLE 3's offset, ect...
The DVLP file comes directly after the header.
The DVLP file comes directly after the header.
Line 39:
Line 35:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
−
! OFFSET
+
! Offset
−
! SIZE
+
! Size
−
! DESCRIPTION
+
! Description
|-
|-
| 0x0
| 0x0
| 0x4
| 0x4
| MAGIC "DVLP"
| MAGIC "DVLP"
+
|-
+
| 0x4
+
| 0x4
+
| ?
+
|-
+
| 0x8
+
| 0x4
+
| Offset (relative to DVLP start) to shader program binary blob
+
|-
+
| 0xC
+
| 0x4
+
| Size of shader program binary blob, in words
+
|-
+
| 0x10
+
| 0x4
+
| Offset (relative to DVLP start) to "shader table" (?)
+
|-
+
| 0x14
+
| 0x4
+
| Number of "shader table" entries (each entry is 8-byte long)
+
|-
+
| 0x18
+
| 0x4
+
| Offset (relative to DVLP start) to filename symbol table
|-
|-
|}
|}
−
−
Contains ASM of the VSH?
== DVLE ==
== DVLE ==
Line 65:
Line 83:
|}
|}
−
Contains registers of the VSH?
+
Each DVLE is associated to an individual shader pipeline stage. Typically, the first DVLE is associated to the program's vertex shader and the second is associated to the program's geometry shader.