mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-08 18:40:28 +01:00
vc4: use nir two-sided-color lowering
Similar to 9ffc1049ca (freedreno/ir3: use nir two-sided-color lowering).
No piglit regression.
Signed-off-by: Boyan Ding <boyan.j.ding@gmail.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
parent
b6cd39fc47
commit
64d9d4b730
2 changed files with 2 additions and 24 deletions
|
|
@ -103,7 +103,6 @@ struct vc4_uncompiled_shader {
|
|||
/** How many variants of this program were compiled, for shader-db. */
|
||||
uint32_t compiled_variant_count;
|
||||
struct pipe_shader_state base;
|
||||
const struct tgsi_token *twoside_tokens;
|
||||
};
|
||||
|
||||
struct vc4_ubo_range {
|
||||
|
|
|
|||
|
|
@ -1738,27 +1738,6 @@ vc4_shader_ntq(struct vc4_context *vc4, enum qstage stage,
|
|||
}
|
||||
|
||||
const struct tgsi_token *tokens = key->shader_state->base.tokens;
|
||||
if (c->fs_key && c->fs_key->light_twoside) {
|
||||
if (!key->shader_state->twoside_tokens) {
|
||||
const struct tgsi_lowering_config lowering_config = {
|
||||
.color_two_side = true,
|
||||
};
|
||||
struct tgsi_shader_info info;
|
||||
key->shader_state->twoside_tokens =
|
||||
tgsi_transform_lowering(&lowering_config,
|
||||
key->shader_state->base.tokens,
|
||||
&info);
|
||||
|
||||
/* If no transformation occurred, then NULL is
|
||||
* returned and we just use our original tokens.
|
||||
*/
|
||||
if (!key->shader_state->twoside_tokens) {
|
||||
key->shader_state->twoside_tokens =
|
||||
key->shader_state->base.tokens;
|
||||
}
|
||||
}
|
||||
tokens = key->shader_state->twoside_tokens;
|
||||
}
|
||||
|
||||
if (vc4_debug & VC4_DEBUG_TGSI) {
|
||||
fprintf(stderr, "%s prog %d/%d TGSI:\n",
|
||||
|
|
@ -1772,6 +1751,8 @@ vc4_shader_ntq(struct vc4_context *vc4, enum qstage stage,
|
|||
nir_convert_to_ssa(c->s);
|
||||
if (stage == QSTAGE_FRAG)
|
||||
vc4_nir_lower_blend(c);
|
||||
if (c->fs_key && c->fs_key->light_twoside)
|
||||
nir_lower_two_sided_color(c->s);
|
||||
vc4_nir_lower_io(c);
|
||||
nir_lower_idiv(c->s);
|
||||
nir_lower_load_const_to_scalar(c->s);
|
||||
|
|
@ -2190,8 +2171,6 @@ vc4_shader_state_delete(struct pipe_context *pctx, void *hwcso)
|
|||
hash_table_foreach(vc4->vs_cache, entry)
|
||||
delete_from_cache_if_matches(vc4->vs_cache, entry, so);
|
||||
|
||||
if (so->twoside_tokens != so->base.tokens)
|
||||
free((void *)so->twoside_tokens);
|
||||
free((void *)so->base.tokens);
|
||||
free(so);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue