Shader 버전별 제약

퍼옴 : http://en.wikipedia.org/wiki/High_Level_Shader_Language

PIXEL shader comparison

Pixel shader version2.02.0a2.0b3.0[2]4.0[3]
Dependent texture limit8Unlimited8UnlimitedUnlimited
Texture instruction limit32UnlimitedUnlimitedUnlimitedUnlimited
Position registerNoNoNoYesYes
Instruction slots32 + 64512512≥ 512≥ 65536
Executed instructions32 + 6451251265536Unlimited
Texture indirections4No limit4No LimitNo Limit
Interpolated registers2 + 82 + 82 + 81032
Instruction predicationNoYesNoYesNo
Index input registersNoNoNoYesYes
Temp registers122232324096
Constant registers32323222416x4096
Arbitrary swizzlingNoYesNoYesYes
Gradient instructionsNoYesNoYesYes
Loop count registerNoNoNoYesYes
Face register (2-sided lighting)NoNoNoYesYes
Dynamic flow controlNoNoNo24Yes
Bitwise OperatorsNoNoNoNoYes
Native IntegersNoNoNoNoYes
  • PS 2.0 = DirectX 9.0 original Shader Model 2 specification.
  • PS 2.0a = NVIDIA GeForce FX-optimized model.
  • PS 2.0b = ATI Radeon X700, X800, X850 shader model, DirectX 9.0b.
  • PS 3.0 = Shader Model 3.
  • PS 4.0 = Shader Model 4.

“32 + 64” for Executed Instructions means “32 texture instructions and 64 arithmetic instructions.”

Vertex shader comparison

Vertex shader versionVS 2.0VS 2.0aVS 3.0[2]VS 4.0[3]
# of instruction slots256256≥ 5124096
Max # of instructions executed65536655366553665536
Instruction predicationNoYesYesYes
Temp registers1213324096
# constant registers≥ 256≥ 256≥ 25616x4096
Static Flow ControlYesYesYesYes
Dynamic Flow ControlNoYesYesYes
Dynamic Flow Control DepthNo2424Yes
Vertex Texture FetchNoNoYesYes
# of texture samplersN/AN/A4128
Geometry instancing supportNoNoYesYes
Bitwise OperatorsNoNoNoYes
Native IntegersNoNoNoYes
  • VS 2.0 = DirectX 9.0 original Shader Model specification.
  • VS 2.0a = NVIDIA GeForce FX-optimized model.
  • VS 3.0 = Shader Model 3.
  • VS 4.0 = Shader Model 4.
Hugo로 만듦
JimmyStack 테마 사용 중