Changes

Jump to navigation Jump to search
318 bytes added ,  02:45, 13 August 2021
m
no edit summary
Line 45: Line 45:  
|  0x4
 
|  0x4
 
|  0x4
 
|  0x4
|  Unknown, same value as in DVLE. (Possibly a version number?)
+
|  Unknown, same value as in DVLE. (Likely a version number)
 
|-
 
|-
 
|  0x8
 
|  0x8
Line 95: Line 95:  
|  0x4
 
|  0x4
 
|  0x2
 
|  0x2
|  Unknown, same value as in DVLP. (Possibly a version number?)
+
|  Unknown, same value as in DVLP. (Likely a version number)
 
|-
 
|-
 
|  0x6
 
|  0x6
Line 103: Line 103:  
|  0x7
 
|  0x7
 
|  0x1
 
|  0x1
|  true = merge vertex/geometry shader outmaps ('dummy' output attribute is present)
+
|  true = merge vertex and geometry shader outmaps (geometry shader)
 
|-
 
|-
 
|  0x8
 
|  0x8
Line 187: Line 187:  
|-
 
|-
 
|  0x0
 
|  0x0
0x1
+
0x2
 
|  Label ID
 
|  Label ID
 +
|-
 +
|  0x0
 +
|  0x2
 +
|  Unknown (always 1?)
 
|-
 
|-
 
|  0x4
 
|  0x4
Line 196: Line 200:  
|  0x8
 
|  0x8
 
|  0x4
 
|  0x4
?
+
Size of label's location (in words). 0xFFFFFFFF/(uint32_t)-1 if there is no size.
 
|-
 
|-
 
|  0xC
 
|  0xC
Line 206: Line 210:  
=== Constant Table Entry ===
 
=== Constant Table Entry ===
   −
Each executable's constants are stored as in a constant table. This information is used by ctrulib's SHDR framework to automatically send those values to the GPU when changing to a given program. An entry is constituted by a header and the constant data, the latter of which uses a format specific to the constant type.
+
Each executable's constants are stored in a constant table. This information is used by ctrulib's SHDR framework to automatically send those values to the GPU when changing to a given program. An entry is constituted by a header and the constant data, the latter of which uses a format specific to the constant type.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 220: Line 224:  
|  0x2
 
|  0x2
 
|  0x1
 
|  0x1
|  Constant ID
+
|  Constant register ID
 
|}
 
|}
   Line 237: Line 241:  
|  0x2
 
|  0x2
 
|  0x1
 
|  0x1
Constant bool ID
+
Boolean constant register ID
 
|-
 
|-
 
|  0x4
 
|  0x4
Line 256: Line 260:  
|  0x2
 
|  0x2
 
|  0x1
 
|  0x1
Constant integer vector ID
+
Integer constant register ID
 
|-
 
|-
 
|  0x4
 
|  0x4
Line 287: Line 291:  
|  0x2
 
|  0x2
 
|  0x1
 
|  0x1
Constant vector ID
+
floating-point constant register ID
 
|-
 
|-
 
|  0x4
 
|  0x4
Line 309: Line 313:  
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Bit
+
Offset
 +
!  Size
 
!  Description
 
!  Description
 
|-
 
|-
0-3
+
0x0
 +
|  0x2
 
|  Output type (see table below)
 
|  Output type (see table below)
 
|-
 
|-
16-19
+
0x2
 +
|  0x2
 
|  Register ID
 
|  Register ID
 
|-
 
|-
32-35
+
0x4
 +
|  0x2
 
|  Output attribute component mask (e.g. 5=xz)
 
|  Output attribute component mask (e.g. 5=xz)
 +
|-
 +
|  0x6
 +
|  0x2
 +
|  Unknown (Consistently the same number throughout the DVLE, may vary between DVLEs?)
 +
|-
 
|}
 
|}
   Line 325: Line 338:  
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
ID
+
Type
 
!  Description
 
!  Description
 
|-
 
|-
Line 360: Line 373:  
Keep in mind that the usage of the term "Uniform" here is used as [https://developer.download.nvidia.com/CgTutorial/cg_tutorial_chapter03.html defined by Nvidia] (variable who obtains its initial value from an external environment) and not as defined by RenderMan/GLSL (variables whose values are constant over a shaded surface).
 
Keep in mind that the usage of the term "Uniform" here is used as [https://developer.download.nvidia.com/CgTutorial/cg_tutorial_chapter03.html defined by Nvidia] (variable who obtains its initial value from an external environment) and not as defined by RenderMan/GLSL (variables whose values are constant over a shaded surface).
   −
The uniform table contains a list of all registers whose initial values are derived by an external source.
+
The uniform table contains a list of all registers whose initial values are derived by an external source along with their layout and associated symbol.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
35

edits

Navigation menu