summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Faye-Lund <[email protected]>2019-10-07 12:07:47 +0200
committerErik Faye-Lund <[email protected]>2019-10-17 10:41:36 +0200
commita79b93269cf340ce4d23b5b34100039bcaafc841 (patch)
tree8d93104d6ab26c478238c764b69f04311c09e9b3
parent2da792d398de445240a7216fe5266903b8daace3 (diff)
vc4: do not report alpha-test as supported
This triggers lowering in the state-tracker, which makes things a bit simpler. Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r--src/gallium/drivers/vc4/vc4_program.c15
-rw-r--r--src/gallium/drivers/vc4/vc4_screen.c3
2 files changed, 4 insertions, 14 deletions
diff --git a/src/gallium/drivers/vc4/vc4_program.c b/src/gallium/drivers/vc4/vc4_program.c
index 11133ce2bf8..fc148861989 100644
--- a/src/gallium/drivers/vc4/vc4_program.c
+++ b/src/gallium/drivers/vc4/vc4_program.c
@@ -1806,11 +1806,6 @@ ntq_emit_intrinsic(struct vc4_compile *c, nir_intrinsic_instr *instr)
0));
break;
- case nir_intrinsic_load_alpha_ref_float:
- ntq_store_dest(c, &instr->dest, 0,
- qir_uniform(c, QUNIFORM_ALPHA_REF, 0));
- break;
-
case nir_intrinsic_load_sample_mask_in:
ntq_store_dest(c, &instr->dest, 0,
qir_uniform(c, QUNIFORM_SAMPLE_MASK, 0));
@@ -2253,16 +2248,8 @@ vc4_shader_ntq(struct vc4_context *vc4, enum qstage stage,
c->s = nir_shader_clone(c, key->shader_state->base.ir.nir);
- if (stage == QSTAGE_FRAG) {
- if (c->fs_key->alpha_test_func != COMPARE_FUNC_ALWAYS) {
- NIR_PASS_V(c->s, nir_lower_alpha_test,
- c->fs_key->alpha_test_func,
- c->fs_key->sample_alpha_to_one &&
- c->fs_key->msaa,
- NULL);
- }
+ if (stage == QSTAGE_FRAG)
NIR_PASS_V(c->s, vc4_nir_lower_blend, c);
- }
struct nir_lower_tex_options tex_options = {
/* We would need to implement txs, but we don't want the
diff --git a/src/gallium/drivers/vc4/vc4_screen.c b/src/gallium/drivers/vc4/vc4_screen.c
index be20dc90406..d762512a4e7 100644
--- a/src/gallium/drivers/vc4/vc4_screen.c
+++ b/src/gallium/drivers/vc4/vc4_screen.c
@@ -198,6 +198,9 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_UMA:
return 1;
+ case PIPE_CAP_ALPHA_TEST:
+ return 0;
+
default:
return u_pipe_screen_get_param_defaults(pscreen, param);
}