diff --git a/patches/crashfix.diff b/patches/crashfix.diff deleted file mode 100644 index 797c1ff..0000000 --- a/patches/crashfix.diff +++ /dev/null @@ -1,36 +0,0 @@ -From 8653abac095c76fc898cbd72bc67b10b828c3478 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timur=20Krist=C3=B3f?= -Date: Mon, 25 Nov 2024 22:19:28 +0100 -Subject: [PATCH] ac/nir/ngg: Remove erroneous NUW addition from workgroup - scan. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This may add constant -1 so naturally it can indeed cause -an unsigned wrap. - -Fixes: 492d8f37782c14fd4c34b81c10f0f6ed0daa807c -Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12204 -Signed-off-by: Timur Kristóf -Reviewed-by: Georg Lehmann -Part-of: ---- - src/amd/common/ac_nir_lower_ngg.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/amd/common/ac_nir_lower_ngg.c b/src/amd/common/ac_nir_lower_ngg.c -index d1c361165ffa4..c63441f06959c 100644 ---- a/src/amd/common/ac_nir_lower_ngg.c -+++ b/src/amd/common/ac_nir_lower_ngg.c -@@ -419,7 +419,7 @@ repack_invocations_in_workgroup(nir_builder *b, nir_def **input_bool, - - for (unsigned i = 0; i < num_repacks; ++i) { - nir_def *index_base_lane = nir_iadd_imm_nuw(b, wave_id, i * 16); -- nir_def *num_invocartions_lane = nir_iadd_imm_nuw(b, num_waves, i * 16 - 1); -+ nir_def *num_invocartions_lane = nir_iadd_imm(b, num_waves, i * 16 - 1); - nir_def *wg_repacked_index_base = - nir_isub(b, nir_read_invocation(b, sum, index_base_lane), surviving_invocations_in_current_wave[i]); - results[i].num_repacked_invocations = --- - diff --git a/patches/radvaabb.diff b/patches/radvaabb.diff deleted file mode 100644 index 44aac90..0000000 --- a/patches/radvaabb.diff +++ /dev/null @@ -1,54 +0,0 @@ -From 64c406774fc56e6b63b2352f3ab63fcb9cb10d21 Mon Sep 17 00:00:00 2001 -From: Friedrich Vock -Date: Mon, 30 Sep 2024 15:09:39 +0200 -Subject: [PATCH] radv/rt: Skip all AABB code when no_skip_aabbs is not set - -This avoids having to execute the load_global just to throw the results -away and ignore the node. - -Part-of: ---- - src/amd/vulkan/nir/radv_nir_rt_common.c | 28 +++++++++++++------------ - 1 file changed, 15 insertions(+), 13 deletions(-) - -diff --git a/src/amd/vulkan/nir/radv_nir_rt_common.c b/src/amd/vulkan/nir/radv_nir_rt_common.c -index 37b934d0f7ad9..6e35914f462bc 100644 ---- a/src/amd/vulkan/nir/radv_nir_rt_common.c -+++ b/src/amd/vulkan/nir/radv_nir_rt_common.c -@@ -418,20 +418,22 @@ insert_traversal_aabb_case(struct radv_device *device, nir_builder *b, const str - if (!args->aabb_cb) - return; - -- struct radv_leaf_intersection intersection; -- intersection.node_addr = build_node_to_addr(device, b, bvh_node, false); -- nir_def *triangle_info = nir_build_load_global( -- b, 2, 32, nir_iadd_imm(b, intersection.node_addr, offsetof(struct radv_bvh_aabb_node, primitive_id))); -- intersection.primitive_id = nir_channel(b, triangle_info, 0); -- intersection.geometry_id_and_flags = nir_channel(b, triangle_info, 1); -- intersection.opaque = hit_is_opaque(b, nir_load_deref(b, args->vars.sbt_offset_and_flags), ray_flags, -- intersection.geometry_id_and_flags); -- -- nir_def *not_cull = nir_bcsel(b, intersection.opaque, ray_flags->no_cull_opaque, ray_flags->no_cull_no_opaque); -- not_cull = nir_iand(b, not_cull, ray_flags->no_skip_aabbs); -- nir_push_if(b, not_cull); -+ nir_push_if(b, ray_flags->no_skip_aabbs); - { -- args->aabb_cb(b, &intersection, args); -+ struct radv_leaf_intersection intersection; -+ intersection.node_addr = build_node_to_addr(device, b, bvh_node, false); -+ nir_def *triangle_info = nir_build_load_global( -+ b, 2, 32, nir_iadd_imm(b, intersection.node_addr, offsetof(struct radv_bvh_aabb_node, primitive_id))); -+ intersection.primitive_id = nir_channel(b, triangle_info, 0); -+ intersection.geometry_id_and_flags = nir_channel(b, triangle_info, 1); -+ intersection.opaque = hit_is_opaque(b, nir_load_deref(b, args->vars.sbt_offset_and_flags), ray_flags, -+ intersection.geometry_id_and_flags); -+ -+ nir_push_if(b, nir_bcsel(b, intersection.opaque, ray_flags->no_cull_opaque, ray_flags->no_cull_no_opaque)); -+ { -+ args->aabb_cb(b, &intersection, args); -+ } -+ nir_pop_if(b, NULL); - } - nir_pop_if(b, NULL); - } --- \ No newline at end of file diff --git a/patches/series b/patches/series index d0e1fb0..bbe9095 100644 --- a/patches/series +++ b/patches/series @@ -1,5 +1,3 @@ 0001_glsl:_fix_compiler_global_temp_collisions.patch path_max.diff -src_glx_dri_common.h.diff -radvaabb.diff -crashfix.diff \ No newline at end of file +src_glx_dri_common.h.diff \ No newline at end of file