summaryrefslogtreecommitdiffstats
path: root/src/broadcom/compiler/vir.c
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2018-06-19 16:27:17 -0700
committerEric Anholt <[email protected]>2018-06-20 09:30:46 -0700
commitf49d112a01f9bec79b0ddb028163dc189f663634 (patch)
tree54299d3bc57369a30acd8a7cb39caafc40788241 /src/broadcom/compiler/vir.c
parent94f7c011d6e099f1c6e7cfce90b61700fbd9c1e2 (diff)
v3d: Implement ALPHA_TO_COVERAGE.
There's a convenient "FTOC" instruction for generating the coverage now, unlike vc4. This fixes dEQP-GLES3.functional.multisample.fbo_4_samples.proportionality_alpha_to_coverage
Diffstat (limited to 'src/broadcom/compiler/vir.c')
-rw-r--r--src/broadcom/compiler/vir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/broadcom/compiler/vir.c b/src/broadcom/compiler/vir.c
index 28e25cb23e2..2754924e6c1 100644
--- a/src/broadcom/compiler/vir.c
+++ b/src/broadcom/compiler/vir.c
@@ -840,7 +840,8 @@ uint64_t *v3d_compile_fs(const struct v3d_compiler *compiler,
v3d_set_fs_prog_data_inputs(c, prog_data);
prog_data->writes_z = (c->s->info.outputs_written &
(1 << FRAG_RESULT_DEPTH));
- prog_data->discard = c->s->info.fs.uses_discard;
+ prog_data->discard = (c->s->info.fs.uses_discard ||
+ c->fs_key->sample_alpha_to_coverage);
prog_data->uses_center_w = c->uses_center_w;
return v3d_return_qpu_insts(c, final_assembly_size);