diff --git a/pcsx2/GS/GSState.cpp b/pcsx2/GS/GSState.cpp index a48d693705..0c0d2101c1 100644 --- a/pcsx2/GS/GSState.cpp +++ b/pcsx2/GS/GSState.cpp @@ -3099,7 +3099,7 @@ __forceinline void GSState::VertexKick(u32 skip) ASSERT(m_vertex.tail < m_vertex.maxcount + 3); - if (auto_flush && m_index.tail >= 0 && ((m_vertex.tail + 1) - m_vertex.head) >= n) + if (auto_flush && m_index.tail > 0 && ((m_vertex.tail + 1) - m_vertex.head) >= n) { HandleAutoFlush(); } diff --git a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp index 27e6b176a9..92d82f8836 100644 --- a/pcsx2/GS/Renderers/HW/GSRendererHW.cpp +++ b/pcsx2/GS/Renderers/HW/GSRendererHW.cpp @@ -900,7 +900,7 @@ void GSRendererHW::SwSpriteRender() const bool alpha_blending_enabled = PRIM->ABE; - const GSVertex& v = m_vertex.buff[m_index.buff[m_index.tail - 1]]; // Last vertex. + const GSVertex& v = m_index.tail > 0 ? m_vertex.buff[m_index.buff[m_index.tail - 1]] : GSVertex(); // Last vertex if any. const GSVector4i vc = GSVector4i(v.RGBAQ.R, v.RGBAQ.G, v.RGBAQ.B, v.RGBAQ.A) // 0x000000AA000000BB000000GG000000RR .ps32(); // 0x00AA00BB00GG00RR00AA00BB00GG00RR