mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 05:08:08 +02:00
vc4: Fix handling of non-XYZW swizzles in color outputs.
The SWIZZLE_1 of the winsys destination was dereffing off the end of the array, which surprisingly often worked out (since nobody reads the rendered value anyway, so whatever junk was referenced in the QIR didn't matter), but shader dumping would sometimes segfault.
This commit is contained in:
parent
37992a4e39
commit
489350e570
1 changed files with 6 additions and 6 deletions
|
|
@ -967,12 +967,12 @@ emit_frag_end(struct tgsi_to_qir *trans)
|
|||
blend_color[3] = qir_uniform_f(trans, 0.5);
|
||||
}
|
||||
|
||||
struct qreg swizzled_outputs[4] = {
|
||||
blend_color[format_desc->swizzle[0]],
|
||||
blend_color[format_desc->swizzle[1]],
|
||||
blend_color[format_desc->swizzle[2]],
|
||||
blend_color[format_desc->swizzle[3]],
|
||||
};
|
||||
struct qreg swizzled_outputs[4];
|
||||
for (int i = 0; i < 4; i++) {
|
||||
swizzled_outputs[i] =
|
||||
get_swizzled_channel(trans, blend_color,
|
||||
format_desc->swizzle[i]);
|
||||
}
|
||||
|
||||
if (trans->fs_key->depth_enabled) {
|
||||
qir_emit(c, qir_inst(QOP_TLB_PASSTHROUGH_Z_WRITE, c->undef,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue