Testing this on ANV (ICL says hi) I hit a driver bug assert(stats[stat_idx].sends == sends_count_expectation);
#5 0x00007fffd4f60e36 in compile_shader (device=0x599a00, libanv=0x5595f0, shader_name=ANV_INTERNAL_KERNEL_GENERATED_GFX_COMMANDS_STEP1_FRAGMENT,
stage=MESA_SHADER_FRAGMENT, name=0x7fffffffb0e0 "anv-generated-gfx-cmd1-fragment", hash_key=0x7fffffffb0e0, hash_key_size=40, sends_count_expectation=124)
at ../src/intel/vulkan/anv_internal_kernels.c:201
#6 0x00007fffd4f61b93 in anv_device_get_internal_shader (device=0x599a00, name=ANV_INTERNAL_KERNEL_GENERATED_GFX_COMMANDS_STEP1_FRAGMENT,
out_bin=0x7fffffffb7c8) at ../src/intel/vulkan/anv_internal_kernels.c:416
#7 0x00007fffd55c43e0 in preprocess_gfx_sequences (cmd_buffer=0x945140, cmd_buffer_state=0x937e90, layout=0x8a69d0, indirect_set=0x0, info=0x7fffffffbe10,
kernel_name=ANV_INTERNAL_KERNEL_GENERATED_GFX_COMMANDS_STEP1_FRAGMENT) at ../src/intel/vulkan/genX_cmd_dgc.c:92
#8 0x00007fffd55c9fcd in gfx11_CmdPreprocessGeneratedCommandsEXT (commandBuffer=0x945140, pGeneratedCommandsInfo=0x7fffffffbe10, stateCommandBuffer=0x937e90)
at ../src/intel/vulkan/genX_cmd_dgc.c:735
#9 0x00007ffff79b51cd in d3d12_command_list_execute_indirect_state_template_dgc (list=0x8a1c40, signature=0x89ff50, max_command_count=128,
arg_buffer=0x8acec0, arg_buffer_offset=0, count_buffer=0x0, count_buffer_offset=0) at ../libs/vkd3d/command.c:13914
[#10](/issue/HansKristian-Work/vkd3d-proton/10) 0x00007ffff79b59aa in d3d12_command_list_ExecuteIndirect (iface=0x8a1c40, command_signature=0x89ff50, max_command_count=128, arg_buffer=0x8acec0,
arg_buffer_offset=0, count_buffer=0x0, count_buffer_offset=0) at ../libs/vkd3d/command.c:14081
[#11](/issue/HansKristian-Work/vkd3d-proton/11) 0x000000000044b738 in ID3D12GraphicsCommandList_ExecuteIndirect (This=0x8a1c40, command_signature=0x89ff50, max_command_count=128, arg_buffer=0x8acec0,
arg_buffer_offset=0, count_buffer=0x0, count_buffer_offset=0) at libs/vkd3d-common/libvkd3d_common.a.p/vkd3d_d3d12.h:8509
[#12](/issue/HansKristian-Work/vkd3d-proton/12) 0x00000000004558dc in test_execute_indirect_state_predication () at ../tests/d3d12_command.c:2064
[#13](/issue/HansKristian-Work/vkd3d-proton/13) 0x00000000004b9f90 in vkd3d_run_test (name=0x375430 "test_execute_indirect_state_predication", test_pfn=0x455017 <test_execute_indirect_state_predication>)
at ../include/private/vkd3d_test.h:399
[#14](/issue/HansKristian-Work/vkd3d-proton/14) 0x00000000004bb28f in vkd3d_test_main (argc=1, argv=0x7fffffffd428) at ../tests/d3d12_tests.h:147
[#15](/issue/HansKristian-Work/vkd3d-proton/15) 0x00000000004b9e4b in main (argc=1, argv=0x7fffffffd428) at ../include/private/vkd3d_test.h:315
I remember this failing everywhere but it's passing on Meteorlake.
I can also make it pass on Tigerlake by inserting some printf shaders before preprocess/execute.
So it looks like a caching issue, not sure if driver side or application side. Will dig further and update with the findings.
It was an Anv bug due to internal compute state not dirtied after generation shaders. Sorry for the noise.
MESA_SHADER_FRAGMENTx1 2025-01VKD3D_CONFIG=''x1 2025-01VKD3D_TEST_FILTER=test_execute_indirect_state_predicationx1 2025-01
Software information
This is just running one of the test :
System information
Log files