Skip to content

Instantly share code, notes, and snippets.

@shorttermmem
Last active January 4, 2024 20:02
Show Gist options
  • Save shorttermmem/a14ab1e8980d01ac36943d0f4a8117d9 to your computer and use it in GitHub Desktop.
Save shorttermmem/a14ab1e8980d01ac36943d0f4a8117d9 to your computer and use it in GitHub Desktop.
Common root signature errors compilation.
Root Signature doesn't match Compute Shader: A Shader is declaring a resource object as a texture using a register mapped to a root descriptor SRV (RegisterSpace=0, ShaderRegister=0).
SRV or UAV root descriptors can only be Raw or Structured buffers.
[ STATE_CREATION ERROR #882: CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH]
When binding a texture object directly to root signature rather than through descriptor table.
D3D12 CORRUPTION: ID3D12CommandList::CopyTextureRegion: pResource in the first parameter is corrupt. [ MISCELLANEOUS CORRUPTION #3: CORRUPTED_PARAMETER1]
Root Signature doesn't match Compute Shader: Shader SRV descriptor range (RegisterSpace=0, NumDescriptors=1, BaseShaderRegister=0) is not fully bound in root signature
[ STATE_CREATION ERROR #882: CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH]
When forget to bind a srv
Shader register range of type SAMPLER (static sampler [0], visibility ALL) overlaps with another shader register range (root parameter[0], visibility ALL, descriptor table slot [0]).
HR = 80070057
D3D12 ERROR: ID3D12CommandList::ResourceBarrier: Before state (0x400: D3D12_RESOURCE_STATE_COPY_DEST) of resource (0x000002488F80C9C0:'textureResource') (subresource: 0) specified by transition barrier does not match with the current resource state (0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE) (assumed at first use) [ RESOURCE_MANIPULATION ERROR #527: RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH]
D3D12 ERROR: ID3D12Device::CreateShaderResourceView: The Dimensions of the View are invalid due to at least one of the following conditions. Assuming StructureByeStride 4, FirstElement (value = 0) must be between 0 and the maximum offset of the Buffer, 11, inclusively. With the current FirstElement, NumElements (value = 2070174253056) must be between 1 and 12, inclusively, in order that the View fit on the Buffer. [ STATE_CREATION ERROR #31: CREATESHADERRESOURCEVIEW_INVALIDDIMENSIONS]
Using CGraphicsCommandList::SetComputeRootDescriptorTable on Command List (0x000002488694F430:'m_cmdList'): Resource state (0x400: D3D12_RESOURCE_STATE_COPY_DEST) of resource (0x000002488F80C9C0:'textureResource') (subresource: 0) is invalid for use as a NON_PIXEL_SHADER_RESOURCE. Expected State Bits (all): 0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, Actual State: 0x400: D3D12_RESOURCE_STATE_COPY_DEST, Missing State: 0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. [ EXECUTION ERROR #538: INVALID_SUBRESOURCE_STATE]
D3D12 ERROR: CGraphicsCommandList::SetComputeRootDescriptorTable: No root signature has been set, so setting a descriptor table doesn't make sense and is invalid. [ EXECUTION ERROR #708: SET_DESCRIPTOR_TABLE_INVALID]
D3D12 ERROR: ID3D12Device::CreateShaderResourceView: The Format (0x2a, R32_UINT) is invalid, when creating a View of a Structured Buffer; it must be DXGI_FORMAT_UNKNOWN. [ STATE_CREATION ERROR #28: CREATESHADERRESOURCEVIEW_INVALIDFORMAT]
D3D12 ERROR: ID3D12Device::CreateSharedHandle: pObject cannot be NULL. [ RESOURCE_MANIPULATION ERROR #1041: DEVICE_CREATE_SHARED_HANDLE_INVALIDARG]
D3D12 CORRUPTION: ID3D12Device::GetResourceAllocationInfo: Second parameter is corrupt. [ MISCELLANEOUS CORRUPTION #4: CORRUPTED_PARAMETER2]
D3D12 ERROR: ID3D12Device::CreateConstantBufferView: pDesc->BufferLocation + SizeInBytes - 1 (0x00000003014590ff) exceeds end of the virtual address range of Resource (0x000001D0AA1C5A20:'bufferResource', GPU VA Range: 0x0000000301459000 - 0x0000000301459033). This is OK as out of bounds access is guarded by the GPU (writes are discarded and reads return 0). However the developer probably did not intend to make use of this behavior. [ STATE_CREATION ERROR #649: CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE]
D3D12 ERROR: ID3D12Device::GetCustomHeapProperties: D3D12_HEAP_TYPE is unrecognized. The value is 0. [ MISCELLANEOUS ERROR #643: GETCUSTOMHEAPPROPERTIES_UNRECOGNIZEDHEAPTYPE]
D3D12 ERROR: ID3D12Device::Create*: Too many bits set in the specified node mask (0x74bfca38). No more than 1 bit may be set. [ STATE_CREATION ERROR #899: TOO_MANY_NODES_SPECIFIED]
D3D12 CORRUPTION: ID3D12CommandList::ResourceBarrier: Two threads were found to be executing methods associated with the same CommandList at the same time. This will cause corruption of memory. Appropriate thread synchronization needs to occur external to the Direct3D API. 12348 and 9524 are the implicated thread ids. [ MISCELLANEOUS CORRUPTION #18: CORRUPTED_MULTITHREADING]
D3D12 CORRUPTION: ID3D12CommandList::ResourceBarrier: Two threads were found to be executing methods associated with the same CommandList at the same time. This will cause corruption of memory. Appropriate thread synchronization needs to occur external to the Direct3D API. 14556 and 8736 are the implicated thread ids. [ MISCELLANEOUS CORRUPTION #18: CORRUPTED_MULTITHREADING]
D3D12 ERROR: ID3D12GraphicsCommandList::*: This API cannot be called on a closed command list. [ EXECUTION ERROR #547: COMMAND_LIST_CLOSED]
D3D12 ERROR: ID3D12CommandQueue::ExecuteCommandLists: Using ResourceBarrier on Command List (0x000001AC71060C50:'m_cmdList'): Before state (0x400: D3D12_RESOURCE_STATE_COPY_DEST) of resource (0x000001AC71422720:'textureResource') (subresource: 1) specified by transition barrier does not match with the state (0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE) specified in the previous call to ResourceBarrier [ RESOURCE_MANIPULATION ERROR #527: RESOURCE_BARRIER_BEFORE_AFTER_MISMATCH]
D3D12 ERROR: GPU-BASED VALIDATION: ResourceBarrier, StateBefore invalid, Barrier array index [0], Incompatible resource state: Resource: 0x000001AC71422720:'textureResource', Subresource Index: [1], Resource State: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE(0x40), Required State Bits: D3D12_RESOURCE_STATE_COPY_DEST(0x400, For GRAPHICS or COMPUTE command list), Draw Count [0], Dispatch Count [0], Command List: <deleted>, [ EXECUTION ERROR #942: GPU_BASED_VALIDATION_INCOMPATIBLE_RESOURCE_STATE]
D3D12 ERROR: ID3D12Device::CreateShaderResourceView: DestDescriptor points to a descriptor that is bound as STATIC (not-DESCRIPTORS_VOLATILE) on a command list. It is invalid to change it until the command list has finished executing for the last time, but the descriptor is still in an execution (ExecuteCommandLists) by Command Queue 0x0000023CB03E8FA0:'m_computeQueue'. [ EXECUTION ERROR #1001: STATIC_DESCRIPTOR_INVALID_DESCRIPTOR_CHANGE]
D3D12 ERROR: ID3D12CommandAllocator::Reset: A command allocator 0x0000023CBF467070:'m_cmdAllocator' is being reset before previous executions associated with the allocator have completed. [ EXECUTION ERROR #552: COMMAND_ALLOCATOR_SYNC]
D3D12 ERROR: CGraphicsCommandList::SetComputeRootDescriptorTable: Resource state (0x8: D3D12_RESOURCE_STATE_UNORDERED_ACCESS) of resource (0x000002167E619850:'TESTING[1]') (subresource: 0) is invalid for use as a NON_PIXEL_SHADER_RESOURCE. Expected State Bits (all): 0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE, Actual State: 0x8: D3D12_RESOURCE_STATE_UNORDERED_ACCESS, Missing State: 0x40: D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE. This validation is being enforced at bind during command list recording because the descriptor for this resource in the root signature is declared as DATA_STATIC_WHILE_SET_AT_EXECUTE. [ EXECUTION ERROR #538: INVALID_SUBRESOURCE_STATE]
D3D12 ERROR: ID3D12CommandList::ResourceBarrier: D3D12_RESOURCE_STATES has invalid flags for compute command list. [ RESOURCE_MANIPULATION ERROR #537: RESOURCE_BARRIER_INVALID_COMMAND_LIST_TYPE]
D3D12 ERROR: ID3D12CommandQueue::ExecuteCommandLists: Command lists must be successfully closed before execution. [ EXECUTION ERROR #838: EXECUTECOMMANDLISTS_FAILEDCOMMANDLIST]
D3D12 ERROR: ID3D12CommandAllocator::Reset: The command allocator cannot be reset because a command list is currently being recorded with the allocator. [ EXECUTION ERROR #543: COMMAND_ALLOCATOR_CANNOT_RESET]
D3D12 WARNING: ID3D12CommandList::ClearRenderTargetView: The application did not pass any clear value to resource creation. The clear operation is typically slower as a result; but will still clear to the desired value. [ EXECUTION WARNING #820: CLEARRENDERTARGETVIEW_MISMATCHINGCLEARVALUE]
D3D12 ERROR: ID3D12Device::CreateUnorderedAccessView: A UnorderedAccessView cannot be created of a Resource that did not specify the D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS Flag. [ STATE_CREATION ERROR #340: CREATEUNORDEREDACCESSVIEW_INVALIDRESOURCE]
D3D12 ERROR: ID3D12Device::CreateShaderResourceView: The PlaneSlice 1 is invalid when the resource format is R8G8B8A8_UNORM and the view format is R8G8B8A8_UNORM. Only Plane Slice 0 is valid when creating a view on a non-planar format. [ STATE_CREATION ERROR #344: CREATEUNORDEREDACCESSVIEW_INVALIDPLANESLICE]
D3D12 ERROR: ID3D12Device::GetCopyableFootprints: FirstSubresource and/ or NumSubresources are invalid for the corresponding resource. The resource only has 1 subresources, while FirstSubresource is 0 and NumSubresources is 3. [ MISCELLANEOUS ERROR #739: GETCOPYABLELAYOUT_INVALIDSUBRESOURCERANGE]
D3D12 ERROR: ID3D12Device::CreateRenderTargetView: A RenderTargetView cannot be created from a NULL Resource and NULL Desc. [ STATE_CREATION ERROR #42: CREATERENDERTARGETVIEW_INVALIDRESOURCE]
D3D12: Removing Device.
D3D12: Removing Device.
D3D12 ERROR: ID3D12Device::RemoveDevice: Device removal has been triggered for the following reason (DXGI_ERROR_INVALID_CALL: There is strong evidence that the application has performed an illegal or undefined operation, and such a condition could not be returned to the application cleanly through a return code). [ EXECUTION ERROR #232: DEVICE_REMOVAL_PROCESS_AT_FAULT]
D3D12 ERROR: ID3D12CommandQueue::ExecuteCommandLists: Non-simultaneous-access Texture Resource (0x000001BCF47FFD00:'textureResource') is still referenced by read|transition_barrier GPU operations in-flight on another Command Queue (0x000001BCEDB9C8B0:'m_computeQueue'). It is not safe to start write|transition_barrier GPU operations now on this Command Queue (0x000001BCE74D3250:'m_graphicsQueue'). This can result in race conditions and application instability. [ EXECUTION ERROR #1047: OBJECT_ACCESSED_WHILE_STILL_IN_USE]
D3D12 ERROR: ID3D12Device::CreateConstantBufferView: pDesc->BufferLocation + SizeInBytes - 1 (0x00000003001240ff) exceeds end of the virtual address range of Resource (0x00000175944E6790:'Unnamed ID3D12Resource Object', GPU VA Range: 0x0000000300124000 - 0x000000030012403f). This is OK as out of bounds access is guarded by the GPU (writes are discarded and reads return 0). However the developer probably did not intend to make use of this behavior. [ STATE_CREATION ERROR #649: CREATE_CONSTANT_BUFFER_VIEW_INVALID_RESOURCE]
D3D12 ERROR: ID3D12CommandList::SetDescriptorHeaps: pDescriptorHeaps[1] is not a descriptor heap type that can be set on a command list. [ EXECUTION ERROR #554: SET_DESCRIPTOR_HEAP_INVALID]
D3D12 ERROR: ID3D12CommandQueue::ExecuteCommandLists: A command list, which writes to a swapchain back buffer, may only be executed on the command queue associated with that buffer. Swap Chain: 0x0000021FA4297CE0:'Unnamed Object' - Swap Chain Buffer: 0x0000021FA42C9760:'Unnamed ID3D12Resource Object' - Swap Chain Buffer's Command Queue: 0x0000021FA4260620:'Unnamed ID3D12CommandQueue Object' - Attempted Execution Command Queue: 0x0000021FA4060590:'Unnamed ID3D12CommandQueue Object' [ STATE_SETTING ERROR #907: EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE]
D3D12 ERROR: ID3D12CommandQueue::ExecuteCommandLists: A command list, which writes to a swapchain back buffer, may only be executed when that back buffer is the back buffer that will be presented during the next call to Present*. Such a back buffer is also referred to as the "current back buffer". Swap Chain: 0x00000299A81023E0:'Unnamed Object' - Current Back Buffer Buffer: 0x00000299A7E85F70:'backBuffer.rtvBuffer[0]' - Attempted Write Buffer: 0x00000299A8756F20:'backBuffer.rtvBuffer[1]' [ STATE_SETTING ERROR #907: EXECUTECOMMANDLISTS_WRONGSWAPCHAINBUFFERREFERENCE]
D3D12 MESSAGE: ID3D12GraphicsCommandList::CreateMetaCommand: MetaCommand parameters are not supported by the current system configuration. [ STATE_CREATION MESSAGE #1172: META_COMMAND_UNSUPPORTED_PARAMS]
D3D12 ERROR: ID3D12CommandList::CopyTextureRegion: D3D12_SUBRESOURCE_FOOTPRINT::Format is not supported at the current feature level with the dimensionality implied by the D3D12_SUBRESOURCE_FOOTPRINT::Height and D3D12_SUBRESOURCE_FOOTPRINT::Depth. Format = UNKNOWN, Dimension = D3D12_RESOURCE_DIMENSION_TEXTURE2D, Height = 2160, Depth = 1, and FeatureLevel is D3D_FEATURE_LEVEL_12_1. [ RESOURCE_MANIPULATION ERROR #854: COPYTEXTUREREGION_INVALIDDSTDIMENSIONS]
D3D12 ERROR: ID3D12Device::CreateComputePipelineState: Root Signature doesn't match Compute Shader: Shader CBV descriptor range (BaseShaderRegister=0, NumDescriptors=1, RegisterSpace=0) is not fully bound in root signature
[ STATE_CREATION ERROR #882: CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH]
@hsalamat
Copy link

hsalamat commented Nov 5, 2019

I am also getting this error: In case you want to add to your list. Interesting thing is that I do not have CBV, but it looks like I am forgetting to bind a CBV.
D3D12 ERROR: ID3D12Device::CreateComputePipelineState: Root Signature doesn't match Compute Shader: Shader CBV descriptor range (BaseShaderRegister=0, NumDescriptors=1, RegisterSpace=0) is not fully bound in root signature
[ STATE_CREATION ERROR #882: CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH]

@fanghAMD
Copy link

I am also getting this error: In case you want to add to your list. Interesting thing is that I do not have CBV, but it looks like I am forgetting to bind a CBV.
D3D12 ERROR: ID3D12Device::CreateComputePipelineState: Root Signature doesn't match Compute Shader: Shader CBV descriptor range (BaseShaderRegister=0, NumDescriptors=1, RegisterSpace=0) is not fully bound in root signature
[ STATE_CREATION ERROR #882: CREATECOMPUTEPIPELINESTATE_CS_ROOT_SIGNATURE_MISMATCH]

You most definitely has a cbuffer or constant root parameter and did not bind with a CBV when setting up your root signature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment