From 93a851a2fc051efc35c82484afb41462f891121c Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Tue, 4 Sep 2018 02:17:21 +0200 Subject: [PATCH] [d3d11] Implement DrawAuto method --- src/d3d11/d3d11_context.cpp | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index 7fa01bbc6..7159386be 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -1267,7 +1267,22 @@ namespace dxvk { void STDMETHODCALLTYPE D3D11DeviceContext::DrawAuto() { - Logger::err("D3D11DeviceContext::DrawAuto: Not implemented"); + D3D11Buffer* buffer = m_state.ia.vertexBuffers[0].buffer.ptr(); + + if (buffer == nullptr) + return; + + DxvkBufferSlice vtxBuf = buffer->GetBufferSlice(); + DxvkBufferSlice ctrBuf = buffer->GetSOCounter(); + + if (!ctrBuf.defined()) + return; + + EmitCs([=] (DxvkContext* ctx) { + ctx->drawIndirectXfb(ctrBuf, + vtxBuf.buffer()->getXfbVertexStride(), + 0); // FIXME offset? + }); }