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