D3DXGetPixelShaderProfile

Returns the name of the highest high-level shader language (HLSL) profile supported by a given device.

LPCSTR D3DXGetPixelShaderProfile(
  LPDIRECT3DDEVICE9 pDevice
);

Parameters

pDevice
[in] Pointer to the device. See IDirect3DDevice9.

Return Values

The HLSL profile name.

If the device does not support pixel shaders then the function returns NULL.

Remarks

A shader profile specifies the assembly shader version to use and the capabilities available to the HLSL compiler when compiling a shader. The following table lists the pixel shader profiles that are supported.

Shader Profile Description
ps_1_1 Compile to ps_1_1 version.
ps_1_2 Compile to ps_1_2 version.
ps_1_3 Compile to ps_1_3 version.
ps_1_4 Compile to ps_1_4 version.
ps_2_0 Compile to ps_2_0 version.
ps_2_a Same as the ps_2_0 profile, with the following additional capabilities available for the compiler to target:
  • Number of Temporary Registers (r#) is greater than or equal to 22.
  • Arbitrary source swizzle.
  • Gradient instructions: dsx, dsy.
  • Predication.
  • No dependent texture read limit.
  • No limit for the number of texture instructions.
ps_2_b Same as the ps_2_0 profile, with the following additional capabilities available for the compiler to target:
  • Number of Temporary Registers (r#) is greater than or equal to 32.
  • No limit for the number of texture instructions.
ps_3_0 Compile to ps_3_0 version.

For more information about the differences between shader versions, see Pixel Shader Differences.

Requirements

Header: Declared in D3dx9shader.h.