mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 23:50:11 +01:00
gallivm: Take helper invocations into account when skipping branches
if %cond {
%store_reg (%reg, %val)
}
can be skipped if no invocations are active. This did not take helper
invocations into account, meaning the value of %reg could be garbage for
helper invocations.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31802>
This commit is contained in:
parent
e862bb52bd
commit
5de7a7c5a6
3 changed files with 2 additions and 15 deletions
|
|
@ -2071,7 +2071,7 @@ static void lp_build_skip_branch(struct lp_build_nir_context *bld_base, bool fla
|
|||
struct gallivm_state *gallivm = bld_base->base.gallivm;
|
||||
LLVMBuilderRef builder = gallivm->builder;
|
||||
|
||||
LLVMValueRef exec_mask = mask_vec(bld_base);
|
||||
LLVMValueRef exec_mask = mask_vec_with_helpers(bld_base);
|
||||
|
||||
LLVMValueRef bitmask = LLVMBuildICmp(builder, LLVMIntNE, exec_mask, bld_base->uint_bld.zero, "");
|
||||
bitmask = LLVMBuildBitCast(builder, bitmask, LLVMIntTypeInContext(gallivm->context, bld_base->uint_bld.type.length), "");
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ traces:
|
|||
checksum: 018418bdd7f60a186cce532613b0c7ab
|
||||
bgfx/33-pom.rdc:
|
||||
gl-vmware-llvmpipe:
|
||||
checksum: 79adb4353c683c3bc7789b9311664fd3
|
||||
checksum: aa3b4f5ea12edf6eb56cbd411fd4d5ac
|
||||
bgfx/34-mvs.rdc:
|
||||
gl-vmware-llvmpipe:
|
||||
checksum: 6ad9c7d97debb7bf495b0bfca921ba9c
|
||||
|
|
|
|||
|
|
@ -820,11 +820,6 @@ dEQP-VK.dynamic_rendering.primary_cmd_buff.suballocation.formats.r8g8b8a8_unorm.
|
|||
dEQP-VK.dynamic_rendering.primary_cmd_buff.suballocation.formats.r8g8b8a8_unorm.input.load.dont_care.clear_draw,Fail
|
||||
dEQP-VK.dynamic_rendering.primary_cmd_buff.suballocation.unused_attachment.loadopclear.storeopdontcare.stencilloadopdontcare.stencilstoreopdontcare,Fail
|
||||
|
||||
dEQP-VK.ray_query.builtin.instanceid.frag.aabbs,Crash
|
||||
dEQP-VK.ray_query.builtin.primitiveid.frag.triangles,Crash
|
||||
dEQP-VK.ray_query.multiple_ray_queries.fragment_shader,Crash
|
||||
dEQP-VK.ray_query.stress.fragment_shader.triangles,Crash
|
||||
|
||||
nir-stress=dEQP-VK.dynamic_rendering.graphics_pipeline_library.dedicated_allocation.attachment_allocation.input_output_chain.66,Fail
|
||||
nir-stress=dEQP-VK.dynamic_rendering.graphics_pipeline_library.dedicated_allocation.formats.a2b10g10r10_uint_pack32.input.dont_care.dont_care.clear_draw,Fail
|
||||
nir-stress=dEQP-VK.dynamic_rendering.graphics_pipeline_library.dedicated_allocation.formats.a8b8g8r8_sint_pack32.input.load.dont_care.clear_draw,Fail
|
||||
|
|
@ -861,11 +856,3 @@ nir-stress=dEQP-VK.dynamic_rendering.primary_cmd_buff.suballocation.formats.r8_u
|
|||
nir-stress=dEQP-VK.dynamic_rendering.primary_cmd_buff.suballocation.formats.r8g8_sint.input.clear.dont_care.draw,Fail
|
||||
nir-stress=dEQP-VK.dynamic_rendering.primary_cmd_buff.suballocation.formats.r8g8_unorm.input.load.dont_care.draw,Fail
|
||||
nir-stress=dEQP-VK.dynamic_rendering.primary_cmd_buff.suballocation.unused_attachment.loadopdontcare.storeopdontcare.stencilloadopdontcare.stencilstoreopdontcare,Fail
|
||||
|
||||
# New fails in 1.3.10.0
|
||||
dEQP-VK.ray_query.builtin.instancecustomindex.frag.aabbs,Crash
|
||||
dEQP-VK.ray_query.builtin.objecttoworld.frag.aabbs,Crash
|
||||
|
||||
dEQP-VK.ray_query.builtin.objectraydirection.frag.aabbs,Crash
|
||||
dEQP-VK.ray_query.builtin.primitiveid.frag.aabbs,Crash
|
||||
dEQP-VK.ray_query.builtin.worldtoobject.frag.aabbs,Crash
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue