anv: Add softtp64 workaround

Pass float64.glsl into nir_lower_doubles() resolves the problem on
ICL/TGL when the shader uses float64, but the device doesn't support
that type.

Signed-off-by: Mykhailo Skorokhodov <mykhailo.skorokhodov@globallogic.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18854>
This commit is contained in:
Mykhailo Skorokhodov
2022-09-28 05:12:19 +03:00
committed by Marge Bot
parent 829d74b2f2
commit 8c4c4c3ee1
4 changed files with 104 additions and 1 deletions

View File

@@ -1145,6 +1145,9 @@ anv_device_upload_nir(struct anv_device *device,
const struct nir_shader *nir,
unsigned char sha1_key[20]);
void
anv_load_fp64_shader(struct anv_device *device);
enum anv_rt_bvh_build_method {
ANV_BVH_BUILD_METHOD_TRIVIAL,
ANV_BVH_BUILD_METHOD_NEW_SAH,
@@ -1262,6 +1265,8 @@ struct anv_device {
struct intel_debug_block_frame *debug_frame_desc;
struct intel_ds_device ds;
nir_shader *fp64_nir;
};
static inline struct anv_state