GPU/Shader Instruction Set: Difference between revisions

Neobrain (talk | contribs)
nihstro is more advanced than aemstro in a number of areas, hence it makes sense to mention it here.
Smea (talk | contribs)
Instructions: geometry shader opcodes !
Line 137: Line 137:
|  1
|  1
|  MOV
|  MOV
|  Moves value from one register to another; DST = SRC1
|  Moves value from one register to another; DST = SRC1.
|-
|  0x21
|  1
|  END2
|  ?
|-
|  0x22
|  1
|  END1
|  ?
|-
|-
|  0x24
|  0x24
Line 157: Line 167:
|  2
|  2
|  IF?
|  IF?
|  If condition (don't know how condition flags work yet) is true, then executes instructions until DST, then jumps to DST+NUM; else, jumps to DST.
|  If condition (don't know how condition flags work yet) is true, then executes instructions until DST, then jumps to DST+NUM; else, jumps to DST
|-
|-
0x21
0x2A
1
0 (no param)
END2
ENDEMIT
?
(geometry shader only) Signifies that we are done emitting a vertex.
|-
|-
0x22
0x2B
|  1
|  END1
|  ?
|  ?
|  STARTEMIT
|  (geometry shader only) Signifies that we are about to emit a vertex. Parameter meaning unknown but is located at bit 22 and is 4 bit long.
|-
|-
|  0x2E
|  0x2E