nir: Add a new lowering option to lower 3D surfaces from txd to txl.
Tested on gen9. v2: Rename lower_txd_3d_surafaces flag to lower_txd_3d (Jason Ekstrand) Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
@@ -3008,6 +3008,11 @@ typedef struct nir_lower_tex_options {
|
|||||||
*/
|
*/
|
||||||
bool lower_txd_cube_map;
|
bool lower_txd_cube_map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If true, lower nir_texop_txd on 3D surfaces with nir_texop_txl.
|
||||||
|
*/
|
||||||
|
bool lower_txd_3d;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If true, lower nir_texop_txd on shadow samplers (except cube maps)
|
* If true, lower nir_texop_txd on shadow samplers (except cube maps)
|
||||||
* with nir_texop_txl. Notice that cube map shadow samplers are lowered
|
* with nir_texop_txl. Notice that cube map shadow samplers are lowered
|
||||||
|
@@ -905,7 +905,9 @@ nir_lower_tex_block(nir_block *block, nir_builder *b,
|
|||||||
(options->lower_txd_shadow_clamp && tex->is_shadow && has_min_lod) ||
|
(options->lower_txd_shadow_clamp && tex->is_shadow && has_min_lod) ||
|
||||||
(options->lower_txd_offset_clamp && has_offset && has_min_lod) ||
|
(options->lower_txd_offset_clamp && has_offset && has_min_lod) ||
|
||||||
(options->lower_txd_cube_map &&
|
(options->lower_txd_cube_map &&
|
||||||
tex->sampler_dim == GLSL_SAMPLER_DIM_CUBE))) {
|
tex->sampler_dim == GLSL_SAMPLER_DIM_CUBE) ||
|
||||||
|
(options->lower_txd_3d &&
|
||||||
|
tex->sampler_dim == GLSL_SAMPLER_DIM_3D))) {
|
||||||
lower_gradient(b, tex);
|
lower_gradient(b, tex);
|
||||||
progress = true;
|
progress = true;
|
||||||
continue;
|
continue;
|
||||||
|
Reference in New Issue
Block a user