diff --git a/src/graphics/host_gpu/renderer/depthRenderTarget.cpp b/src/graphics/host_gpu/renderer/depthRenderTarget.cpp index f08b29d4f..a137a7787 100644 --- a/src/graphics/host_gpu/renderer/depthRenderTarget.cpp +++ b/src/graphics/host_gpu/renderer/depthRenderTarget.cpp @@ -144,6 +144,8 @@ void RenderExecutor::ResolveRenderDepthTarget(uint64_t submit_id, CommandBuffer& return; } const bool has_htile = z.z_info.htile_acceleration; + const bool unsupported_shading_rate_encoding = + z.shading_rate_encoding > 1 || (z.shading_rate_encoding != 0 && !has_htile); const auto samples = render_sample_count(z.z_info.num_samples); if (samples == 0) { DepthFatal("unsupported depth fragment count: %u", z.z_info.num_samples); @@ -162,7 +164,7 @@ void RenderExecutor::ResolveRenderDepthTarget(uint64_t submit_id, CommandBuffer& rc.copy_sample != 0 || z.z_info.expclear_enabled || z.stencil_info.expclear_enabled || z.z_info.partially_resident || z.stencil_info.partially_resident || z.z_info.max_mip_level != 0 || - z.depth_view.current_mip_level != 0 || z.shading_rate_encoding != 0 || + z.depth_view.current_mip_level != 0 || unsupported_shading_rate_encoding || z.z_read_base_addr == 0 || (!z.depth_view.depth_write_disable && z.z_write_base_addr != z.z_read_base_addr) || (z.z_read_base_addr & 0xffffu) != 0 || diff --git a/src/graphics/host_gpu/renderer/renderDraw.cpp b/src/graphics/host_gpu/renderer/renderDraw.cpp index 5344d7737..d1700cbca 100644 --- a/src/graphics/host_gpu/renderer/renderDraw.cpp +++ b/src/graphics/host_gpu/renderer/renderDraw.cpp @@ -117,10 +117,6 @@ static const char* RenderColorTypeName(RenderColorType type) { } } -static bool IsDualSourceBlendFactor(uint32_t factor) { - return factor >= 0x0fu && factor <= 0x12u; -} - static void LogFramebufferSkip(const char* draw_name, const RenderColorInfo& color, const RenderDepthInfo& depth, const CommandBuffer& buffer, uint32_t index_count, uint32_t flags) { @@ -153,12 +149,6 @@ static void LogMrtState(const char* draw_name, const CommandBuffer& buffer, const auto cb_shader_mask = sh_regs.m_cbShaderMask; const auto& bc0 = ctx.GetBlendControl(0); - bool interesting = rt_mask != 0x0f || (cb_shader_mask & ~0x0fu) != 0 || - IsDualSourceBlendFactor(bc0.color_srcblend) || - IsDualSourceBlendFactor(bc0.color_destblend) || - (bc0.separate_alpha_blend && (IsDualSourceBlendFactor(bc0.alpha_srcblend) || - IsDualSourceBlendFactor(bc0.alpha_destblend))); - auto log_id = g_mrt_state_log_count.fetch_add(1); if (log_id >= 32) { return;