release: prepare 0.1.5 with RDNA2 kernels and in-game DLSS/FSR switching
- Add native preset K kernels for gfx1030–gfx1036 using software matrix products, with fast and accuracy builds and RDNA2 motion kernels. - Follow OptiScaler's DLSS and RR preset overrides, sanitize unsupported values and select the preset matching the feature's quality mode. - Enable FSR 4 under NVIDIA GPU spoofing by exposing real AMD PCI IDs to OptiScaler and FidelityFX modules; bundle AMD's loader and upscaler. - Keep K on native kernels in engine auto mode unless HIP is selected, and fall back to CUDA for M/L when shader_float8 is unavailable. - Add native-engine K GPU timings, preset recreation harness controls and regression coverage; fix the input-wait test's glibc name clash. - Update configuration, installer guidance and release documentation, simplify the README and move gameplay videos to docs/videos.md. RDNA2 kernels remain untested on RDNA2 hardware; software matrix arithmetic was validated against WMMA on RDNA3.
This commit is contained in:
1 parent
34e6b0fe71
commit
0e851b7f90
24 files changed
+703
-174
No files matched your search
@@ -2445,6 +2445,22 @@ int main(int argc, char** argv)
|
||||
d4r_ngx_set_uint(parameters, "Height", height);
|
||||
d4r_ngx_set_uint(parameters, "DLSS.Render.Subrect.Dimensions.Width", width);
|
||||
d4r_ngx_set_uint(parameters, "DLSS.Render.Subrect.Dimensions.Height", height);
|
||||
// D4R_HARNESS_RECREATE_PRESETS=11,5,13: every Super Sampling preset slot of cycle N takes entry N-1 (cycling),
|
||||
// as OptiScaler's Render Presets Override + Apply Changes recreates the feature with the picked model
|
||||
if (const char* list = std::getenv("D4R_HARNESS_RECREATE_PRESETS"); list != nullptr && *list != '\0')
|
||||
{
|
||||
std::vector<unsigned int> presets;
|
||||
for (const char* cursor = list; *cursor != '\0';)
|
||||
{
|
||||
char* end = nullptr;
|
||||
presets.push_back(static_cast<unsigned int>(std::strtoul(cursor, &end, 0)));
|
||||
cursor = *end != '\0' ? end + 1 : end;
|
||||
}
|
||||
const unsigned int preset = presets[(cycle - 1) % presets.size()];
|
||||
for (const char* mode : {"DLAA", "Quality", "Balanced", "Performance", "UltraPerformance", "UltraQuality"})
|
||||
d4r_ngx_set_uint(parameters, (std::string("DLSS.Hint.Render.Preset.") + mode).c_str(), preset);
|
||||
std::printf("RECREATE cycle %d: presets %u\n", cycle, preset);
|
||||
}
|
||||
result = createFeature(g_list, featureId, parameters, &feature);
|
||||
if (result != NGX_SUCCESS)
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user