anv: add missing logic op set in pipeline dyn state
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Fri, 29 Apr 2022 20:08:42 +0000 (23:08 +0300)
committerMarge Bot <emma+marge@anholt.net>
Tue, 3 May 2022 17:12:44 +0000 (17:12 +0000)
v2: add ANV_CMD_DIRTY_DYNAMIC_LOGIC_OP check (Tapani)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 75ad0e4b0874 ("anv: support blending logic op dynamic state")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16220>

src/intel/vulkan/anv_pipeline.c

index 1c37a57..d8f3f81 100644 (file)
@@ -2351,6 +2351,11 @@ copy_non_dynamic_state(struct anv_graphics_pipeline *pipeline,
       }
    }
 
+   if (states & ANV_CMD_DIRTY_DYNAMIC_LOGIC_OP) {
+      if (!raster_discard && anv_rendering_uses_color_attachment(rendering_info))
+         dynamic->logic_op = pCreateInfo->pColorBlendState->logicOp;
+   }
+
    const VkPipelineFragmentShadingRateStateCreateInfoKHR *fsr_state =
       vk_find_struct_const(pCreateInfo->pNext,
                            PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR);