Fix IDX_VALUE() for non-indexed draws in PatchLineStripIndexBuffer

Non indexed draws should use action->vertexOffset rather than
action->baseVertex.

Fixes VK_Overlay_Test, when running with KosmicKrisp.
This commit is contained in:
Jeremy Gebben authored and Baldur Karlsson committed 2026-09-16 22:12:30 +09:00
1 parent 32cd07ea6e
commit 2473e8aec5
1 file changed
+9 -4
+9 -4
View File
@@ -193,10 +193,15 @@ void PatchLineStripIndexBuffer(const ActionDescription *action, Topology topolog
{
const uint32_t restart = 0xffffffff;
#define IDX_VALUE(offs) \
(idx16 ? idx16[index + (offs)] \
: (idx32 ? idx32[index + (offs)] : (idx8 ? idx8[index + (offs)] : index + (offs)))) + \
action->baseVertex
// For indexed draws the fetched index has baseVertex added to it.
// For non-indexed draws the index is generated and has vertexOffset added to it.
// clang-format off
#define IDX_VALUE(offs) \
idx16 ? idx16[index + (offs)] + action->baseVertex \
: idx32 ? idx32[index + (offs)] + action->baseVertex \
: idx8 ? idx8[index + (offs)] + action->baseVertex \
: index + (offs) + action->vertexOffset
// clang-format on
switch(topology)
{