There are blit shader specific optimizations available.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9002>
ctx->quirks = bifrost_get_quirks(inputs->gpu_id);
ctx->arch = inputs->gpu_id >> 12;
ctx->is_blend = inputs->is_blend;
+ ctx->is_blit = inputs->is_blit;
ctx->blend_desc = inputs->blend.bifrost_blend_desc;
ctx->push = &program->push;
memcpy(ctx->blend_constants, inputs->blend.constants, sizeof(ctx->blend_constants));
unsigned arch;
unsigned tls_size;
- /* Is internally a blend shader? Depends on stage == FRAGMENT */
- bool is_blend;
+ /* Is internally a blend/blit shader? Depends on stage == FRAGMENT */
+ bool is_blend, is_blit;
/* Blend constants */
float blend_constants[4];
struct panfrost_compile_inputs inputs = {
.gpu_id = dev->gpu_id,
+ .is_blit = true,
};
panfrost_program *program =
struct panfrost_compile_inputs {
unsigned gpu_id;
- bool is_blend;
+ bool is_blend, is_blit;
struct {
unsigned rt;
unsigned nr_samples;