X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fdrivers%2Fpanfrost%2Fpan_blending.c;h=2788d213fef6f306abde923d0d1fdb08abf53783;hb=f58e0405b6ca15d9b82122d82311e8b82f4a0939;hp=3acda3101c3f65333933b1544d9517cd70afcbd6;hpb=c0c709a13af324e9739634e830cbadec93ea6d3d;p=mesa.git diff --git a/src/gallium/drivers/panfrost/pan_blending.c b/src/gallium/drivers/panfrost/pan_blending.c index 3acda3101c3..2788d213fef 100644 --- a/src/gallium/drivers/panfrost/pan_blending.c +++ b/src/gallium/drivers/panfrost/pan_blending.c @@ -117,14 +117,19 @@ panfrost_can_fixed_blend(enum pipe_format format) /* Certain special formats are, too */ switch (format) { - case PIPE_FORMAT_B5G6R5_UNORM: - case PIPE_FORMAT_R10G10B10A2_UNORM: - case PIPE_FORMAT_B10G10R10A2_UNORM: - case PIPE_FORMAT_R10G10B10X2_UNORM: - case PIPE_FORMAT_B10G10R10X2_UNORM: - return true; - default: - return false; + case PIPE_FORMAT_B5G6R5_UNORM: + case PIPE_FORMAT_R10G10B10A2_UNORM: + case PIPE_FORMAT_B10G10R10A2_UNORM: + case PIPE_FORMAT_R10G10B10X2_UNORM: + case PIPE_FORMAT_B10G10R10X2_UNORM: + case PIPE_FORMAT_B4G4R4A4_UNORM: + case PIPE_FORMAT_B4G4R4X4_UNORM: + case PIPE_FORMAT_A4R4_UNORM: + case PIPE_FORMAT_R4A4_UNORM: + case PIPE_FORMAT_A4B4G4R4_UNORM: + return true; + default: + return false; } } @@ -236,14 +241,14 @@ panfrost_make_fixed_blend_part(unsigned func, unsigned src_factor, unsigned dst_ /* Make sure that the blend function is representible */ switch (func) { - case PIPE_BLEND_ADD: - break; - - /* TODO: Reenable subtraction modes when those fixed */ - case PIPE_BLEND_SUBTRACT: - case PIPE_BLEND_REVERSE_SUBTRACT: - default: - return false; + case PIPE_BLEND_ADD: + break; + + /* TODO: Reenable subtraction modes when those fixed */ + case PIPE_BLEND_SUBTRACT: + case PIPE_BLEND_REVERSE_SUBTRACT: + default: + return false; } part.clip_modifier = MALI_BLEND_MOD_NORMAL; @@ -268,7 +273,7 @@ panfrost_make_fixed_blend_part(unsigned func, unsigned src_factor, unsigned dst_ } else if (src_factor == dst_factor) { /* XXX: Why? */ part.dominant = func == PIPE_BLEND_ADD ? - MALI_BLEND_DOM_DESTINATION : MALI_BLEND_DOM_SOURCE; + MALI_BLEND_DOM_DESTINATION : MALI_BLEND_DOM_SOURCE; part.nondominant_mode = MALI_BLEND_NON_MIRROR; } else if (src_factor == complement_factor(dst_factor)) { @@ -347,10 +352,10 @@ panfrost_constant_mask(unsigned *factors, unsigned num_factors) bool panfrost_make_fixed_blend_mode( - const struct pipe_rt_blend_state *blend, - struct mali_blend_equation *out, - unsigned *constant_mask, - unsigned colormask) + const struct pipe_rt_blend_state *blend, + struct mali_blend_equation *out, + unsigned *constant_mask, + unsigned colormask) { /* Gallium and Mali represent colour masks identically. XXX: Static * assert for future proof */ @@ -382,13 +387,13 @@ panfrost_make_fixed_blend_mode( unsigned alpha_mode = 0; if (!panfrost_make_fixed_blend_part( - blend->rgb_func, blend->rgb_src_factor, blend->rgb_dst_factor, - &rgb_mode)) + blend->rgb_func, blend->rgb_src_factor, blend->rgb_dst_factor, + &rgb_mode)) return false; if (!panfrost_make_fixed_blend_part( - blend->alpha_func, blend->alpha_src_factor, blend->alpha_dst_factor, - &alpha_mode)) + blend->alpha_func, blend->alpha_src_factor, blend->alpha_dst_factor, + &alpha_mode)) return false; out->rgb_mode = rgb_mode;