- xr_input.c/h: an OpenXR action set (aim pose, trigger/select click, a menu-toggle button) plus ray/quad hit-testing, and a visible laser-pointer line drawn from the controller toward the hit point. - xr_menu.c/h + MenuOverlay.java: a second composition-layer quad, toggled by a controller button, showing an off-screen, never-attached Android View tree (one "Keyboard" button so far) driven by synthetic touch events computed from the laser ray's hit UV. - Migrate gl4es from a prebuilt binary baked into the Docker build-image to a vendored source snapshot (android/gl4es-src/) compiled from source at APK build time via CMake add_subdirectory(), patched through a new android/gl4es-patches/ (mirrors the existing engine-patches/ pattern). This was needed to track down and fix a bug hit while building the menu: gl4es's fixed-pipeline emulation (fpe.c) was unconditionally substituting its own shader onto the menu's draw call (fpe_ReleventState() always sets alphafunc to a nonzero sentinel, so its fpe_IsEmpty() check could never see the state as empty), making the menu quad show the game's own rendering instead of its own content. Fixed by routing the menu's blit through a real glBlitFramebuffer() call instead of a shader-based draw, which gl4es's fpe.c has nothing to intercept - documented in README.md's new "Debugging notes" section. - Renumber android/engine-patches/ to close the gap left by removing an unrelated diagnostic-only patch, and strip investigation-journal comments and dead diagnostic code (temporary tracing, env-var probes) left over from finding the bug above. - Restructure README.md into numbered sections, document every engine/gl4es patch, add Android Studio dev/testing-cycle instructions, and generalize Quest-specific wording to any OpenXR headset. Update NOTICE.txt to match (gl4es is now vendored/patched source, not a prebuilt binary; add the OpenXR-SDK loader).
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
#GLES 1.1 Core
|
||||
glActiveTexture: [void, GLenum texture]
|
||||
glAlphaFunc: [void, GLenum func, GLclampf ref]
|
||||
glAlphaFuncx: [void, GLenum func, GLclampx ref]
|
||||
glBindBuffer: [void, GLenum target, GLuint buffer]
|
||||
glBindTexture: [void, GLenum target, GLuint texture]
|
||||
glBlendFunc: [void, GLenum sfactor, GLenum dfactor]
|
||||
glBufferData: [void, GLenum target, GLsizeiptr size, "const GLvoid *data", GLenum usage]
|
||||
glBufferSubData: [void, GLenum target, GLintptr offset, GLsizeiptr size, "const GLvoid *data"]
|
||||
glClear: [void, GLbitfield mask]
|
||||
glClearColor: [void, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha]
|
||||
glClearColorx: [void, GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha]
|
||||
glClearDepthf: [void, GLclampf depth]
|
||||
glClearDepthx: [void, GLclampx depth]
|
||||
glClearStencil: [void, GLint s]
|
||||
glClientActiveTexture: [void, GLenum texture]
|
||||
glClipPlanef: [void, GLenum plane, "const GLfloat *equation"]
|
||||
glClipPlanex: [void, GLenum plane, "const GLfixed *equation"]
|
||||
glColor4f: [void, GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha]
|
||||
glColor4ub: [void, GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha]
|
||||
glColor4x: [void, GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha]
|
||||
glColorMask: [void, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha]
|
||||
glColorPointer: [void, GLint size, GLenum type, GLsizei stride, "const GLvoid *pointer"]
|
||||
glCompressedTexImage2D: [void, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, "const GLvoid *data"]
|
||||
glCompressedTexSubImage2D: [void, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, "const GLvoid *data"]
|
||||
glCopyTexImage2D: [void, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border]
|
||||
glCopyTexSubImage2D: [void, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height]
|
||||
glCullFace: [void, GLenum mode]
|
||||
glDeleteBuffers: [void, GLsizei n, "const GLuint *buffers"]
|
||||
glDeleteTextures: [void, GLsizei n, "const GLuint *textures"]
|
||||
glDepthFunc: [void, GLenum func]
|
||||
glDepthMask: [void, GLboolean flag]
|
||||
glDepthRangef: [void, GLclampf near, GLclampf far]
|
||||
glDepthRangex: [void, GLclampx near, GLclampx far]
|
||||
glDisable: [void, GLenum cap]
|
||||
glDisableClientState: [void, GLenum array]
|
||||
glDisableClientState: [void, GLenum array]
|
||||
glDrawArrays: [void, GLenum mode, GLint first, GLsizei count]
|
||||
glDrawElements: [void, GLenum mode, GLsizei count, GLenum type, "const GLvoid *indices"]
|
||||
glEnable: [void, GLenum cap]
|
||||
glEnableClientState: [void, GLenum array]
|
||||
glEnableClientState: [void, GLenum array]
|
||||
glFinish: [void, void]
|
||||
glFlush: [void, void]
|
||||
glFogf: [void, GLenum pname, GLfloat param]
|
||||
glFogfv: [void, GLenum pname, "const GLfloat *params"]
|
||||
glFogx: [void, GLenum pname, GLfixed param]
|
||||
glFogxv: [void, GLenum pname, "const GLfixed *params"]
|
||||
glFrontFace: [void, GLenum mode]
|
||||
glFrustumf: [void, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near, GLfloat far]
|
||||
glFrustumx: [void, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed near, GLfixed far]
|
||||
glGenBuffers: [void, GLsizei n, "GLuint *buffers"]
|
||||
glGenTextures: [void, GLsizei n, "GLuint *textures"]
|
||||
glGetBooleanv: [void, GLenum pname, "GLboolean *params"]
|
||||
glGetBufferParameteriv: [void, GLenum target, GLenum pname, "GLint *params"]
|
||||
glGetClipPlanef: [void, GLenum plane, "GLfloat *equation"]
|
||||
glGetClipPlanex: [void, GLenum plane, "GLfixed *equation"]
|
||||
glGetError: [GLenum, void]
|
||||
glGetFixedv: [void, GLenum pname, "GLfixed *params"]
|
||||
glGetFloatv: [void, GLenum pname, "GLfloat *params"]
|
||||
glGetIntegerv: [void, GLenum pname, "GLint *params"]
|
||||
glGetLightfv: [void, GLenum light, GLenum pname, "GLfloat *params"]
|
||||
glGetLightxv: [void, GLenum light, GLenum pname, "GLfixed *params"]
|
||||
glGetMaterialfv: [void, GLenum face, GLenum pname, "GLfloat *params"]
|
||||
glGetMaterialxv: [void, GLenum face, GLenum pname, "GLfixed *params"]
|
||||
glGetPointerv: [void, GLenum pname, "GLvoid **params"]
|
||||
glGetString: [const GLubyte *, GLenum name]
|
||||
glGetTexEnvfv: [void, GLenum target, GLenum pname, "GLfloat *params"]
|
||||
glGetTexEnviv: [void, GLenum target, GLenum pname, "GLint *params"]
|
||||
glGetTexEnvxv: [void, GLenum target, GLenum pname, "GLfixed *params"]
|
||||
glGetTexParameterfv: [void, GLenum target, GLenum pname, "GLfloat *params"]
|
||||
glGetTexParameteriv: [void, GLenum target, GLenum pname, "GLint *params"]
|
||||
glGetTexParameterxv: [void, GLenum target, GLenum pname, "GLfixed *params"]
|
||||
glHint: [void, GLenum target, GLenum mode]
|
||||
glIsBuffer: [GLboolean, GLuint buffer]
|
||||
glIsEnabled: [GLboolean, GLenum cap]
|
||||
glIsTexture: [GLboolean, GLuint texture]
|
||||
glLightf: [void, GLenum light, GLenum pname, GLfloat param]
|
||||
glLightfv: [void, GLenum light, GLenum pname, "const GLfloat *params"]
|
||||
glLightModelf: [void, GLenum pname, GLfloat param]
|
||||
glLightModelfv: [void, GLenum pname, "const GLfloat *params"]
|
||||
glLightModelx: [void, GLenum pname, GLfixed param]
|
||||
glLightModelxv: [void, GLenum pname, "const GLfixed *params"]
|
||||
glLightx: [void, GLenum light, GLenum pname, GLfixed param]
|
||||
glLightxv: [void, GLenum light, GLenum pname, "const GLfixed *params"]
|
||||
glLineWidth: [void, GLfloat width]
|
||||
glLineWidthx: [void, GLfixed width]
|
||||
glLoadIdentity: [void, void]
|
||||
glLoadMatrixf: [void, "const GLfloat *m"]
|
||||
glLoadMatrixx: [void, "const GLfixed *m"]
|
||||
glLogicOp: [void, GLenum opcode]
|
||||
glMaterialf: [void, GLenum face, GLenum pname, GLfloat param]
|
||||
glMaterialfv: [void, GLenum face, GLenum pname, "const GLfloat *params"]
|
||||
glMaterialx: [void, GLenum face, GLenum pname, GLfixed param]
|
||||
glMaterialxv: [void, GLenum face, GLenum pname, "const GLfixed *params"]
|
||||
glMatrixMode: [void, GLenum mode]
|
||||
glMultiTexCoord4f: [void, GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q]
|
||||
glMultiTexCoord4x: [void, GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q]
|
||||
glMultMatrixf: [void, "const GLfloat *m"]
|
||||
glMultMatrixx: [void, "const GLfixed *m"]
|
||||
glNormal3f: [void, GLfloat nx, GLfloat ny, GLfloat nz]
|
||||
glNormal3x: [void, GLfixed nx, GLfixed ny, GLfixed nz]
|
||||
glNormalPointer: [void, GLenum type, GLsizei stride, "const GLvoid *pointer"]
|
||||
glOrthof: [void, GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near, GLfloat far]
|
||||
glOrthox: [void, GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed near, GLfixed far]
|
||||
glPixelStorei: [void, GLenum pname, GLint param]
|
||||
glPointParameterf: [void, GLenum pname, GLfloat param]
|
||||
glPointParameterfv: [void, GLenum pname, "const GLfloat *params"]
|
||||
glPointParameterx: [void, GLenum pname, GLfixed param]
|
||||
glPointParameterxv: [void, GLenum pname, "const GLfixed *params"]
|
||||
glPointSize: [void, GLfloat size]
|
||||
glPointSizePointerOES: [void, GLenum type, GLsizei stride, "const GLvoid *pointer"]
|
||||
glPointSizex: [void, GLfixed size]
|
||||
glPolygonOffset: [void, GLfloat factor, GLfloat units]
|
||||
glPolygonOffsetx: [void, GLfixed factor, GLfixed units]
|
||||
glPopMatrix: [void, void]
|
||||
glPushMatrix: [void, void]
|
||||
glReadPixels: [void, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, "GLvoid *pixels"]
|
||||
glRotatef: [void, GLfloat angle, GLfloat x, GLfloat y, GLfloat z]
|
||||
glRotatex: [void, GLfixed angle, GLfixed x, GLfixed y, GLfixed z]
|
||||
glSampleCoverage: [void, GLclampf value, GLboolean invert]
|
||||
glSampleCoveragex: [void, GLclampx value, GLboolean invert]
|
||||
glScalef: [void, GLfloat x, GLfloat y, GLfloat z]
|
||||
glScalex: [void, GLfixed x, GLfixed y, GLfixed z]
|
||||
glScissor: [void, GLint x, GLint y, GLsizei width, GLsizei height]
|
||||
glShadeModel: [void, GLenum mode]
|
||||
glStencilFunc: [void, GLenum func, GLint ref, GLuint mask]
|
||||
glStencilMask: [void, GLuint mask]
|
||||
glStencilOp: [void, GLenum fail, GLenum zfail, GLenum zpass]
|
||||
glTexCoordPointer: [void, GLint size, GLenum type, GLsizei stride, "const GLvoid *pointer"]
|
||||
glTexEnvf: [void, GLenum target, GLenum pname, GLfloat param]
|
||||
glTexEnvfv: [void, GLenum target, GLenum pname, "const GLfloat *params"]
|
||||
glTexEnvi: [void, GLenum target, GLenum pname, GLint param]
|
||||
glTexEnviv: [void, GLenum target, GLenum pname, "const GLint *params"]
|
||||
glTexEnvx: [void, GLenum target, GLenum pname, GLfixed param]
|
||||
glTexEnvxv: [void, GLenum target, GLenum pname, "const GLfixed *params"]
|
||||
glTexImage2D: [void, GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, "const GLvoid *data"]
|
||||
glTexParameterf: [void, GLenum target, GLenum pname, GLfloat param]
|
||||
glTexParameterfv: [void, GLenum target, GLenum pname, "const GLfloat *params"]
|
||||
glTexParameteri: [void, GLenum target, GLenum pname, GLint param]
|
||||
glTexParameteriv: [void, GLenum target, GLenum pname, "const GLint *params"]
|
||||
glTexParameterx: [void, GLenum target, GLenum pname, GLfixed param]
|
||||
glTexParameterxv: [void, GLenum target, GLenum pname, "const GLfixed *params"]
|
||||
glTexSubImage2D: [void, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, "const GLvoid *data"]
|
||||
glTranslatef: [void, GLfloat x, GLfloat y, GLfloat z]
|
||||
glTranslatex: [void, GLfixed x, GLfixed y, GLfixed z]
|
||||
glVertexPointer: [void, GLint size, GLenum type, GLsizei stride, "const GLvoid *pointer"]
|
||||
glViewport: [void, GLint x, GLint y, GLsizei width, GLsizei height]
|
||||
Reference in New Issue
Block a user