Repository navigation
Android: collision and fast_block_compress build and run; denoised_rtao Windows only - #40
Merged
Merged
Conversation
…ao Windows only The full Android build stopped in three ports: - fast_block_compress: fbc_cpu.cpp's SSE2 constants used MSVC's __declspec(align(16)), now alignas(16); its C fallback (arm64) used memcpy_s, which fbc_cpu_compat.h now provides off Windows. The offline BC images' names are .DDS for all four images (opaque_512's own is .dds): Android's file names are case-sensitive, so they have their own extension list. - collision: DirectXMath (the Windows SDK's) is fetched on Android (DIRECTXMATH_FETCH_TAG, jun2026, headers only), with core/sal/sal.h for the annotations it uses. - denoised_rtao: Windows only. It loads textures through WIC and the PBRT parser takes its definitions from windows.h. An APK now also depends on what its executable was made to depend on after it was added (the copies of the samples' media): tools/android.py build builds APKs only, so fast_block_compress_apk failed when the images hadn't been copied. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
With core.autocrlf, a checkout gives a patch CRLF line endings; git apply then calls Donut-message-callback-all-apis.patch corrupt (its empty context line), and configure skipped it with a warning: a fresh clone on Windows built Donut without it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A full Android build (
cmake --build build-android-x86_64) stopped in three ports from Windows samples. Two now build and run on Android;denoised_rtaois Windows only.fast_block_compress__declspec(align(16))(x86-64);memcpy_s(arm64)alignas(16); amemcpy_sinfbc_cpu_compat.hoff WindowscollisionDirectXCollision.his the Windows SDK'sDIRECTXMATH_FETCH_TAG,jun2026, headers only), withcore/sal/sal.hfor the annotations it usesdenoised_rtaowindows.hin the PBRT parserTwo more fixes found while running them:
fast_block_compressimage names: all four offline BC files end in.DDS, whileopaque_512.ddsdoesn't. The code reused the image's extension, which Windows tolerates but Android's case-sensitive file names don't, so the example exited at startup.<example>_apknow also depends on what its executable depends on (the copies of the samples' media).tools/android.py buildbuilds APKs, not executables, sofast_block_compress_apkfailed when its images hadn't been copied yet.A second commit adds
.gitattributesso patches are always checked out with LF. Withcore.autocrlf, a checkout gaveDonut-message-callback-all-apis.patchCRLF line endings;git applythen called it corrupt (its empty context line), and configure skipped it with only a warning. A fresh Windows clone built Donut without #39's patch.Testing
-k 0, no failures)collision,fast_block_compress(C fallback),headless,nvrhi_directand both apps buildcollision.apkdraws the frustum and shapes.fast_block_compress.apkloads all its images; GPU BC1 RMS error 2.21, CPU (SSE2) BC1 2.22fast_block_compress_apkcopies them and packagesdenoised_rtao🤖 Generated with Claude Code