Repository navigation
Vulkan backend - #232
Merged
Merged
Vulkan backend#232
Conversation
Honor buffer view offsets, support unsigned integer textures and bindless texture descriptors, and handle empty buffers and Release driver errors. Correct CUDA builtin header copying, AST function scope/cache invalidation, and OpenGL buffer registration. Preserve host callback/download-to-upload ordering, release callback captures outside CUDA driver callbacks, and drain retained resources on synchronization. Include shared RHI/DSL fixes for view offsets, managed references, integer textures, and diagnostic resource cleanup before device destruction. Add CUDA AST/IR regressions for resource layouts, texture formats, stream lifetime, and host transfer ordering, with standalone CTest registration. Validation before splitting the working tree: Release and Debug each passed 95/95 tests, including 42 CUDA tests per configuration. OpenGL interop was not exercised. Vulkan implementation and performance benchmark changes are excluded from this commit.
Fix Vulkan build integration, AST/IR Slang generation, resource access, math behavior, and stream/transfer ordering for CUDA parity. Reduce dispatch overhead with inline shader parameters, per-batch shader binding reuse, streamlined batch retirement, and narrower barriers. Register cross-backend AST/IR regressions and add parameter layout, texture transfer, stream ordering, and verified performance coverage. Validation: Release and Debug builds; 95/95 CTest cases in each build; Vulkan validation and synchronization validation; 66/66 SPIR-V modules; verified CUDA/Vulkan performance runs on RTX 2080.
Match sampling frames, matrix construction and array math; align texture bounds, raygen dispatch and acceleration structure lifetime. Add deterministic box rendering, texture and runtime parity regressions across both backends and codegen paths. Verify emitted function identities in the existing CUDA source test instead of optional diagnostic comments. Validation: Debug non-Tensor CTest 106/106; Release affected regressions 17/17; 127 unique SPIR-V modules passed spirv-val. CUDA backend implementation remains unchanged.
Fix byte-buffer atomic references, signed remainder, and half rounding while preserving half bit copies. Add dispatch, math, control-flow, atomic, and bindless regressions across CUDA/Vulkan and AST/IR. Retain standalone diagnostics for CUDA zero dispatch and wide-literal subtraction without changing the CUDA implementation. Validation: Release 118/118, Debug 24/24, and 132 SPIR-V modules passed. No Vulkan validation or synchronization errors.
Preserve Callable storage aliases, texture alpha and raw-bit reinterpretation, and half conversion and math semantics. Correct resource offsets, dispatch handling, acceleration structures, and concurrent shader invocation lifetimes with targeted CUDA fixes. Add capability probes and cross-backend regression coverage. Release and Debug each pass all 195 non-Tensor tests, with 2364 deterministic comparison rows showing no differences per configuration, no Vulkan validation messages, and 413 SPIR-V modules validated.
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.
No description provided.