diff options
author | Erik Faye-Lund <[email protected]> | 2019-10-07 12:07:47 +0200 |
---|---|---|
committer | Erik Faye-Lund <[email protected]> | 2019-10-17 10:41:36 +0200 |
commit | a79b93269cf340ce4d23b5b34100039bcaafc841 (patch) | |
tree | 8d93104d6ab26c478238c764b69f04311c09e9b3 | |
parent | 2da792d398de445240a7216fe5266903b8daace3 (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.c | 15 | ||||
-rw-r--r-- | src/gallium/drivers/vc4/vc4_screen.c | 3 |
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); } |