summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Faye-Lund <erik.faye-lund@collabora.com>2019-10-21 10:48:11 +0200
committerErik Faye-Lund <erik.faye-lund@collabora.com>2019-10-23 13:03:55 +0200
commit65328bd32d58f84c3fd6b319c92148e3372a609f (patch)
treee4a39d34b273a55101fc42f6ba2a567c1418895d
parentacf1bf47cc34f2e1d3fb9160651d4a33ce3c6a05 (diff)
Revert "v3d: do not report alpha-test as supported"
This reverts commit 9d0523b569bb7208c6e74cafc0f3945415d94336. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Jose Maria Casanova <jmcasanova@igalia.com>
-rw-r--r--src/broadcom/compiler/nir_to_vir.c5
-rw-r--r--src/broadcom/compiler/vir.c6
-rw-r--r--src/gallium/drivers/v3d/v3d_screen.c3
3 files changed, 11 insertions, 3 deletions
diff --git a/src/broadcom/compiler/nir_to_vir.c b/src/broadcom/compiler/nir_to_vir.c
index 2de7f7e32b0..a457b7ad85f 100644
--- a/src/broadcom/compiler/nir_to_vir.c
+++ b/src/broadcom/compiler/nir_to_vir.c
@@ -2030,6 +2030,11 @@ ntq_emit_intrinsic(struct v3d_compile *c, nir_intrinsic_instr *instr)
vir_uniform(c, QUNIFORM_VIEWPORT_Z_OFFSET, 0));
break;
+ case nir_intrinsic_load_alpha_ref_float:
+ ntq_store_dest(c, &instr->dest, 0,
+ vir_uniform(c, QUNIFORM_ALPHA_REF, 0));
+ break;
+
case nir_intrinsic_load_sample_mask_in:
ntq_store_dest(c, &instr->dest, 0, vir_MSF(c));
break;
diff --git a/src/broadcom/compiler/vir.c b/src/broadcom/compiler/vir.c
index af8c7aab1a7..99168847adf 100644
--- a/src/broadcom/compiler/vir.c
+++ b/src/broadcom/compiler/vir.c
@@ -844,6 +844,12 @@ v3d_nir_lower_fs_late(struct v3d_compile *c)
if (c->fs_key->clamp_color)
NIR_PASS_V(c->s, nir_lower_clamp_color_outputs);
+ if (c->fs_key->alpha_test) {
+ NIR_PASS_V(c->s, nir_lower_alpha_test,
+ c->fs_key->alpha_test_func,
+ false, NULL);
+ }
+
if (c->key->ucp_enables)
NIR_PASS_V(c->s, nir_lower_clip_fs, c->key->ucp_enables,
false);
diff --git a/src/gallium/drivers/v3d/v3d_screen.c b/src/gallium/drivers/v3d/v3d_screen.c
index d468ae6144a..0f9e306685e 100644
--- a/src/gallium/drivers/v3d/v3d_screen.c
+++ b/src/gallium/drivers/v3d/v3d_screen.c
@@ -251,9 +251,6 @@ v3d_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);
}