diff --git a/src/imagination/vulkan/pvr_cmd_buffer.c b/src/imagination/vulkan/pvr_cmd_buffer.c index 3254bee883c..0d4077bc496 100644 --- a/src/imagination/vulkan/pvr_cmd_buffer.c +++ b/src/imagination/vulkan/pvr_cmd_buffer.c @@ -4318,6 +4318,10 @@ pvr_setup_isp_faces_and_control(struct pvr_cmd_buffer *const cmd_buffer, ispa.passtype = fragment_shader_state->pass_type; + if (dynamic_state->cb.logic_op_enable && + fragment_shader_state->pass_type == ROGUE_TA_PASSTYPE_OPAQUE) + ispa.passtype = ROGUE_TA_PASSTYPE_TRANSLUCENT; + ispa.objtype = obj_type; /* Return unpacked ispa structure. dcmpmode, dwritedisable, passtype and diff --git a/src/imagination/vulkan/pvr_device.c b/src/imagination/vulkan/pvr_device.c index 672eb77baed..0085ccfcc82 100644 --- a/src/imagination/vulkan/pvr_device.c +++ b/src/imagination/vulkan/pvr_device.c @@ -214,7 +214,7 @@ static void pvr_physical_device_get_supported_features( .tessellationShader = false, .sampleRateShading = false, .dualSrcBlend = false, - .logicOp = false, + .logicOp = true, .multiDrawIndirect = false, .drawIndirectFirstInstance = false, .depthClamp = false,