设置如下屏障进行资源状态转换时,出现一下错误,为什么会出现这个错误,如何解决?
D3D12_RESOURCE_TRANSITION_BARRIER dingdianpingzhaungshuxing3 = {};
dingdianpingzhaungshuxing3.pResource = dingDianHuanChongQu1.Get();
dingdianpingzhaungshuxing3.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;
dingdianpingzhaungshuxing3.StateBefore = D3D12_RESOURCE_STATE_UNORDERED_ACCESS;
dingdianpingzhaungshuxing3.StateAfter = D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER;
D3D12_RESOURCE_BARRIER dingdianpingzhang3 = {};
dingdianpingzhang3.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
dingdianpingzhang3.Flags = D3D12_RESOURCE_BARRIER_FLAG_NONE;
dingdianpingzhang3.Transition = dingdianpingzhaungshuxing3;
mingLingLieBiaoJiSuan->ResourceBarrier(1, &dingdianpingzhang3);
D3D12 ERROR: ID3D12CommandList::ResourceBarrier: Resource(0x0E146FB8:'Unnamed ID3D12Resource Object') (subresource : 0) was bound as DATA_STATIC on this command list before this ResourceBarrier call to transition from state (0x8: D3D12_RESOURCE_STATE_UNORDERED_ACCESS) to (0x1: D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER), which indicates a change to its data (or possibly resource metadata). But it is invalid to change it until this command list has finished executing for the last time. [ EXECUTION ERROR #1002: DATA_STATIC_DESCRIPTOR_INVALID_DATA_CHANGE]