panvk: Remove panvk_lower_blend

It is unused, get ride of it.

Signed-off-by: Mary Guillemard <mary.guillemard@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29161>
This commit is contained in:
Mary Guillemard
2024-05-24 10:44:13 +02:00
committed by Marge Bot
parent 2eaa437574
commit e8633b3b49
2 changed files with 0 additions and 95 deletions

View File

@@ -123,10 +123,6 @@ struct panvk_shader {
struct panvk_shader_desc_info desc_info;
};
bool panvk_per_arch(blend_needs_lowering)(const struct panvk_device *dev,
const struct pan_blend_state *state,
unsigned rt);
struct panvk_shader *panvk_per_arch(shader_create)(
struct panvk_device *dev, const VkPipelineShaderStageCreateInfo *stage_info,
const struct vk_pipeline_layout *layout, const VkAllocationCallbacks *alloc);

View File

@@ -39,7 +39,6 @@
#include "nir_builder.h"
#include "nir_conversion_builder.h"
#include "nir_deref.h"
#include "nir_lower_blend.h"
#include "vk_shader_module.h"
#include "compiler/bifrost_nir.h"
@@ -123,64 +122,6 @@ panvk_lower_sysvals(nir_builder *b, nir_instr *instr, void *data)
return true;
}
static void
panvk_lower_blend(struct panvk_device *dev, nir_shader *nir,
struct panfrost_compile_inputs *inputs,
struct pan_blend_state *blend_state)
{
nir_lower_blend_options options = {
.logicop_enable = blend_state->logicop_enable,
.logicop_func = blend_state->logicop_func,
};
bool lower_blend = false;
for (unsigned rt = 0; rt < blend_state->rt_count; rt++) {
struct pan_blend_rt_state *rt_state = &blend_state->rts[rt];
if (!panvk_per_arch(blend_needs_lowering)(dev, blend_state, rt))
continue;
enum pipe_format fmt = rt_state->format;
options.format[rt] = fmt;
options.rt[rt].colormask = rt_state->equation.color_mask;
if (!rt_state->equation.blend_enable) {
static const nir_lower_blend_channel replace = {
.func = PIPE_BLEND_ADD,
.src_factor = PIPE_BLENDFACTOR_ONE,
.dst_factor = PIPE_BLENDFACTOR_ZERO,
};
options.rt[rt].rgb = replace;
options.rt[rt].alpha = replace;
} else {
options.rt[rt].rgb.func = rt_state->equation.rgb_func;
options.rt[rt].rgb.src_factor = rt_state->equation.rgb_src_factor;
options.rt[rt].rgb.dst_factor = rt_state->equation.rgb_dst_factor;
options.rt[rt].alpha.func = rt_state->equation.alpha_func;
options.rt[rt].alpha.src_factor = rt_state->equation.alpha_src_factor;
options.rt[rt].alpha.dst_factor = rt_state->equation.alpha_dst_factor;
}
/* Update the equation to force a color replacement */
rt_state->equation.color_mask = 0xf;
rt_state->equation.rgb_func = PIPE_BLEND_ADD;
rt_state->equation.rgb_src_factor = PIPE_BLENDFACTOR_ONE;
rt_state->equation.rgb_dst_factor = PIPE_BLENDFACTOR_ZERO;
rt_state->equation.alpha_func = PIPE_BLEND_ADD;
rt_state->equation.alpha_src_factor = PIPE_BLENDFACTOR_ONE;
rt_state->equation.alpha_dst_factor = PIPE_BLENDFACTOR_ZERO;
lower_blend = true;
}
if (lower_blend) {
NIR_PASS_V(nir, nir_lower_blend, &options);
NIR_PASS_V(nir, bifrost_nir_lower_load_output);
}
}
static void
shared_type_info(const struct glsl_type *type, unsigned *size, unsigned *align)
{
@@ -413,35 +354,3 @@ panvk_per_arch(shader_destroy)(struct panvk_device *dev,
free(shader->desc_info.dyn_ubos.map);
vk_free2(&dev->vk.alloc, alloc, shader);
}
bool
panvk_per_arch(blend_needs_lowering)(const struct panvk_device *dev,
const struct pan_blend_state *state,
unsigned rt)
{
/* LogicOp requires a blend shader */
if (state->logicop_enable)
return true;
/* Not all formats can be blended by fixed-function hardware */
if (!panfrost_blendable_formats_v7[state->rts[rt].format].internal)
return true;
unsigned constant_mask = pan_blend_constant_mask(state->rts[rt].equation);
/* v6 doesn't support blend constants in FF blend equations.
* v7 only uses the constant from RT 0 (TODO: what if it's the same
* constant? or a constant is shared?)
*/
if (constant_mask && (PAN_ARCH == 6 || (PAN_ARCH == 7 && rt > 0)))
return true;
if (!pan_blend_is_homogenous_constant(constant_mask, state->constants))
return true;
struct panvk_physical_device *phys_dev =
to_panvk_physical_device(dev->vk.physical);
unsigned arch = pan_arch(phys_dev->kmod.props.gpu_prod_id);
bool supports_2src = pan_blend_supports_2src(arch);
return !pan_blend_can_fixed_function(state->rts[rt].equation, supports_2src);
}