|
|
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 == |