mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 05:00:09 +01:00
nir: Add option to lower tex to txl when shader don't support implicit LOD
We already add the LOD src, so go ahead and update the texop as well when this option is set. v2: Make it an option. (Rob Clark) v3: Use a more concise name suggested by Jason. Reviewed-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
ff642fb0e6
commit
d5ac5d6e83
2 changed files with 8 additions and 0 deletions
|
|
@ -3264,6 +3264,12 @@ typedef struct nir_lower_tex_options {
|
|||
*/
|
||||
unsigned lower_srgb;
|
||||
|
||||
/**
|
||||
* If true, lower nir_texop_tex on shaders that doesn't support implicit
|
||||
* LODs to nir_texop_txl.
|
||||
*/
|
||||
bool lower_tex_without_implicit_lod;
|
||||
|
||||
/**
|
||||
* If true, lower nir_texop_txd on cube maps with nir_texop_txl.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1127,6 +1127,8 @@ nir_lower_tex_block(nir_block *block, nir_builder *b,
|
|||
(tex->op == nir_texop_tex && !shader_supports_implicit_lod))) {
|
||||
b->cursor = nir_before_instr(&tex->instr);
|
||||
nir_tex_instr_add_src(tex, nir_tex_src_lod, nir_src_for_ssa(nir_imm_int(b, 0)));
|
||||
if (tex->op == nir_texop_tex && options->lower_tex_without_implicit_lod)
|
||||
tex->op = nir_texop_txl;
|
||||
progress = true;
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue