mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +01:00
[d3d11] Avoid emitting redundant vertex and index buffer updates
This commit is contained in:
parent
19adccea8f
commit
58d838b915
@ -1588,11 +1588,15 @@ namespace dxvk {
|
|||||||
for (uint32_t i = 0; i < NumBuffers; i++) {
|
for (uint32_t i = 0; i < NumBuffers; i++) {
|
||||||
auto newBuffer = static_cast<D3D11Buffer*>(ppVertexBuffers[i]);
|
auto newBuffer = static_cast<D3D11Buffer*>(ppVertexBuffers[i]);
|
||||||
|
|
||||||
m_state.ia.vertexBuffers[StartSlot + i].buffer = newBuffer;
|
if (m_state.ia.vertexBuffers[StartSlot + i].buffer != newBuffer
|
||||||
m_state.ia.vertexBuffers[StartSlot + i].offset = pOffsets[i];
|
|| m_state.ia.vertexBuffers[StartSlot + i].offset != pOffsets[i]
|
||||||
m_state.ia.vertexBuffers[StartSlot + i].stride = pStrides[i];
|
|| m_state.ia.vertexBuffers[StartSlot + i].stride != pStrides[i]) {
|
||||||
|
m_state.ia.vertexBuffers[StartSlot + i].buffer = newBuffer;
|
||||||
BindVertexBuffer(StartSlot + i, newBuffer, pOffsets[i], pStrides[i]);
|
m_state.ia.vertexBuffers[StartSlot + i].offset = pOffsets[i];
|
||||||
|
m_state.ia.vertexBuffers[StartSlot + i].stride = pStrides[i];
|
||||||
|
|
||||||
|
BindVertexBuffer(StartSlot + i, newBuffer, pOffsets[i], pStrides[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1605,11 +1609,15 @@ namespace dxvk {
|
|||||||
|
|
||||||
auto newBuffer = static_cast<D3D11Buffer*>(pIndexBuffer);
|
auto newBuffer = static_cast<D3D11Buffer*>(pIndexBuffer);
|
||||||
|
|
||||||
m_state.ia.indexBuffer.buffer = newBuffer;
|
if (m_state.ia.indexBuffer.buffer != newBuffer
|
||||||
m_state.ia.indexBuffer.offset = Offset;
|
|| m_state.ia.indexBuffer.offset != Offset
|
||||||
m_state.ia.indexBuffer.format = Format;
|
|| m_state.ia.indexBuffer.format != Format) {
|
||||||
|
m_state.ia.indexBuffer.buffer = newBuffer;
|
||||||
BindIndexBuffer(newBuffer, Offset, Format);
|
m_state.ia.indexBuffer.offset = Offset;
|
||||||
|
m_state.ia.indexBuffer.format = Format;
|
||||||
|
|
||||||
|
BindIndexBuffer(newBuffer, Offset, Format);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user