Repository navigation
Conversation
hzqst
added a commit
to hzqst/DiligentCore
that referenced
this pull request
Oct 25, 2026
Integrate DiligentGraphics/DiligentCore PRs DiligentGraphics#812, DiligentGraphics#814 and DiligentGraphics#817 into RTXPT-ray-reconstruction without importing the development merge from PR DiligentGraphics#814. Sources: DiligentGraphics#812 2a7f66e, 55f8504, fbb9a27; DiligentGraphics#814 f3a3a04; DiligentGraphics#817 acac729, 720904a. Add a three-pass native PSO/render-state archive round-trip regression and update modified copyright years. Validated Release Core/API tests and RTXPT builds, 556 unit tests, 59 D3D12 tests, 54 Vulkan tests and 6 WebGPU tests. Three Metal-only mesh tests skipped. D3D12 reference and RR captures exited successfully; RR executed twice. clang-format 10 validated all 15 changed files. Co-Authored-By: Codex <codex@openai.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Codex <codex@openai.com>
hzqst
force-pushed
the
rsc-missing-entry-name
branch
from
October 25, 2026 21:42
6a9c806 to
71b801c
Compare
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.
When
RenderStateCacheserializes a PSO using device shaders, it reconstructsShaderCreateInfofrom their WGSL but leavesEntryPointat its default"main". Shaders with valid entry points such asvertexMain,fragmentMain, orcomputeMainthen fail reflection and PSO archiving. This also affects shaders restored from an existing shader archive. A ready device PSO does not prove archiving succeeded because the cache catches serialization exceptions.Changes
GetEntryPoint()throughIShaderWebGPU, returning the actual selected WGSL entry point.GetWebGPUShaderEntryPoint()using the existing WebGPU utility pattern, including a stub for builds without WebGPU.RenderStateCachereconstructs the shader creation info for serialization. The archive format already stores entry points and requires no changes.mainvertex, fragment, and compute entry points, stores the resulting PSOs, destroys and recreates the cache, and requires archive hits with ready pipelines. Multi-entry modules place an unused entry point of the same stage first and give it additional resources; the restored pipeline must preserve the selected entry point's resource layout.Validation
Windows x64 Debug, NVIDIA GPU:
Entry point 'main' is not found, shader serialization errors, and missing PSO archive hits. The archive-restored cases first logged successful shader archive hits, reproducing the reported sequence.RenderStateCacheTest.*,ArchiveTest.WGSLEntryPointRemapping, andShaderCreationTest.WGSLEntryPointRemapping: 34 passed, 5 skipped, 0 failures, including all four final regression tests.RenderStateCacheTest.*: 31 passed, 6 skipped, 0 failures.git diff --checkpassed.Run the API tests from
Tests/DiligentCoreAPITest/assets:The regressions recreate caches and reload archives on the same device. A full application restart/device recreation and the original HLND2T scenario were not run.
Compatibility
Adding a virtual method to
IShaderWebGPUchanges its C++ vtable; consumers and implementations must be rebuilt together. The archive format is unchanged.Closes #813