Fix the rebase onto the native engine: Vulkan frontend staging, RR gating, lazy RR debug stages
The native Vulkan frontend stages packed rows and refuses Ray Reconstruction, whose guides it does not stage. make_ptx loads the denoiser's per-layer debug stages only when one is requested, so builds without the denoiser's PTX corpus (preset L's texture kernels) work.
This commit is contained in:
1 parent
417abc64b5
commit
30472ae195
3 files changed
+14
-12
No files matched your search
@@ -7231,7 +7231,8 @@ static NgxResult create_feature(unsigned int featureId, void* parameters, NgxHan
|
||||
// feature 13; the NGX core dispatches the second to the denoiser it loaded, and is
|
||||
// offered feature 13 only once it has reported that denoiser working.
|
||||
const bool rayReconstruction = featureId == NGX_FEATURE_RAY_RECONSTRUCTION;
|
||||
if (featureId != NGX_FEATURE_SUPER_SAMPLING && !rayReconstruction)
|
||||
// The native Vulkan frontend stages only Super Sampling's four inputs, not the denoiser's guides.
|
||||
if ((featureId != NGX_FEATURE_SUPER_SAMPLING && !rayReconstruction) || (rayReconstruction && nativeVulkan))
|
||||
{
|
||||
logf("NVSDK_NGX_D3D12_CreateFeature(feature=%u) unsupported", featureId);
|
||||
return NGX_FAIL_FEATURE_NOT_SUPPORTED;
|
||||
|
||||
@@ -441,7 +441,7 @@ static void native_vk_run(Feature* feature, NativeVkFrame* frame)
|
||||
staging.width = p.image.width; staging.height = p.image.height;
|
||||
staging.format = p.format;
|
||||
staging.layout.Footprint.RowPitch = static_cast<UINT>(p.rowBytes);
|
||||
stage_plane(static_cast<Plane>(i), staging, slot.host[i], nullptr, i);
|
||||
stage_plane(static_cast<Plane>(i), staging, slot.host[i], nullptr, i, 0);
|
||||
}
|
||||
auto& p = frame->params;
|
||||
const auto staged = ProfileClock::now();
|
||||
|
||||
Reference in new issue
Block a user