- 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,5 @@
|
||||
gl4es for Debian
|
||||
---------------
|
||||
|
||||
|
||||
-- licheng <shiptux@gmail.com> Fri, 30 Jul 2021 14:53:15 +0800
|
||||
@@ -0,0 +1,7 @@
|
||||
gl4es for Debian
|
||||
---------------
|
||||
|
||||
|
||||
|
||||
-- licheng <shiptux@gmail.com> Fri, 30 Jul 2021 14:53:15 +0800
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
gl4es (1.1.4-1) unstable; urgency=medium
|
||||
|
||||
* Initial release
|
||||
|
||||
-- licheng <shiptux@gmail.com> Fri, 30 Jul 2021 14:53:15 +0800
|
||||
@@ -0,0 +1 @@
|
||||
11
|
||||
@@ -0,0 +1,29 @@
|
||||
Source: gl4es
|
||||
Section: libs
|
||||
Priority: optional
|
||||
Maintainer: licheng <shiptux@gmail.com>
|
||||
Build-Depends: debhelper (>= 11),cmake,libx11-dev
|
||||
Standards-Version: 4.1.3
|
||||
Homepage: https://github.com/ptitSeb/gl4es
|
||||
|
||||
Package: libgl4es
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Multi-arch: no
|
||||
Description: GL4ES - OpenGL for GLES Hardware
|
||||
This is a library provide OpenGL 2.x functionality for GLES2.0 accelerated Hardware
|
||||
(and of course also support OpenGL 1.5 function, so metimes better than when using
|
||||
GLES 1.1 backend) There is also support for GLES 1.1 Hardware, emulating OpenGL 1.5,
|
||||
and some OpenGL 2.x + extensions.
|
||||
This package contains the shared libraries.
|
||||
|
||||
Package: libgl4es-dev
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Multi-arch: no
|
||||
Description: GL4ES - OpenGL for GLES Hardware
|
||||
This is a headers provide OpenGL 2.x functionality for GLES2.0 accelerated Hardware
|
||||
(and of course also support OpenGL 1.5 function, so metimes better than when using
|
||||
GLES 1.1 backend) There is also support for GLES 1.1 Hardware, emulating OpenGL 1.5,
|
||||
and some OpenGL 2.x + extensions.
|
||||
This package contains the development files.
|
||||
@@ -0,0 +1,46 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: gl4es
|
||||
Source: https://github.com/ptitSeb/gl4es
|
||||
|
||||
Files: *
|
||||
Copyright: Copyright (c) 2016-2018 Sebastien Chevalier
|
||||
Copyright (c) 2013-2016 Ryan Hileman
|
||||
License: Expat
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Files: debian/*
|
||||
Copyright: 2021 licheng <shiptux@gmail.com>
|
||||
License: GPL-2+
|
||||
This package is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
.
|
||||
This package is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
.
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>
|
||||
.
|
||||
On Debian systems, the complete text of the GNU General
|
||||
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
include/gl4esinit.h usr/include/gl4es/
|
||||
include/gl4eshint.h usr/include/gl4es/
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
lib/libGL.so.1 usr/lib/gl4es/
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
fix lintian error
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -6,6 +6,9 @@
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib)
|
||||
|
||||
+set(CMAKE_SKIP_INSTALL_RPATH ON)
|
||||
+set(CMAKE_SKIP_RPATH ON)
|
||||
+
|
||||
link_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
|
||||
|
||||
option(PANDORA "Set to ON if targeting an OpenPandora device" ${PANDORA})
|
||||
@@ -0,0 +1 @@
|
||||
fix_lintian_error
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_test:
|
||||
# Disable auto tests at build time
|
||||
:
|
||||
|
||||
override_dh_auto_clean:
|
||||
dh_auto_clean
|
||||
rm -f lib/*.so*
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
3.0 (quilt)
|
||||
Reference in New Issue
Block a user