d6e438a541
build / build (push) Successful in 2m13s
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.
17 lines
810 B
Diff
17 lines
810 B
Diff
--- 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);
|
|
|