mirror of
https://github.com/Droid-Deck/DroidDeck.git
synced 2026-10-14 19:27:09 -04:00
refactor: clarify Quest frame shaders
This commit is contained in:
1 parent
2ef2d4b53d
commit
dbd277d5bd
2 files changed
+27
-5
No files matched your search
@@ -107,12 +107,12 @@ certificate matched the expected release certificate. Updating the standard
|
||||
previous APK is retained locally under ignored `build/installed-original.apk`.
|
||||
No uninstall or data reset was performed.
|
||||
|
||||
The latest source adds the Quest-specific SteamVR Start flow, ongoing SteamVR
|
||||
At that stage, source added the Quest-specific SteamVR Start flow, ongoing SteamVR
|
||||
status telemetry, a clean native Back/exit path, and bounded Android event
|
||||
draining. It removes UI-thread waits from native surface handoff to avoid a
|
||||
NativeActivity destruction deadlock, and restores proximity after tests unless
|
||||
`--keep-awake` is specified. These changes compile locally but require a fresh
|
||||
integrated APK before their device validation.
|
||||
`--keep-awake` is specified. These changes compiled locally and subsequently
|
||||
shipped in the integrated APK described in the final build evidence.
|
||||
|
||||
Later device runs stopped rendering because the OS displayed **Finding position
|
||||
in room**, saying it cannot detect headset movement. Logs show the XR session
|
||||
@@ -213,6 +213,28 @@ Vulkan 1.2 for its core image-format-list use. Focused Kotlin tests and the new
|
||||
validation classifier tests pass. The broad Linux suite had one unrelated
|
||||
AppImage log-tail failure under WSL; the full CI suite passed at `040d31c1`.
|
||||
|
||||
### Final build and requested pause
|
||||
|
||||
Full CI run 38652176155 passed at `2ef2d4b5`, including the expanded IPC tests,
|
||||
Kotlin/Python tests and ELF checks. The APK was downloaded, release-signed with
|
||||
the external key and installed over the standard package with `adb install -r`.
|
||||
The device provider confirms `remote clean · feat/quest-openxr at 2ef2d4b`,
|
||||
version 0.4.0, retained r9 runtime and an idle session. MainActivity launches
|
||||
without an AndroidRuntime error. No uninstall or data reset was used.
|
||||
|
||||
A final cosmetic shader-variable cleanup compiled for both native targets and
|
||||
was deployed in the companion. Its repeated device test passed both Android IPC
|
||||
executables and the known-pattern GPU upload: 144 received, zero rejected,
|
||||
126 uploaded, source/GPU-verified ID 144 and checksum 1815165381. The earlier
|
||||
interrupted repeat remains a recorded failure; sustained tracked rendering and
|
||||
guest SteamVR remain unverified. The unrelated AppImage test suite passed all
|
||||
eight cases on a focused rerun without code changes.
|
||||
|
||||
The diagnostic companion is stopped, simulated proximity is restored to far,
|
||||
and the USB stay-awake setting introduced during testing is restored to off.
|
||||
The user requested pausing the goal until they can help with Steam sign-in,
|
||||
on-device Debugging tools, tracking and controllers. The goal is not complete.
|
||||
|
||||
## Remaining stages
|
||||
|
||||
- Android/Linux eye-image bridge and frame ownership/synchronization.
|
||||
|
||||
@@ -561,9 +561,9 @@ private:
|
||||
glGenFramebuffers(1, &framebuffer_);
|
||||
if (frameInput_) {
|
||||
vertex = shader(GL_VERTEX_SHADER,
|
||||
"#version 300 es\nout vec2 uv; uniform float eye; void main(){vec2 p=vec2(float((gl_VertexID<<1)&2),float(gl_VertexID&2));uv=vec2(p.x*0.5+eye*0.5,1.0-p.y);gl_Position=vec4(p*2.0-1.0,0.0,1.0);}");
|
||||
"#version 300 es\nout vec2 uv; uniform float eye; void main(){vec2 coordinate=vec2(float((gl_VertexID<<1)&2),float(gl_VertexID&2));uv=vec2(coordinate.x*0.5+eye*0.5,1.0-coordinate.y);gl_Position=vec4(coordinate*2.0-1.0,0.0,1.0);}");
|
||||
fragment = shader(GL_FRAGMENT_SHADER,
|
||||
"#version 300 es\nprecision highp float; in vec2 uv; uniform sampler2D source; uniform float eye; out vec4 outputColor; void main(){float edge=0.5/float(textureSize(source,0).x);vec2 p=vec2(clamp(uv.x,eye*0.5+edge,(eye+1.0)*0.5-edge),uv.y);outputColor=texture(source,p);}");
|
||||
"#version 300 es\nprecision highp float; in vec2 uv; uniform sampler2D source; uniform float eye; out vec4 outputColor; void main(){float edge=0.5/float(textureSize(source,0).x);vec2 coordinate=vec2(clamp(uv.x,eye*0.5+edge,(eye+1.0)*0.5-edge),uv.y);outputColor=texture(source,coordinate);}");
|
||||
sourceProgram_ = glCreateProgram(); glAttachShader(sourceProgram_, vertex); glAttachShader(sourceProgram_, fragment);
|
||||
glLinkProgram(sourceProgram_); glDeleteShader(vertex); glDeleteShader(fragment);
|
||||
glGetProgramiv(sourceProgram_, GL_LINK_STATUS, &linked);
|
||||
|
||||
Reference in new issue
Block a user