anv: remove shader fp64 inspection after parsing

Unfortunately some crucible tests are using all floating point widths
in a single shader and specializing a variable to select what code
path to use for a particular supported floating point width. This is
reporting errors in the validation layers.

Remove the validation for now.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes 8c4c4c3ee1 ("anv: Add softtp64 workaround")

Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19401>
This commit is contained in:
Lionel Landwerlin 2022-10-30 02:24:36 +03:00 committed by Marge Bot
parent 492ac88078
commit 6b52834ece

View file

@ -176,29 +176,6 @@ anv_nir_lower_mesh_ext(nir_shader *nir)
&state);
}
static bool
nir_shader_uses_64bit_alu(nir_shader *shader)
{
nir_foreach_function(function, shader) {
if (!function->impl)
continue;
nir_foreach_block(block, function->impl) {
nir_foreach_instr(instr, block) {
if (instr->type != nir_instr_type_alu)
continue;
nir_alu_instr *alu = nir_instr_as_alu(instr);
if (nir_alu_type_get_base_type(nir_op_infos[alu->op].output_type) != nir_type_float)
continue;
if (alu->dest.dest.ssa.bit_size == 64)
return true;
}
}
}
return false;
}
/* Eventually, this will become part of anv_CreateShader. Unfortunately,
* we can't do that yet because we don't have the ability to copy nir.
*/
@ -320,9 +297,6 @@ anv_shader_stage_to_nir(struct anv_device *device,
/* Vulkan uses the separate-shader linking model */
nir->info.separate_shader = true;
assert(device->info->has_64bit_float || instance->fp64_workaround_enabled ||
!nir_shader_uses_64bit_alu(nir));
brw_preprocess_nir(compiler, nir, device->fp64_nir);
if (nir->info.stage == MESA_SHADER_MESH && !nir->info.mesh.nv) {