v2: Use new lower_hadd64 and lower_usub_sat64 flags.
v3: Enable SPIR-V capability.
v4: Move lowering options to COMMON_SCALAR_OPTIONS. Suggested by Caio.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/767>
.lower_unpack_snorm_4x8 = true, \
.lower_unpack_unorm_2x16 = true, \
.lower_unpack_unorm_4x8 = true, \
+ .lower_usub_sat64 = true, \
+ .lower_hadd64 = true, \
.max_unroll_iterations = 32
static const struct nir_shader_compiler_options scalar_nir_options = {
ctx->Const.SpirVCapabilities.tessellation = true;
ctx->Const.SpirVCapabilities.transform_feedback = devinfo->gen >= 7;
ctx->Const.SpirVCapabilities.variable_pointers = true;
+ ctx->Const.SpirVCapabilities.integer_functions2 = devinfo->gen >= 8;
}
static void
/* requires ARB_gpu_shader_int64 */
ctx->Extensions.ARB_shader_ballot = true;
ctx->Extensions.ARB_ES3_2_compatibility = true;
+
+ /* Currently only implemented in the scalar backend, so only enable for
+ * Gen8+. Eventually Gen6+ could be supported.
+ */
+ ctx->Extensions.INTEL_shader_integer_functions2 = true;
}
if (devinfo->gen >= 9) {