Version Maximum number of instructions
1_x 8 for version 1_1.
12 for version 1_2 and 1_3.
14 for version 1_4.
2_0 64 arithmetic and 32 texture instructions.
2_0 Extended 96 minimum, up to 512 maximum. The exact number is specified by D3DCAPS9.PS20Caps.MaxPixelShaderInstructionSlots.
3_0 512 minimum, up to the number of slots in the D3DCAPS9.MaxPixelShader30InstructionSlots( not more than 32768 )


Version 1_x
New instructions :
- Setup instructions : def, ps
- Arithmetic instructions : add, cmp, cnd, dp3, dp4, lrp, mad, mov, mul, nop, sub
- Macros : exp, frc, log, m3x2, m3x3, m4x3, m4x4
- Texture instructions : tex, texbem, texbeml, texcoord, texcrd, texdepth, texdp3, texdp3tex, texkill, texId, texm3x2depth, texm3x2pad, texm3x2tex, texm3x3, texm3x3pad, texm3x3tex, texm3x3spec, texm3x3vspec, texreg2ar, texreg2gb, texreg2rgb

New registers : constant, temporary, texture, color

New modifiers : instruction modifiers, register modifiers, source register selectors, register write masks

Version 2_0
New instructions :
- Setup instructions : def, ps
- Arithmetic instructions : add, cmp, cnd, dp3, dp4, lrp, mad, mov, mul, nop, sub
- Macros : exp, frc, log, m3x2, m3x3, m3x4, m4x3, m4x4
- Texture instructions :
- Added : texldb, texldp
- Removed : tex, texbem, texbeml, texcoord, texcrd, texdepth, texdp3, texdp3tex, texm3x2depth, texm3x2pad, texm3x2tex, texm3x3, texm3x3pad, texm3x3tex, texm3x3spec, texm3x3vspec, texreg2ar, texreg2gb, texreg2rgb

New registers : constant float, sampler, output color, output depth

New modifiers : negate, partial precision, saturate

Removed co-issuing of instructions

Version 2_0 Extended

- New static flow control instructions ( with a cap set ) : call, callnz, else, end, endif, endloop, endrep, if, label, loop, rep, ret
- Static flow constrol nesting depth
- Number of temporary registers
- Dynamic flow control instructions : break, breakc, ifc
- Gradient instructions : dsx and dsy
- Texture instructions : texldd
- Predication : setp instruction, p# register

New registers : constant integer, constant Boolean, loop counter, predicate

New modifiers( with a cap set ) : arbitrary swizzle

Version 3_0

- Static flow control instruction : call, callnz, else, end, endif, endloop, endrep, if, label, loop, rep, ret
- Static flow control nesting depth
- Number of temporary registers
- Dynamic flow control instructions : break, breakc, ifc
- Predication : setp instruction, p# register

New registers : constant integer, constant Boolean, loop counter, predicate

New modifiers : arbitrary swizzle

출처 : MSDN
728x90

+ Recent posts