diff options
author | Erik Faye-Lund <[email protected]> | 2019-10-21 10:48:09 +0200 |
---|---|---|
committer | Erik Faye-Lund <[email protected]> | 2019-10-23 13:03:52 +0200 |
commit | acf1bf47cc34f2e1d3fb9160651d4a33ce3c6a05 (patch) | |
tree | 7d89f5520d309297d82f30215ce69f27ff0f0fa8 /src/compiler/nir | |
parent | beb6639a9d064b7c4dce389f9ea56fd1373edf33 (diff) |
Revert "nir: drop support for using load_alpha_ref_float"
This reverts commit 5af272b47469398762e984e27f65fc4ecc293d28.
Reviewed-by: Eric Anholt <[email protected]>
Reviewed-by: Jose Maria Casanova <[email protected]>
Diffstat (limited to 'src/compiler/nir')
-rw-r--r-- | src/compiler/nir/nir_lower_alpha_test.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/compiler/nir/nir_lower_alpha_test.c b/src/compiler/nir/nir_lower_alpha_test.c index a13de554445..b652fb796be 100644 --- a/src/compiler/nir/nir_lower_alpha_test.c +++ b/src/compiler/nir/nir_lower_alpha_test.c @@ -40,7 +40,6 @@ nir_lower_alpha_test(nir_shader *shader, enum compare_func func, bool alpha_to_one, const gl_state_index16 *alpha_ref_state_tokens) { - assert(alpha_ref_state_tokens); assert(shader->info.stage == MESA_SHADER_FRAGMENT); nir_foreach_function(function, shader) { @@ -95,16 +94,20 @@ nir_lower_alpha_test(nir_shader *shader, enum compare_func func, 3); } - nir_variable *var = nir_variable_create(shader, - nir_var_uniform, - glsl_float_type(), - "gl_AlphaRefMESA"); - var->num_state_slots = 1; - var->state_slots = ralloc_array(var, nir_state_slot, 1); - memcpy(var->state_slots[0].tokens, - alpha_ref_state_tokens, - sizeof(var->state_slots[0].tokens)); - nir_ssa_def *alpha_ref = nir_load_var(&b, var); + nir_ssa_def *alpha_ref; + if (alpha_ref_state_tokens) { + nir_variable *var = nir_variable_create(shader, + nir_var_uniform, + glsl_float_type(), + "gl_AlphaRefMESA"); + var->num_state_slots = 1; + var->state_slots = ralloc_array(var, nir_state_slot, 1); + memcpy(var->state_slots[0].tokens, + alpha_ref_state_tokens, + sizeof(var->state_slots[0].tokens)); + alpha_ref = nir_load_var(&b, var); + } else + alpha_ref = nir_load_alpha_ref_float(&b); nir_ssa_def *condition = nir_compare_func(&b, func, alpha, alpha_ref); |