|
|
|
@ -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()) { |
|
|
|
|