D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER Enumeration

Setting that controls pixel shader depth testing (DB_SHADER_CONTROL.Z_ORDER).

Syntax

typedef enum D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER
{
    D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_DEFAULT = 0,
    D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_LATE_Z = 1,
    D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_EARLY_Z_THEN_LATE_Z = 2,
    D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_RE_Z = 3,
    D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_EARLY_Z_THEN_RE_Z = 4
} D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER;  

Constants

Constant Description
D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_DEFAULT Leave as defined by the current pixel shader.
D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_LATE_Z Set preference to LATE_Z.
D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_EARLY_Z_THEN_LATE_Z Set preference to EARLY_Z followed by LATE_Z.
D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_RE_Z Set preference to RE_Z.
D3D12XBOX_PIXEL_SHADER_OPTION_ZORDER_EARLY_Z_THEN_RE_Z Set preference to EARLY_Z followed by RE_Z.

Remarks

This enum is used by the D3D12XBOX_PIXEL_SHADER_OPTIONS_DESC structure, to indicate the shader’s preference for which type of Z testing to use.

The THEN for early Z allows the shader to indicate a preference when EARLY_Z can’t be used. If RE_Z can’t be used then LATE_Z is used.

Requirements

Header: Declared in d3d12_x.h.