diff options
Diffstat (limited to 'tools/gfx/d3d11/render-d3d11.cpp')
| -rw-r--r-- | tools/gfx/d3d11/render-d3d11.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/tools/gfx/d3d11/render-d3d11.cpp b/tools/gfx/d3d11/render-d3d11.cpp index cb6d62830..aa5136873 100644 --- a/tools/gfx/d3d11/render-d3d11.cpp +++ b/tools/gfx/d3d11/render-d3d11.cpp @@ -1514,7 +1514,7 @@ protected: bufferDesc.defaultState = ResourceState::ConstantBuffer; bufferDesc.allowedStates = ResourceStateSet(ResourceState::ConstantBuffer, ResourceState::CopyDestination); - bufferDesc.cpuAccessFlags |= AccessFlag::Write; + bufferDesc.cpuAccessFlags |= MemoryType::CpuWrite; SLANG_RETURN_ON_FAIL( device->createBufferResource(bufferDesc, nullptr, bufferResourcePtr.writeRef())); m_ordinaryDataBuffer = static_cast<BufferResourceImpl*>(bufferResourcePtr.get()); @@ -2554,10 +2554,10 @@ static int _calcResourceAccessFlags(int accessFlags) switch (accessFlags) { case 0: return 0; - case AccessFlag::Read: return D3D11_CPU_ACCESS_READ; - case AccessFlag::Write: return D3D11_CPU_ACCESS_WRITE; - case AccessFlag::Read | - AccessFlag::Write: return D3D11_CPU_ACCESS_READ | D3D11_CPU_ACCESS_WRITE; + case MemoryType::CpuRead: return D3D11_CPU_ACCESS_READ; + case MemoryType::CpuWrite: return D3D11_CPU_ACCESS_WRITE; + case MemoryType::CpuRead | + MemoryType::CpuWrite: return D3D11_CPU_ACCESS_READ | D3D11_CPU_ACCESS_WRITE; default: assert(!"Invalid flags"); return 0; } } @@ -2711,11 +2711,11 @@ Result D3D11Device::createBufferResource(const IBufferResource::Desc& descIn, co bufferDesc.BindFlags = d3dBindFlags; // For read we'll need to do some staging bufferDesc.CPUAccessFlags = - _calcResourceAccessFlags(descIn.cpuAccessFlags & AccessFlag::Write); + _calcResourceAccessFlags(descIn.cpuAccessFlags & MemoryType::CpuWrite); bufferDesc.Usage = D3D11_USAGE_DEFAULT; // If written by CPU, make it dynamic - if ((descIn.cpuAccessFlags & AccessFlag::Write) && + if ((descIn.cpuAccessFlags & MemoryType::CpuWrite) && !descIn.allowedStates.contains(ResourceState::UnorderedAccess)) { bufferDesc.Usage = D3D11_USAGE_DYNAMIC; @@ -2746,7 +2746,7 @@ Result D3D11Device::createBufferResource(const IBufferResource::Desc& descIn, co } } - if (srcDesc.cpuAccessFlags & AccessFlag::Write) + if (srcDesc.cpuAccessFlags & MemoryType::CpuWrite) { bufferDesc.CPUAccessFlags |= D3D11_CPU_ACCESS_WRITE; } @@ -2759,8 +2759,7 @@ Result D3D11Device::createBufferResource(const IBufferResource::Desc& descIn, co SLANG_RETURN_ON_FAIL(m_device->CreateBuffer(&bufferDesc, initData ? &subResourceData : nullptr, buffer->m_buffer.writeRef())); buffer->m_d3dUsage = bufferDesc.Usage; - if ((srcDesc.cpuAccessFlags & AccessFlag::Read) || - ((srcDesc.cpuAccessFlags & AccessFlag::Write) && bufferDesc.Usage != D3D11_USAGE_DYNAMIC)) + if (srcDesc.cpuAccessFlags & MemoryType::CpuRead || bufferDesc.Usage != D3D11_USAGE_DYNAMIC) { D3D11_BUFFER_DESC bufDesc = {}; bufDesc.BindFlags = 0; |
