Commit 910608b2 authored by Alyssa Rosenzweig's avatar Alyssa Rosenzweig

panfrost/decode: Hit MRT blend shader enable bits

Signed-off-by: Alyssa Rosenzweig's avatarAlyssa Rosenzweig <alyssa@rosenzweig.io>
parent b304b30f
......@@ -424,8 +424,10 @@ struct mali_blend_meta {
u64 unk1;
/* For programmable blending, these turn into the blend_shader address */
struct mali_blend_equation blend_equation_1;
union {
struct mali_blend_equation blend_equation_1;
mali_ptr blend_shader;
};
u64 zero2;
struct mali_blend_equation blend_equation_2;
......
......@@ -1278,7 +1278,20 @@ pandecode_replay_vertex_tiler_postfix_pre(const struct mali_vertex_tiler_postfix
#ifndef BIFROST
pandecode_prop("unk1 = 0x%" PRIx64, b->unk1);
pandecode_replay_blend_equation(&b->blend_equation_1, "_1");
/* Depending on unk1, we determine if there's a
* blend shader */
if ((b->unk1 & 0xF) >= 0x2) {
blend_shader = true;
pandecode_replay_shader_address("blend_shader", b->blend_shader);
} else {
pandecode_replay_blend_equation(&b->blend_equation_1, "_1");
}
/* This is always an equation, I think. If
* there's a shader, it just defaults to
* REPLACE (0x122) */
pandecode_replay_blend_equation(&b->blend_equation_2, "_2");
if (b->zero2) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment