Skip to content

Commit

Permalink
Merge branch 'dev/ralston/default_rt_pipelines_radv' into 'main'
Browse files Browse the repository at this point in the history
[PR:63] [REMIX-2910] Default to RT pipelines on RADV

See merge request lightspeedrtx/dxvk-remix-nv!784
  • Loading branch information
anon-apple committed Apr 9, 2024
2 parents fe230f1 + ac099f4 commit 8994976
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 6 deletions.
1 change: 1 addition & 0 deletions src/dxvk/imgui/dxvk_imgui_about.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ namespace dxvk {
"Nico Rodrigues-McKenna",
"James 'jdswebb' Webb",
"James Horsley 'mmdanggg2'",
"Friedrich 'pixelcluster' Vock",
}},
{ "Engineering",
{ "Riley Alston",
Expand Down
2 changes: 1 addition & 1 deletion src/dxvk/rtx_render/rtx_initializer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ namespace dxvk {

RtxOptions::Get()->updateUpscalerFromDlssPreset();
RtxOptions::Get()->updateGraphicsPresets(m_device);
RtxOptions::Get()->updateRaytraceModePresets(deviceInfo.core.properties.vendorID);
RtxOptions::Get()->updateRaytraceModePresets(deviceInfo.core.properties.vendorID, deviceInfo.khrDeviceDriverProperties.driverID);
} else {
// Default, init to custom unless otherwise specified
if (RtxOptions::Get()->graphicsPreset() == GraphicsPreset::Auto)
Expand Down
12 changes: 8 additions & 4 deletions src/dxvk/rtx_render/rtx_options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ namespace dxvk {
forceHighResolutionReplacementTexturesRef() = false;
}

void RtxOptions::updateRaytraceModePresets(const uint32_t vendorID) {
void RtxOptions::updateRaytraceModePresets(const uint32_t vendorID, const VkDriverId driverID) {
// Handle Automatic Raytrace Mode Preset (From configuration/default)

if (RtxOptions::Get()->raytraceModePreset() == RaytraceModePreset::Auto) {
Expand All @@ -307,9 +307,13 @@ namespace dxvk {
DxvkPathtracerIntegrateDirect::RaytraceMode preferredIntegrateDirectRaytraceMode;
DxvkPathtracerIntegrateIndirect::RaytraceMode preferredIntegrateIndirectRaytraceMode;

if (vendorID == static_cast<uint32_t>(DxvkGpuVendor::Nvidia)) {
// Default to a mixture of Trace Ray and Ray Query on NVIDIA
Logger::info("NVIDIA architecture detected, setting default raytrace modes to Trace Ray (GBuffer/Indirect Integrate) and Ray Query (Direct Integrate)");
if (vendorID == static_cast<uint32_t>(DxvkGpuVendor::Nvidia) || driverID == VK_DRIVER_ID_MESA_RADV) {
// Default to a mixture of Trace Ray and Ray Query on NVIDIA and RADV
if (driverID == VK_DRIVER_ID_MESA_RADV) {
Logger::info("RADV driver detected, setting default raytrace modes to Trace Ray (GBuffer/Indirect Integrate) and Ray Query (Direct Integrate)");
} else {
Logger::info("NVIDIA architecture detected, setting default raytrace modes to Trace Ray (GBuffer/Indirect Integrate) and Ray Query (Direct Integrate)");
}

preferredGBufferRaytraceMode = DxvkPathtracerGbuffer::RaytraceMode::TraceRay;
preferredIntegrateDirectRaytraceMode = DxvkPathtracerIntegrateDirect::RaytraceMode::RayQuery;
Expand Down
2 changes: 1 addition & 1 deletion src/dxvk/rtx_render/rtx_options.h
Original file line number Diff line number Diff line change
Expand Up @@ -1159,7 +1159,7 @@ namespace dxvk {
NV_GPU_ARCHITECTURE_ID getNvidiaArch();
NV_GPU_ARCH_IMPLEMENTATION_ID getNvidiaChipId();
void updateGraphicsPresets(const DxvkDevice* device);
void updateRaytraceModePresets(const uint32_t vendorID);
void updateRaytraceModePresets(const uint32_t vendorID, const VkDriverId driverID);

void resetUpscaler();

Expand Down

0 comments on commit 8994976

Please sign in to comment.