From 9b760e7c99d8b247967305b162e08ab06123f51d Mon Sep 17 00:00:00 2001 From: CamilleLaVey Date: Thu, 2 Jul 2026 16:41:51 -0400 Subject: [PATCH] [TEST] Loggins for depth floats vs missing/ unsupported DepthBiasControl --- src/video_core/renderer_vulkan/vk_rasterizer.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 863ebb72ec..e98fc4be14 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp @@ -1255,6 +1255,20 @@ void RasterizerVulkan::UpdateDepthBias(Tegra::Engines::Maxwell3D::Regs& regs) { } } + const bool is_float_depth = + regs.zeta.format == Tegra::DepthFormat::Z32_FLOAT || + regs.zeta.format == Tegra::DepthFormat::Z32_FLOAT_X24S8_UINT || + regs.zeta.format == Tegra::DepthFormat::Z32_FLOAT_X16V8X8_UINT || + regs.zeta.format == Tegra::DepthFormat::Z32_FLOAT_X16V8S8_UINT; + if (is_float_depth && units != 0.0f && !device.IsExtDepthBiasControlSupported()) { + static bool logged_float_bias_warning = false; + if (!logged_float_bias_warning) { + logged_float_bias_warning = true; + LOG_WARNING(Render_Vulkan, + "Depth bias on a float depth target without VK_EXT_depth_bias_control"); + } + } + scheduler.Record([constant = units, clamp = regs.depth_bias_clamp, factor = regs.slope_scale_depth_bias, this](vk::CommandBuffer cmdbuf) { if (device.IsExtDepthBiasControlSupported()) {