IPixD3DState::ResolveGraphicsRootDescriptorRangeToViews method

Resolve a descriptor range in a graphics root descriptor table at the specified root parameter index to the corresponding range of D3D12 resource views.

Syntax

HRESULT ResolveGraphicsRootDescriptorRangeToViews(
    PIX_SHADER_STAGE shaderStage,
    UINT32 rootParameterIndex,
    UINT32 descriptorRangeIndex,
    REFIID riid,
    void ** ppViews);

Parameters

shaderStage [in]

No description provided.

rootParameterIndex [in]

No description provided.

descriptorRangeIndex [in]

No description provided.

riid [in]

The interface IID of the resource view to be returned. Expected: IPixCollection<IPixUnorderedAccessView, IPixShaderResourceView, IPixConstantBufferView, or IPixSampler>

ppViews [out]

Pointer to the returned interface.

Returns

Failure if (1) The current event isn't a draw/dispatch/dispatchRays etc. (2) The descriptor range is unbounded. (3) The root parameter index or descriptor range index is out of bounds. (4) The root signature is not bound. (5) Retrieving root parameters or resources is not supported (eg. GPU driver doesn't support recording the info in the dxdmp file scenario). (6) The root parameter at the specified index is not a descriptor table. (7) The given shader stage doesn't use the descriptor range.

Remarks

The results don't use shader access tracking to see which descriptors were actually referenced by the shader, the results are derived from the bound root signature's descriptor table range, the bound descriptor heap, and shader reflection. All GPU work up to the event corresponding to the current D3D state is guaranteed to be flushed and finished so that the results of this function is valid and reflects the current state.

See also