From 20a08139ecec568abda0accc01e4eaef3e4d0a3a Mon Sep 17 00:00:00 2001 From: Simon Perretta Date: Wed, 5 Mar 2025 21:16:22 +0000 Subject: [PATCH] pvr: enable logicOp feature Signed-off-by: Simon Perretta Acked-by: Erik Faye-Lund Part-of: --- src/imagination/vulkan/pvr_cmd_buffer.c | 4 ++++ src/imagination/vulkan/pvr_device.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) 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,