mirror of
https://github.com/Nexoniarz/Fry3DX.git
synced 2026-11-03 04:24:26 +00:00
Vulkan: a compute shader the driver can't build is left out, not a crash
The Galaxy S22 (Xclipse 920) says it has ray queries but can't build the ray-traced light and fog shaders; Fry3DX crashed on start there. Android builds use a current glslc (not the NDK's 2022 one). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NMSrd5oe1GpUD7E6d825KP
This commit is contained in:
parent
39a11e401e
commit
5d4ff6338a
3 changed files with 20 additions and 11 deletions
|
|
@ -44,8 +44,12 @@ def main():
|
|||
llvm = os.path.join(ndk, "toolchains", "llvm", "prebuilt", "linux-x86_64", "bin")
|
||||
|
||||
if not os.path.isdir(BUILD):
|
||||
glslc = os.environ.get("GLSLC") or os.path.join(ndk, "shader-tools", "linux-x86_64", "glslc") # (the NDK's own, if none's given)
|
||||
run("cmake", "--preset", "android", *([f"-DGLSLC={glslc}"] if os.path.exists(glslc) else []), cwd=ROOT)
|
||||
# A current glslc: $GLSLC, or the one on PATH. (Not the NDK's: its 2022 shaderc makes compute
|
||||
# shaders some phone drivers can't build, e.g. the Galaxy S22's.)
|
||||
glslc = os.environ.get("GLSLC") or shutil.which("glslc")
|
||||
if not glslc:
|
||||
sys.exit("No glslc: install shaderc (or the Vulkan SDK), or set GLSLC")
|
||||
run("cmake", "--preset", "android", f"-DGLSLC={glslc}", cwd=ROOT)
|
||||
run("cmake", "--build", "--preset", "android", cwd=ROOT)
|
||||
|
||||
stage = os.path.join(BUILD, "apk")
|
||||
|
|
|
|||
Loading…
Reference in a new issue