dp4 - ps

Computes the four-component dot product of the source registers.

Syntax

dp4 dst, src0, src1

 

where

  • dst is the destination register.
  • src0 is a source register.
  • src1 is a source register.

Remarks

Pixel shader versions 1_1 1_2 1_3 1_4 2_0 2_x 2_sw 3_0 3_sw
dp4 x x x x x x x x

 

The following code snippet shows the operations performed:

dest.x = dest.y = dest.z = dest.w = 
    (src0.x * src1.x) + (src0.y * src1.y) + 
    (src0.z * src1.z) + (src0.w * src1.w);

Limitations for ps_1_2 and ps_1_3:

  • Each shader can use up to a maximum of four dp4 instructions.
  • Each dp4 instruction counts as two arithmetic instructions.

Limitations for 1_X versions:

  • This instruction cannot be co-issued because dp4 runs in both the vector and alpha pipeline.

Pixel Shader Instructions