Advance native Windows RR integration, kernel tooling and local packaging
Implement native NGX feature-13 RR through a LUID-matched D3D12/Vulkan shared-memory and timeline-fence bridge. Add owned parameter snapshots, GPU resource lifetime handling, inherited/enhanced barriers, optional guides, sampled input formats and depth-plane support with stencil preservation. Separate RR initialization from the SR CUDA runtime and expose explicit backend/model selection through player configuration. Add synthetic bridge, snapshot and NGX lifecycle harnesses covering camera/history/reset, parameter mutation, delayed submission, early release, capability gating and unsupported-input rejection. Add exact gfx11 D/E model generation, verified caches, versioned local deployment with configuration backups, and isolated portable model tools with pinned Python, NumPy and glslang dependencies. Extend Windows K benchmarking and private native-cache selection. Fix LLVM 22 emitter/helper compatibility and preserve exact-output validation for local output-kernel optimization. Add native FSR RR provider diagnostics, local development package refresh tooling, installer/checker updates, FidelityFX headers and Windows parity documentation. Keep NVIDIA binaries, derived models and private optimized kernels out of distributable packages. Native RR evidence remains synthetic; game validation, FSR RR dispatch, installer integration and Linux performance parity remain incomplete.
This commit is contained in:
1 parent
3345fffcd3
commit
247fe1092d
60 files changed
+7168
-66
No files matched your search
@@ -0,0 +1,39 @@
|
||||
#pragma once
|
||||
|
||||
#include <windows.h>
|
||||
#include <d3d12.h>
|
||||
#include <dxgi1_4.h>
|
||||
#include <cstdio>
|
||||
#include <string>
|
||||
|
||||
// Native Windows uses the installed driver's normal D3D12 path. Do not import
|
||||
// Proton's amdxc64 shim or Linux PCI/sysfs discovery into this process.
|
||||
inline bool d4r_fsr_rr_driver_extension(ID3D12Device* device, std::string& detail)
|
||||
{
|
||||
LUID luid{};
|
||||
device->GetAdapterLuid(&luid);
|
||||
IDXGIFactory4* factory = nullptr;
|
||||
if (FAILED(CreateDXGIFactory2(0, IID_PPV_ARGS(&factory)))) {
|
||||
detail = "native Windows: DXGI factory query failed";
|
||||
return false;
|
||||
}
|
||||
IDXGIAdapter1* adapter = nullptr;
|
||||
const HRESULT result = factory->EnumAdapterByLuid(luid, IID_PPV_ARGS(&adapter));
|
||||
factory->Release();
|
||||
if (FAILED(result)) {
|
||||
detail = "native Windows: device adapter query failed";
|
||||
return false;
|
||||
}
|
||||
DXGI_ADAPTER_DESC1 desc{};
|
||||
const HRESULT described = adapter->GetDesc1(&desc);
|
||||
adapter->Release();
|
||||
if (FAILED(described)) {
|
||||
detail = "native Windows: adapter description failed";
|
||||
return false;
|
||||
}
|
||||
char text[160];
|
||||
std::snprintf(text, sizeof(text), "native Windows DXGI %04x:%04x; installed D3D12 driver path",
|
||||
desc.VendorId, desc.DeviceId);
|
||||
detail = text;
|
||||
return true;
|
||||
}
|
||||
Reference in new issue
Block a user