asahi: Make shader-db work again

We need a nontrivial blend state otherwise the whole frag shader is optimized
out.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21432>
This commit is contained in:
Alyssa Rosenzweig
2022-12-29 16:43:52 -05:00
committed by Marge Bot
parent 029c686c6d
commit 23ec0d6bb2

View File

@@ -1552,7 +1552,21 @@ agx_create_shader_state(struct pipe_context *pctx,
}
case MESA_SHADER_FRAGMENT:
key.fs.nr_cbufs = 1;
key.fs.rt_formats[0] = PIPE_FORMAT_R8G8B8A8_UNORM;
for (unsigned i = 0; i < key.fs.nr_cbufs; ++i) {
key.fs.rt_formats[i] = PIPE_FORMAT_R8G8B8A8_UNORM;
key.fs.blend.rt[i].colormask = 0xF;
const nir_lower_blend_channel replace = {
.func = BLEND_FUNC_ADD,
.src_factor = BLEND_FACTOR_ZERO,
.invert_src_factor = true,
.dst_factor = BLEND_FACTOR_ZERO,
.invert_dst_factor = false,
};
key.fs.blend.rt[i].rgb = replace;
key.fs.blend.rt[i].alpha = replace;
}
break;
default:
unreachable("Unknown shader stage in shader-db precompile");