Files
questshock/android/gl4es-src/spec/yml/my_glx.yml
T
ml d2dc58391b
build / build (push) Successful in 2m26s
Add controller input and a laser-pointer-driven menu quad
- 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).
2026-08-02 06:27:49 +02:00

77 lines
4.2 KiB
YAML

glx:
glXChooseVisual: [XVisualInfo *, Display *dpy, int screen, int *attribList]
glXBindHyperpipeSGIX: [int, Display *dpy, int hpId]
glXBindSwapBarrierSGIX: [void, uint32_t window, uint32_t barrier]
glXChangeDrawableAttributes: [void, uint32_t drawable]
glXChangeDrawableAttributesSGIX: [void, uint32_t drawable]
glXClientInfo: [void]
glXCopyContext: [void, Display *dpy, GLXContext src, GLXContext dst, unsigned long mask]
glXCreateContext: [GLXContext, Display *dpy, XVisualInfo *vis, GLXContext shareList, Bool direct]
glXCreateContextAttribsARB: [GLXContext, Display *display, void *config, GLXContext share_context, Bool direct, const int *attrib_list]
glXCreateContextWithConfigSGIX: [void, uint32_t gc_id, uint32_t screen, uint32_t
config, uint32_t share_list]
glXCreateGLXPbufferSGIX: [void, uint32_t config, uint32_t pbuffer]
glXCreateGLXPixmap: [GLXPixmap, Display *dpy, XVisualInfo *visual, Pixmap pixmap]
glXCreateGLXPixmapWithConfigSGIX: [void, uint32_t config, uint32_t pixmap, uint32_t
glxpixmap]
glXCreateGLXVideoSourceSGIX: [void, Display *dpy, uint32_t screen, uint32_t server,
uint32_t path, uint32_t class, uint32_t node]
glXCreateNewContext: [void, uint32_t config, uint32_t render_type, uint32_t share_list,
uint32_t direct]
glXCreatePbuffer: [void, uint32_t config, uint32_t pbuffer]
glXCreatePixmap: [void, uint32_t config, uint32_t pixmap, uint32_t glxpixmap]
glXCreateWindow: [void, uint32_t config, uint32_t window, uint32_t glxwindow]
glXDestroyContext: [void, Display *dpy, GLXContext ctx]
glXDestroyGLXPbufferSGIX: [void, uint32_t pbuffer]
glXDestroyGLXPixmap: [void, Display *dpy, GLXPixmap pixmap]
glXDestroyGLXVideoSourceSGIX: [void, Display *dpy, uint32_t glxvideosource]
glXDestroyHyperpipeConfigSGIX: [int, Display *dpy, int hpId]
glXDestroyPbuffer: [void, uint32_t pbuffer]
glXDestroyPixmap: [void, uint32_t glxpixmap]
glXDestroyWindow: [void, uint32_t glxwindow]
glXGetDrawableAttributes: [void, uint32_t drawable]
glXGetDrawableAttributesSGIX: [void, uint32_t drawable]
glXGetClientString: [const char *, Display *display, int name]
glXGetCurrentContext: [GLXContext]
glXGetCurrentDrawable: [GLXDrawable]
glXGetConfig: [int, Display *display, XVisualInfo *visual, int attribute, int *value]
glXGetFBConfigs: [void]
glXGetFBConfigsSGIX: [void]
glXGetVisualConfigs: [void]
glXHyperpipeAttribSGIX: [int, Display *dpy, int timeSlice, int attrib, int size,
const void *attribList]
glXHyperpipeConfigSGIX: [int, Display *dpy, int networkId, int npipes, GLXHyperpipeConfigSGIX
cfg, int *hpId]
glXIsDirect: [Bool, Display *dpy, GLXContext ctx]
glXJoinSwapGroupSGIX: [void, uint32_t window, uint32_t group]
glXMakeContextCurrent: [void, uint32_t drawable, uint32_t readdrawable, uint32_t
context]
glXMakeCurrent: [Bool, Display *dpy, GLXDrawable drawable, GLXContext ctx]
glXMakeCurrentReadSGI: [void, uint32_t drawable, uint32_t readdrawable, uint32_t
context]
glXQueryContext: [void]
glXQueryContextInfoEXT: [void]
glXQueryExtension: [Bool, Display *display, int *errorBase, int *eventBase]
glXQueryExtensionsString: [const char *, Display *dpy, int screen]
glXQueryHyperpipeAttribSGIX: [int, Display *dpy, int timeSlice, int attrib, int
size, const void *returnAttribList]
glXQueryHyperpipeBestAttribSGIX: [int, Display *dpy, int timeSlice, int attrib,
int size, const void *attribList, void *returnAttribList]
glXQueryHyperpipeConfigSGIX: [GLXHyperpipeConfigSGIX *, Display *dpy, int hpId,
int *npipes]
glXQueryHyperpipeNetworkSGIX: [GLXHyperpipeNetworkSGIX *, Display *dpy, int *npipes]
glXQueryMaxSwapBarriersSGIX: [void]
glXQueryServerString: [const char *, Display *dpy, int screen, int name]
glXQueryVersion: [Bool, Display *dpy, int *maj, int *min]
glXReleaseBuffersMESA: [Bool, Display *dpy, GLXDrawable drawable]
glXRender: [void]
glXRenderLarge: [void]
glXSwapBuffers: [void, Display *dpy, GLXDrawable drawable]
glXSwapIntervalSGI: [void, unsigned int interval]
glXSwapIntervalMESA: [int, unsigned int interval]
glXUseXFont: [void, Font font, int first, int count, int list]
glXVendorPrivate: [void]
glXVendorPrivateWithReply: [void]
glXWaitGL: [void]
glXWaitX: [void]