Changes

453 bytes added ,  12:59, 23 February 2014
Line 7: Line 7:  
A SHBIN's structure starts with a header, then a DVLP, then DVLE(s).
 
A SHBIN's structure starts with a header, then a DVLP, then DVLE(s).
   −
== Header ==
+
== DVLB Header ==
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 17: Line 17:  
|  0x0
 
|  0x0
 
|  0x4
 
|  0x4
MAGIC "DVLB"
+
Magic "DVLB"
 
|-
 
|-
 
|  0x4
 
|  0x4
Line 41: Line 41:  
|  0x0
 
|  0x0
 
|  0x4
 
|  0x4
MAGIC "DVLP"
+
Magic "DVLP"
 
|-
 
|-
 
|  0x4
 
|  0x4
Line 79: Line 79:  
|  0x0
 
|  0x0
 
|  0x4
 
|  0x4
MAGIC "DVLE"
+
Magic "DVLE"
 
|-
 
|-
 
|  0x20
 
|  0x20
Line 88: Line 88:  
|  0x4
 
|  0x4
 
|  Number of entries in label table
 
|  Number of entries in label table
 +
|-
 +
|  0x38
 +
|  0x4
 +
|  Offset (relative to DVLE start) to symbol table
 +
|-
 +
|  0x3C
 +
|  0x4
 +
|  Size of symbol table (in bytes)
 +
|-
 +
|}
 +
 +
Label table entry :
 +
{| class="wikitable" border="1"
 +
|-
 +
!  Offset
 +
!  Size
 +
!  Description
 +
|-
 +
|  0x0
 +
|  0x1
 +
|  Label ID
 +
|-
 +
|  0x4
 +
|  0x4
 +
|  Offset (relative to shader program blob start) to label's location, in words
 +
|-
 +
|  0x8
 +
|  0x4
 +
|  ?
 +
|-
 +
|  0xC
 +
|  0x4
 +
|  Offset (relative to DVLE symbol table start) to label's symbol
 
|-
 
|-
 
|}
 
|}
    
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.
 
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.
373

edits