Skip to content

tu: Expose reconverge related extensions

Valentine Burley requested to merge Valentine/mesa:tu/reconvergence into main

What does this MR do and why?

I tried exposing VK_KHR_shader_subgroup_uniform_control_flow and VK_KHR_shader_maximal_reconvergence and on newer CTS version they all pass for me on a619 with kgsl. However, running an older CTS like 1.3.8.0 dEQP-VK.reconvergence.* tests all fail with Fail (Subgroup size greater than 64 not handled. at vktReconvergenceTests.cpp:1632) so I'm not sure if we can just advertise them as it is.

I saw a TODO for moving threadsize_base and max_waves to fd_dev_info, so I decided to tackle it. Nevertheless, I am uncertain about the practicality of moving max_waves, as it currently appears that we would simply be setting it to 16 a couple dozen times.

dEQP-VK.subgroups.subgroup_uniform_control_flow.* on either 1.3.8.3 or 1.3.8.0

Test run totals:
  Passed:        84/169 (49.7%)
  Failed:        0/169 (0.0%)
  Not supported: 85/169 (50.3%)
  Warnings:      0/169 (0.0%)
  Waived:        0/169 (0.0%)

dEQP-VK.reconvergence.* on 1.3.8.3

Test run totals:
  Passed:        5983/6249 (95.7%)
  Failed:        0/6249 (0.0%)
  Not supported: 266/6249 (4.3%)
  Warnings:      0/6249 (0.0%)
  Waived:        0/6249 (0.0%)

dEQP-VK.reconvergence.* on 1.3.8.0

Test run totals:
  Passed:        0/4800 (0.0%)
  Failed:        4800/4800 (100.0%)
  Not supported: 0/4800 (0.0%)
  Warnings:      0/4800 (0.0%)
  Waived:        0/4800 (0.0%)

Fail (Subgroup size greater than 64 not handled. at vktReconvergenceTests.cpp:1632)

Merge request reports