Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BUG: amd - leaks from flashblend when gl_outline is enabled #884

Open
ciscon opened this issue Dec 28, 2023 · 4 comments
Open

BUG: amd - leaks from flashblend when gl_outline is enabled #884

ciscon opened this issue Dec 28, 2023 · 4 comments
Assignees

Comments

@ciscon
Copy link
Collaborator

ciscon commented Dec 28, 2023

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

@ciscon
Copy link
Collaborator Author

ciscon commented Jan 17, 2024

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.

@ciscon
Copy link
Collaborator Author

ciscon commented Jan 26, 2024

This is now fixed in mesa main.

@ciscon ciscon closed this as completed Jan 26, 2024
@ciscon
Copy link
Collaborator Author

ciscon commented Feb 16, 2024

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

@ciscon ciscon reopened this Feb 16, 2024
@ciscon
Copy link
Collaborator Author

ciscon commented Feb 16, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants