Merge pull request 'perf(sync): scope frame-loop barriers to swapchain image + real per-pass stages (#115)' (#137) from claude/issue-115 into master
This commit is contained in:
commit
82fd6916d9
6 changed files with 316 additions and 8 deletions
29
project.cpp
29
project.cpp
|
|
@ -473,6 +473,35 @@ extern "C" Configuration CrafterBuildProject(std::span<const std::string_view> a
|
|||
mbc.GetInterfacesAndImplementations(ifaces, mipBarrierImpls);
|
||||
cfg.tests.push_back(std::move(mipBarrierTest));
|
||||
|
||||
// Issue #115: the frame loop's inter-pass and acquire/present barriers
|
||||
// no longer use ALL_COMMANDS / a queue-wide VkMemoryBarrier. The stage
|
||||
// masks are derived per pass via RenderPass::SwapchainStage() (compute
|
||||
// vs ray-tracing) and unioned across the frame by SwapchainStageUnion,
|
||||
// and the inter-pass dependency is scoped to the swapchain image by
|
||||
// BuildSwapchainInterPassBarrier — all pure CPU logic over the pass
|
||||
// list, so this test drives them directly with no GPU at runtime.
|
||||
Test swapBarrierTest;
|
||||
Configuration& sbc = swapBarrierTest.config;
|
||||
sbc.path = cfg.path;
|
||||
sbc.name = "SwapchainBarrierScope";
|
||||
sbc.outputName = "SwapchainBarrierScope";
|
||||
sbc.type = ConfigurationType::Executable;
|
||||
sbc.target = cfg.target;
|
||||
sbc.march = cfg.march;
|
||||
sbc.mtune = cfg.mtune;
|
||||
sbc.debug = cfg.debug;
|
||||
sbc.sysroot = cfg.sysroot;
|
||||
sbc.dependencies = cfg.dependencies;
|
||||
sbc.externalDependencies = cfg.externalDependencies;
|
||||
sbc.compileFlags = cfg.compileFlags;
|
||||
sbc.linkFlags = cfg.linkFlags;
|
||||
sbc.defines = cfg.defines;
|
||||
sbc.cFiles = cfg.cFiles;
|
||||
std::vector<fs::path> swapBarrierImpls(impls.begin(), impls.end());
|
||||
swapBarrierImpls.emplace_back("tests/SwapchainBarrierScope/main");
|
||||
sbc.GetInterfacesAndImplementations(ifaces, swapBarrierImpls);
|
||||
cfg.tests.push_back(std::move(swapBarrierTest));
|
||||
|
||||
// Issue #47: the fused UI uber-kernel (shaders/ui-fused.comp.glsl) and
|
||||
// its C++ push-constant mirror UIFusedHeader. Compiles the real shader
|
||||
// with glslang, validates with spirv-val, and pins the push-constant
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue