From 1b2f125ed6f025f4b2044db4679ff25152f5c714 Mon Sep 17 00:00:00 2001 From: XProger Date: Mon, 17 Feb 2020 03:19:41 +0300 Subject: [PATCH] fixed #241 --- src/gapi/d3d11.h | 2 +- src/gapi/d3d9.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gapi/d3d11.h b/src/gapi/d3d11.h index 894ae1e..4cba9c3 100644 --- a/src/gapi/d3d11.h +++ b/src/gapi/d3d11.h @@ -500,7 +500,7 @@ namespace GAPI { void bind(const MeshRange &range) const { UINT stride = sizeof(Vertex); UINT offset = 0;//range.vStart * stride; - deviceContext->IASetIndexBuffer(IB, DXGI_FORMAT_R16_UINT, 0); + deviceContext->IASetIndexBuffer(IB, sizeof(Index) == 2 ? DXGI_FORMAT_R16_UINT : DXGI_FORMAT_R32_UINT, 0); deviceContext->IASetVertexBuffers(0, 1, &VB, &stride, &offset); } diff --git a/src/gapi/d3d9.h b/src/gapi/d3d9.h index db04cc1..ff560c3 100644 --- a/src/gapi/d3d9.h +++ b/src/gapi/d3d9.h @@ -401,7 +401,7 @@ namespace GAPI { uint32 usage = D3DUSAGE_WRITEONLY | (dynamic ? D3DUSAGE_DYNAMIC : 0); D3DPOOL pool = dynamic ? D3DPOOL_DEFAULT : D3DPOOL_MANAGED; - D3DCHECK(device->CreateIndexBuffer (iCount * sizeof(Index), usage, D3DFMT_INDEX16, pool, &IB, NULL)); + D3DCHECK(device->CreateIndexBuffer (iCount * sizeof(Index), usage, sizeof(Index) == 2 ? D3DFMT_INDEX16 : D3DFMT_INDEX32, pool, &IB, NULL)); D3DCHECK(device->CreateVertexBuffer (vCount * sizeof(Vertex), usage, D3DFMT_UNKNOWN, pool, &VB, NULL)); update(indices, iCount, vertices, vCount);