Angelica

Angelica

9.7k Downloads

UI rendering bug on Intel Arc & Iris Xe Graphics

valiray opened this issue ยท 13 comments

commented

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
image
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

fml-client-latest.log

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)
commented

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

commented

Adoptium Java 21 + Intel UHD Graphics 620, also happening
image

commented

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?

commented

did any of you try coretweaks? it has some fixes for intel driver rendering problems

commented

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

commented

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);
commented

Can someone explain the fix? I really donโ€™t understand much other than the fact that the issue is caused by intel.

commented

The fix is to update Angelica https://github.com/GTNewHorizons/Angelica/releases/tag/1.0.0-alpha43 or turn off enableFontRenderer in Angelica config.

commented

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

commented

COMPLETED!!!_!???!!?!

commented

In Java 8, using Intel Iris Xe (i5-1135G7) has the same problem. The window goes black after blindly clicking into the singleplayer save.
image

commented

Java 17 + HD630 (i7-7700HQ) has the same problem.
be0a27985c11cef55ce7aca752e17a34

commented

Can also confirm this is happening to me!