UI rendering bug on Intel Arc & Iris Xe Graphics
valiray opened this issue ยท 13 comments
Your GTNH Discord Username
valiray
Mod Version
1.0.0-alpha14
Java Version
Java 17
Bug Report
some menus are not rendering right there for making them unusable
here is also a list of setting menus that are broken
- snooper
- controls
- language
- resource packs
- the multiplayer server section screen
- the mod list
and a list of ones that are not
- music
- multiplayer settings
- broadcast settings
- the singleplayer world section screen
i am also on intel arc so that may be why
Mod List or GTNH Pack Version
2.5.1 + Angelica + hodgepodge-2.4.9 + CodeChickenCore-1.2.1
Final Checklist
- I have searched the issues and haven't found a similar issue.
- I have read the known incompatibilities and this is not related to one of those.
- I am running an officially released version. (Or, if I've compiled it myself I plan to fix the issue)
- This issue is not shader related (they aren't ready yet for testing)
I have the same problem with 2.6, java 21. My rig: R5 5600, 16Gb ram allocated & Intel arc A770 LE driver 31.0.101.552 released 12.5.2024
edit: updating angelica to alpha 50 indeed fixed it
after some more testing it looks like intel works on linux/mesa, the ui and all the other rendering bugs are gone? so it might just be something with intel drivers on windows?
did any of you try coretweaks? it has some fixes for intel driver rendering problems
did any of you try coretweaks? it has some fixes for intel driver rendering problems
I did, (just installed it, no further tweaking within it) but it didnt fix the screen melting
Can reproduce this on Windows with an intel iGPU as of 1.0.0-alpha34
. Setting enableFontRenderer
to false fixes it.
The cause seems to be glPushClientAttrib
not being implemented properly on these drivers.
Proof of concept fix
This patch fixes it, however it's technically incorrect because it always sets the three flags at the end to false rather than restoring their original value. This didn't cause any issues in my testing (and the vanilla tessellator also does this), but it's still hacky. A proper fix would require GLSM to support keeping track of client flags.diff --git a/src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java b/src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java
index 906450a5..6b459767 100644
--- a/src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java
+++ b/src/main/java/com/gtnewhorizons/angelica/client/font/BatchingFontRenderer.java
@@ -258,7 +258,6 @@ public class BatchingFontRenderer {
GLStateManager.tryBlendFuncSeparate(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_ONE, GL_ZERO);
GLStateManager.glShadeModel(GL_FLAT);
- glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT);
glTexCoordPointer(2, 0, batchVtxTexCoords);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glColorPointer(4, GL_UNSIGNED_BYTE, 0, batchVtxColors);
@@ -289,7 +288,9 @@ public class BatchingFontRenderer {
glDrawElements(GL_TRIANGLES, batchIndices);
}
- glPopClientAttrib();
+ glDisableClientState(GL_TEXTURE_COORD_ARRAY);
+ glDisableClientState(GL_COLOR_ARRAY);
+ glDisableClientState(GL_VERTEX_ARRAY);
if (isTextureEnabledBefore) {
GLStateManager.glEnable(GL11.GL_TEXTURE_2D);
Can someone explain the fix? I really donโt understand much other than the fact that the issue is caused by intel.
The fix is to update Angelica https://github.com/GTNewHorizons/Angelica/releases/tag/1.0.0-alpha43 or turn off enableFontRenderer in Angelica config.
in my side, intel latest graphics has issue with 1.7.10 itself, without anything. however, changed to jdk17 just mysteriously solved the issue. this is only according to my friend's laptop, im using a nvidia btw