QW-Group/ezquake-source

BUG: amd - leaks from flashblend when gl_outline is enabled

Opened this issue · 4 comments

When both gl_flashblend and gl_outline are enabled there are leaks (large streaks appear in various directions) from flashblend elements, this can be seen most easily during pregame when everyone is glowing and one has gl_rl_globe enabled. It's been this way for a long while with amd gpus on both linux and windows.

ezquake007

The fix for this newer bug (https://gitlab.freedesktop.org/mesa/mesa/-/issues/10353) also appears to remedy this problem. Will test once merged into mesa upstream.

This is now fixed in mesa main.

it appears this still happens with mesa main with particular settings.

it would appear to be this call to glm_drawsequentialbatch, if we skip it everything appears to render properly except flashblend explosions:
glm_sprite3d.c:
178 else if (batch->allSameNumber && batch->numVertices[0] == 18 && GL_Supported(R_SUPPORT_PRIMITIVERESTART)) { 179 GLM_DrawSequentialBatch(batch, indexes_start_flashblend, INDEXES_MAX_FLASHBLEND); 180 }

moving renderer.Draw3DSprites(); before GLM_DrawAliasModelBatches(); also fixes the problem, but this has the side effect of rendering the alias models outside of the flashblend bubbles.