mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 01:50:38 +00:00
Work around NV driver bug on D3D11 copying from >2GB buffer
This commit is contained in:
@@ -75,7 +75,10 @@ void D3D11Replay::CreateSOBuffers()
|
||||
SAFE_RELEASE(m_SOBuffer);
|
||||
SAFE_RELEASE(m_SOStagingBuffer);
|
||||
|
||||
if(m_SOBufferSize > 0xFFFF0000ULL)
|
||||
if(m_SOBufferSize > 0xFFFF0000ULL ||
|
||||
// workaround nv driver bug, it crashes copying with an offset over 2GB (which we need for
|
||||
// readback). Treat this as an OOM scenario
|
||||
(m_DriverInfo.vendor == GPUVendor::nVidia && m_SOBufferSize > 0x80000000ULL))
|
||||
{
|
||||
RDCERR("Can't resize stream-out buffer to larger than 4GB, needed %llu bytes.", m_SOBufferSize);
|
||||
SAFE_RELEASE(m_SOBuffer);
|
||||
@@ -835,8 +838,9 @@ void D3D11Replay::InitPostVSBuffers(uint32_t eventId)
|
||||
|
||||
if(!m_SOStagingBuffer)
|
||||
{
|
||||
ret.vsout.status = StringFormat::Fmt(
|
||||
"Vertex output generated %llu bytes of data which ran out of memory", newSize);
|
||||
ret.gsout.status = StringFormat::Fmt(
|
||||
"Geometry/tessellation output generated %llu bytes of data which ran out of memory",
|
||||
newSize);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user