diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index 4d80453c52b..bb64fad5bfd 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -3387,6 +3387,10 @@ typedef struct nir_shader_compiler_options { * iadd(x, ineg(y)). If true, driver should call nir_opt_algebraic_late(). */ bool has_isub; + /** Backend supports txs, if not nir_lower_tex(..) uses txs-free variants + * for rect texture lowering. */ + bool has_txs; + /* Whether to generate only scoped_barrier intrinsics instead of the set of * memory and control barrier intrinsics based on GLSL. */ diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_compiler.c index 032e615602e..74a86c4115a 100644 --- a/src/intel/compiler/brw_compiler.c +++ b/src/intel/compiler/brw_compiler.c @@ -49,7 +49,8 @@ .lower_base_vertex = true, \ .use_scoped_barrier = true, \ .support_16bit_alu = true, \ - .lower_uniforms_to_ubo = true + .lower_uniforms_to_ubo = true, \ + .has_txs = true #define COMMON_SCALAR_OPTIONS \ .lower_to_scalar = true, \ diff --git a/src/microsoft/compiler/nir_to_dxil.c b/src/microsoft/compiler/nir_to_dxil.c index 597dd4d59ff..d248f8f9651 100644 --- a/src/microsoft/compiler/nir_to_dxil.c +++ b/src/microsoft/compiler/nir_to_dxil.c @@ -104,6 +104,7 @@ nir_options = { .vertex_id_zero_based = true, .lower_base_vertex = true, .has_cs_global_id = true, + .has_txs = true, }; const nir_shader_compiler_options*