diff --git a/renderdoc/driver/d3d12/d3d12_postvs.cpp b/renderdoc/driver/d3d12/d3d12_postvs.cpp index 6aaa86237..c07631a97 100644 --- a/renderdoc/driver/d3d12/d3d12_postvs.cpp +++ b/renderdoc/driver/d3d12/d3d12_postvs.cpp @@ -2479,6 +2479,15 @@ void D3D12Replay::InitPostMSBuffers(uint32_t eventId) desc.SampleDesc.Quality = 0; desc.Width = layout.meshletByteSize * totalNumMeshlets; + if(desc.Width > INT32_MAX) + { + SAFE_RELEASE(annotatedSig); + SAFE_RELEASE(ampBuffer); + ret.meshout.status = "Mesh output buffer is too large, try reducing dispatch dimensions"; + RDCERR("%s", ret.meshout.status.c_str()); + return; + } + D3D12_HEAP_PROPERTIES heapProps; heapProps.Type = D3D12_HEAP_TYPE_DEFAULT; heapProps.CPUPageProperty = D3D12_CPU_PAGE_PROPERTY_UNKNOWN;