- 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,169 @@
|
||||
glActiveTexture: [void, GLenum texture]
|
||||
glAttachShader: [void, GLuint program, GLuint shader]
|
||||
glBindAttribLocation: [void, GLuint program, GLuint index, const GLchar * name]
|
||||
glBindBuffer: [void, GLenum target, GLuint buffer]
|
||||
glBindFramebuffer: [void, GLenum target, GLuint framebuffer]
|
||||
glBindRenderbuffer: [void, GLenum target, GLuint renderbuffer]
|
||||
glBindTexture: [void, GLenum target, GLuint texture]
|
||||
glBlendColor: [void, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha]
|
||||
glBlendEquation: [void, GLenum mode]
|
||||
glBlendEquationSeparate: [void, GLenum modeRGB, GLenum modeA]
|
||||
glBlendFunc: [void, GLenum sfactor, GLenum dfactor]
|
||||
glBlendFuncSeparate: [void, GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha,
|
||||
GLenum dfactorAlpha]
|
||||
glBufferData: [void, GLenum target, GLsizeiptr size, const GLvoid * data, GLenum usage]
|
||||
glBufferSubData: [void, GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid
|
||||
* data]
|
||||
glCheckFramebufferStatus: [GLenum, GLenum target]
|
||||
glClear: [void, GLbitfield mask]
|
||||
glClearColor: [void, GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha]
|
||||
glClearDepthf: [void, GLclampf depth]
|
||||
glClearStencil: [void, GLint s]
|
||||
glColorMask: [void, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha]
|
||||
glCompileShader: [void, GLuint shader]
|
||||
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]
|
||||
glCreateProgram: [GLuint]
|
||||
glCreateShader: [GLuint, GLenum type]
|
||||
glCullFace: [void, GLenum mode]
|
||||
glDeleteBuffers: [void, GLsizei n, const GLuint * buffer]
|
||||
glDeleteFramebuffers: [void, GLsizei n, const GLuint * framebuffers]
|
||||
glDeleteProgram: [void, GLuint program]
|
||||
glDeleteRenderbuffers: [void, GLsizei n, const GLuint * renderbuffers]
|
||||
glDeleteShader: [void, GLuint program]
|
||||
glDeleteTextures: [void, GLsizei n, const GLuint * textures]
|
||||
glDepthFunc: [void, GLenum func]
|
||||
glDepthMask: [void, GLboolean flag]
|
||||
glDepthRangef: [void, GLclampf zNear, GLclampf zFar]
|
||||
glDetachShader: [void, GLuint program, GLuint shader]
|
||||
glDisable: [void, GLenum cap]
|
||||
glDisableVertexAttribArray: [void, GLuint index]
|
||||
glDrawArrays: [void, GLenum mode, GLint first, GLsizei count]
|
||||
glDrawElements: [void, GLenum mode, GLsizei count, GLenum type, const GLvoid * indices]
|
||||
glEnable: [void, GLenum cap]
|
||||
glEnableVertexAttribArray: [void, GLuint index]
|
||||
glFinish: [void]
|
||||
glFlush: [void]
|
||||
glFramebufferRenderbuffer: [void, GLenum target, GLenum attachment, GLenum renderbuffertarget,
|
||||
GLuint renderbuffer]
|
||||
glFramebufferTexture2D: [void, GLenum target, GLenum attachment, GLenum textarget,
|
||||
GLuint texture, GLint level]
|
||||
glFrontFace: [void, GLenum mode]
|
||||
glGenBuffers: [void, GLsizei n, GLuint * buffer]
|
||||
glGenFramebuffers: [void, GLsizei n, GLuint * framebuffers]
|
||||
glGenRenderbuffers: [void, GLsizei n, GLuint * renderbuffers]
|
||||
glGenTextures: [void, GLsizei n, GLuint * textures]
|
||||
glGenerateMipmap: [void, GLenum target]
|
||||
glGetActiveAttrib: [void, GLuint program, GLuint index, GLsizei bufSize, GLsizei *
|
||||
length, GLint * size, GLenum * type, GLchar * name]
|
||||
glGetActiveUniform: [void, GLuint program, GLuint index, GLsizei bufSize, GLsizei
|
||||
* length, GLint * size, GLenum * type, GLchar * name]
|
||||
glGetAttachedShaders: [void, GLuint program, GLsizei maxCount, GLsizei * count, GLuint
|
||||
* obj]
|
||||
glGetAttribLocation: [GLint, GLuint program, const GLchar * name]
|
||||
glGetBooleanv: [void, GLenum pname, GLboolean * params]
|
||||
glGetBufferParameteriv: [void, GLenum target, GLenum pname, GLint * params]
|
||||
glGetError: [GLenum]
|
||||
glGetFloatv: [void, GLenum pname, GLfloat * params]
|
||||
glGetFramebufferAttachmentParameteriv: [void, GLenum target, GLenum attachment, GLenum
|
||||
pname, GLint * params]
|
||||
glGetIntegerv: [void, GLenum pname, GLint * params]
|
||||
glGetProgramInfoLog: [void, GLuint program, GLsizei bufSize, GLsizei * length, GLchar
|
||||
* infoLog]
|
||||
glGetProgramiv: [void, GLuint program, GLenum pname, GLint * params]
|
||||
glGetRenderbufferParameteriv: [void, GLenum target, GLenum pname, GLint * params]
|
||||
glGetShaderInfoLog: [void, GLuint shader, GLsizei bufSize, GLsizei * length, GLchar
|
||||
* infoLog]
|
||||
glGetShaderPrecisionFormat: [void, GLenum shadertype, GLenum precisiontype, GLint
|
||||
* range, GLint * precision]
|
||||
glGetShaderSource: [void, GLuint shader, GLsizei bufSize, GLsizei * length, GLchar
|
||||
* source]
|
||||
glGetShaderiv: [void, GLuint shader, GLenum pname, GLint * params]
|
||||
glGetString: [const GLubyte *, GLenum name]
|
||||
glGetTexParameterfv: [void, GLenum target, GLenum pname, GLfloat * params]
|
||||
glGetTexParameteriv: [void, GLenum target, GLenum pname, GLint * params]
|
||||
glGetUniformLocation: [GLint, GLuint program, const GLchar * name]
|
||||
glGetUniformfv: [void, GLuint program, GLint location, GLfloat * params]
|
||||
glGetUniformiv: [void, GLuint program, GLint location, GLint * params]
|
||||
glGetVertexAttribPointerv: [void, GLuint index, GLenum pname, GLvoid ** pointer]
|
||||
glGetVertexAttribfv: [void, GLuint index, GLenum pname, GLfloat * params]
|
||||
glGetVertexAttribiv: [void, GLuint index, GLenum pname, GLint * params]
|
||||
glHint: [void, GLenum target, GLenum mode]
|
||||
glIsBuffer: [GLboolean, GLuint buffer]
|
||||
glIsEnabled: [GLboolean, GLenum cap]
|
||||
glIsFramebuffer: [GLboolean, GLuint framebuffer]
|
||||
glIsProgram: [GLboolean, GLuint program]
|
||||
glIsRenderbuffer: [GLboolean, GLuint renderbuffer]
|
||||
glIsShader: [GLboolean, GLuint shader]
|
||||
glIsTexture: [GLboolean, GLuint texture]
|
||||
glLineWidth: [void, GLfloat width]
|
||||
glLinkProgram: [void, GLuint program]
|
||||
glPixelStorei: [void, GLenum pname, GLint param]
|
||||
glPolygonOffset: [void, GLfloat factor, GLfloat units]
|
||||
glReadPixels: [void, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format,
|
||||
GLenum type, GLvoid * pixels]
|
||||
glReleaseShaderCompiler: [void]
|
||||
glRenderbufferStorage: [void, GLenum target, GLenum internalformat, GLsizei width,
|
||||
GLsizei height]
|
||||
glSampleCoverage: [void, GLclampf value, GLboolean invert]
|
||||
glScissor: [void, GLint x, GLint y, GLsizei width, GLsizei height]
|
||||
glShaderBinary: [void, GLsizei n, const GLuint * shaders, GLenum binaryformat, const
|
||||
GLvoid * binary, GLsizei length]
|
||||
glShaderSource: [void, GLuint shader, GLsizei count, const GLchar * const * string,
|
||||
const GLint * length]
|
||||
glStencilFunc: [void, GLenum func, GLint ref, GLuint mask]
|
||||
glStencilFuncSeparate: [void, GLenum face, GLenum func, GLint ref, GLuint mask]
|
||||
glStencilMask: [void, GLuint mask]
|
||||
glStencilMaskSeparate: [void, GLenum face, GLuint mask]
|
||||
glStencilOp: [void, GLenum fail, GLenum zfail, GLenum zpass]
|
||||
glStencilOpSeparate: [void, GLenum face, GLenum sfail, GLenum zfail, GLenum zpass]
|
||||
glTexImage2D: [void, GLenum target, GLint level, GLint internalformat, GLsizei width,
|
||||
GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels]
|
||||
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]
|
||||
glTexSubImage2D: [void, GLenum target, GLint level, GLint xoffset, GLint yoffset,
|
||||
GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid * pixels]
|
||||
glUniform1f: [void, GLint location, GLfloat v0]
|
||||
glUniform1fv: [void, GLint location, GLsizei count, const GLfloat * value]
|
||||
glUniform1i: [void, GLint location, GLint v0]
|
||||
glUniform1iv: [void, GLint location, GLsizei count, const GLint * value]
|
||||
glUniform2f: [void, GLint location, GLfloat v0, GLfloat v1]
|
||||
glUniform2fv: [void, GLint location, GLsizei count, const GLfloat * value]
|
||||
glUniform2i: [void, GLint location, GLint v0, GLint v1]
|
||||
glUniform2iv: [void, GLint location, GLsizei count, const GLint * value]
|
||||
glUniform3f: [void, GLint location, GLfloat v0, GLfloat v1, GLfloat v2]
|
||||
glUniform3fv: [void, GLint location, GLsizei count, const GLfloat * value]
|
||||
glUniform3i: [void, GLint location, GLint v0, GLint v1, GLint v2]
|
||||
glUniform3iv: [void, GLint location, GLsizei count, const GLint * value]
|
||||
glUniform4f: [void, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3]
|
||||
glUniform4fv: [void, GLint location, GLsizei count, const GLfloat * value]
|
||||
glUniform4i: [void, GLint location, GLint v0, GLint v1, GLint v2, GLint v3]
|
||||
glUniform4iv: [void, GLint location, GLsizei count, const GLint * value]
|
||||
glUniformMatrix2fv: [void, GLint location, GLsizei count, GLboolean transpose, const
|
||||
GLfloat * value]
|
||||
glUniformMatrix3fv: [void, GLint location, GLsizei count, GLboolean transpose, const
|
||||
GLfloat * value]
|
||||
glUniformMatrix4fv: [void, GLint location, GLsizei count, GLboolean transpose, const
|
||||
GLfloat * value]
|
||||
glUseProgram: [void, GLuint program]
|
||||
glValidateProgram: [void, GLuint program]
|
||||
glVertexAttrib1f: [void, GLuint index, GLfloat x]
|
||||
glVertexAttrib1fv: [void, GLuint index, const GLfloat * v]
|
||||
glVertexAttrib2f: [void, GLuint index, GLfloat x, GLfloat y]
|
||||
glVertexAttrib2fv: [void, GLuint index, const GLfloat * v]
|
||||
glVertexAttrib3f: [void, GLuint index, GLfloat x, GLfloat y, GLfloat z]
|
||||
glVertexAttrib3fv: [void, GLuint index, const GLfloat * v]
|
||||
glVertexAttrib4f: [void, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w]
|
||||
glVertexAttrib4fv: [void, GLuint index, const GLfloat * v]
|
||||
glVertexAttribPointer: [void, GLuint index, GLint size, GLenum type, GLboolean normalized,
|
||||
GLsizei stride, const GLvoid * pointer]
|
||||
glViewport: [void, GLint x, GLint y, GLsizei width, GLsizei height]
|
||||
Reference in New Issue
Block a user