SHBIN: Difference between revisions

Smea (talk | contribs)
mNo edit summary
Smea (talk | contribs)
Line 69: Line 69:
|}
|}


== Instructions ==
== Instruction Set ==


=== Encoding ===
For a description of the instruction set, see the following page : [[Shader Instruction Set]]
{| class="wikitable" border="1"
|-
!Name
!Description
!Encoding
|-
|DT3
|Dot product vec3*vec3
|0000 01DD DDDD DAAA AAAA BBBB BBBX XXXX
|-
|DT4
|Dot product vec4*vec4
|0000 10DD DDDD DAAA AAAA BBBB BBBX XXXX
|-
|MOV
|Move register
|0010 01DD DDDD DAAA AAAA 0000 0??X XXXX
|-
|CMP
|Set condition codes
|1011 1?DD DDDD DAAA AAAA CC?? ???X XXXX
|-
|CALL/JMP
|Jump
|1001 J??? ??SS SSSS SSSS SSLL LLLL LLLL
|-
|IF/ELSE
|Enter if-block based on condition codes
|1010 00?E ??SS SSSS SSSS SSLL LLLL LLLL
|-
|END
|Ends a block (?)
|1000 0100 0000 0000 0000 0000 0000 0000
|}
 
=== Fields ===
{| class="wikitable" border="1"
|-
!Name
!Description
|-
|D
|dest register
|-
|A
|opA register
|-
|B
|opB register
|-
|C
|Component selector for D
|-
|X
|extension id
|-
|S
|absolute offset for code (in words)
|-
|L
|number of instructions to execute
|-
|J
|JMP or CALL instruction
|-
|E
|IF or ELSE instruction
|}


== DVLE ==
== DVLE ==