Stale GL_UNPACK state in gl4es and a missing pre-release GPU sync caused diagonal-banded corruption in the 3D view. Synthetic key press/release must track the real controller button or touch down/up edges, not fire together in one call - fixes a typed movement key sticking forever, then a follow-up that had silently broken A-button jump and on-screen keyboard arrow keys. Also adds force-rebuild.sh for the known stageEngine stale-cache issue.
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
--- a/src/MacSrc/OpenGL.cc
|
||||
+++ b/src/MacSrc/OpenGL.cc
|
||||
@@ -525,6 +525,13 @@
|
||||
bind_texture(s_uiTexture);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
+ // uiRgba is tightly packed, but gl4es implements GL_UNPACK_ROW_LENGTH/
|
||||
+ // GL_UNPACK_ALIGNMENT client-side and persists whatever was last set
|
||||
+ // across draw calls in the same context. Reset both to the packed
|
||||
+ // defaults here so this upload doesn't inherit unrelated unpack state
|
||||
+ // set elsewhere in the frame.
|
||||
+ glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
|
||||
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, uiRgba->w, uiRgba->h, 0, GL_RGBA, GL_UNSIGNED_BYTE,
|
||||
uiRgba->pixels);
|
||||
|
||||
Reference in New Issue
Block a user