mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-09-26 15:46:08 +00:00
When applying render state, don't assume UAVStartSlot == NumRTVs
* On D3D11.1 the UAV slots can be greater than 8 which is the maximum value for NumRTVs.
This commit is contained in:
@@ -542,12 +542,14 @@ void D3D11RenderState::ApplyState(WrappedID3D11DeviceContext *context)
|
||||
|
||||
if(context->IsFL11_1())
|
||||
context->OMSetRenderTargetsAndUnorderedAccessViews(
|
||||
OM.UAVStartSlot, OM.RenderTargets, OM.DepthView, OM.UAVStartSlot,
|
||||
D3D11_1_UAV_SLOT_COUNT - OM.UAVStartSlot, OM.UAVs, UAV_keepcounts);
|
||||
RDCMIN(OM.UAVStartSlot, (UINT)D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT), OM.RenderTargets,
|
||||
OM.DepthView, OM.UAVStartSlot, D3D11_1_UAV_SLOT_COUNT - OM.UAVStartSlot, OM.UAVs,
|
||||
UAV_keepcounts);
|
||||
else
|
||||
context->OMSetRenderTargetsAndUnorderedAccessViews(
|
||||
OM.UAVStartSlot, OM.RenderTargets, OM.DepthView, OM.UAVStartSlot,
|
||||
D3D11_PS_CS_UAV_REGISTER_COUNT - OM.UAVStartSlot, OM.UAVs, UAV_keepcounts);
|
||||
RDCMIN(OM.UAVStartSlot, (UINT)D3D11_SIMULTANEOUS_RENDER_TARGET_COUNT), OM.RenderTargets,
|
||||
OM.DepthView, OM.UAVStartSlot, D3D11_PS_CS_UAV_REGISTER_COUNT - OM.UAVStartSlot, OM.UAVs,
|
||||
UAV_keepcounts);
|
||||
|
||||
context->SetPredication(Predicate, PredicateValue);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user