其他分享
首页 > 其他分享> > D3D12遇到的报错记录

D3D12遇到的报错记录

作者:互联网

E_INVALIDARG One or more arguments are invalid.

这个报错是最常见的报错了,一般是调用D3D的函数时的参数设置不对,或者参数设置无效,或者是当前系统环境不支持你所设置的参数,使用Visual studio进行学习开发的话,多注意Output窗口,一般会在报错提示的前后有更详细的提示

Invalid resource barrier type. [ RESOURCE_MANIPULATION ERROR #519: RESOURCE_BARRIER_INVALID_TYPE]

这个报错提示还是很清楚的,我出错的原因是

D3D12_RESOURCE_BARRIER resourceBarrier;
resourceBarrier.Transition.pResource = mRenderTargets[mFrameIndex].Get();
resourceBarrier.Transition.StateBefore = D3D12_RESOURCE_STATES::D3D12_RESOURCE_STATE_PRESENT;
resourceBarrier.Transition.StateAfter = D3D12_RESOURCE_STATES::D3D12_RESOURCE_STATE_RENDER_TARGET;
resourceBarrier.Transition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;
resourceBarrier.Flags = D3D12_RESOURCE_BARRIER_FLAGS::D3D12_RESOURCE_BARRIER_FLAG_NONE;
//这一句没有写的话就会报这个错误,加上就好了,当然,这个Type可以选择合法的其他Type
resourceBarrier.Type = D3D12_RESOURCE_BARRIER_TYPE::D3D12_RESOURCE_BARRIER_TYPE_TRANSITION; 
mCommandList->ResourceBarrier(1, &resourceBarrier); 

编译报错: Severity Code Description Project File Line Suppression State Error X3501 ‘main’: entrypoint not found D3D12Guide E:\D3D12Guide\D3D12Guide\FXC 1

这个报错是因为写的shader文件没有main函数,有几种做法:

标签:resourceBarrier,RESOURCE,BARRIER,记录,shader,报错,D3D12
来源: https://blog.csdn.net/z_dmsd/article/details/99095902