mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-01-19 05:52:11 +01:00
[d3d10] Support pOffsets parameter in SOGetTargets
This commit is contained in:
parent
93a851a2fc
commit
406816d17c
@ -1550,7 +1550,10 @@ namespace dxvk {
|
||||
ID3D10Buffer** ppSOTargets,
|
||||
UINT* pOffsets) {
|
||||
ID3D11Buffer* d3d11Buffers[D3D10_SO_BUFFER_SLOT_COUNT];
|
||||
m_context->SOGetTargets(NumBuffers, ppSOTargets ? d3d11Buffers : nullptr);
|
||||
|
||||
m_context->SOGetTargetsWithOffsets(NumBuffers,
|
||||
ppSOTargets ? d3d11Buffers : nullptr,
|
||||
pOffsets);
|
||||
|
||||
if (ppSOTargets != nullptr) {
|
||||
for (uint32_t i = 0; i < NumBuffers; i++) {
|
||||
@ -1559,9 +1562,6 @@ namespace dxvk {
|
||||
: nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
if (pOffsets != nullptr)
|
||||
Logger::warn("D3D10: SOGetTargets: Reporting buffer offsets not supported");
|
||||
}
|
||||
|
||||
|
||||
|
@ -2561,6 +2561,20 @@ namespace dxvk {
|
||||
}
|
||||
|
||||
|
||||
void STDMETHODCALLTYPE D3D11DeviceContext::SOGetTargetsWithOffsets(
|
||||
UINT NumBuffers,
|
||||
ID3D11Buffer** ppSOTargets,
|
||||
UINT* pOffsets) {
|
||||
for (uint32_t i = 0; i < NumBuffers; i++) {
|
||||
if (ppSOTargets != nullptr)
|
||||
ppSOTargets[i] = m_state.so.targets[i].buffer.ref();
|
||||
|
||||
if (pOffsets != nullptr)
|
||||
pOffsets[i] = m_state.so.targets[i].offset;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void STDMETHODCALLTYPE D3D11DeviceContext::TransitionSurfaceLayout(
|
||||
IDXGIVkInteropSurface* pSurface,
|
||||
const VkImageSubresourceRange* pSubresources,
|
||||
|
@ -631,6 +631,11 @@ namespace dxvk {
|
||||
UINT NumBuffers,
|
||||
ID3D11Buffer** ppSOTargets) final;
|
||||
|
||||
void STDMETHODCALLTYPE SOGetTargetsWithOffsets(
|
||||
UINT NumBuffers,
|
||||
ID3D11Buffer** ppSOTargets,
|
||||
UINT* pOffsets);
|
||||
|
||||
void STDMETHODCALLTYPE TransitionSurfaceLayout(
|
||||
IDXGIVkInteropSurface* pSurface,
|
||||
const VkImageSubresourceRange* pSubresources,
|
||||
|
Loading…
x
Reference in New Issue
Block a user