Skip to content

Draft: crocus: set compute param

Thomas Debesse requested to merge illwieckz/mesa:crocus/compute-param into main

Fixes #7424: segfault in clover::device::max_compute_units

Those values have to be set to be able to enable OpenCL on such devices.
Those values are copied from iris/iris_screen.c so maybe some values are wrong.
By creating this MR we have a place to discuss the appropriate values.

About the specific case of PIPE_COMPUTE_CAP_MAX_PRIVATE_SIZE, here are the values I have seen:

  • iris: 64 * 1024
  • r600: marked as unused, break to 0 with an error message
  • radeonsi: marked as unused, set to 0 with an error message
  • nvc0: 512 << 10
  • nv50: 16 << 10
  • llvmpipe: 1UL << 31
  • v3d: fallthrough to PIPE_COMPUTE_CAP_MAX_INPUT_SIZE with 4096
  • panfrost: 4096
  • freedreno: 4096
  • softpipe: fallthrough to 0 with an error message
  • zink: fallthrough to 0 with an error message

About the specific case of PIPE_COMPUTE_CAP_MAX_COMPUTE_UNITS and the calling of intel_device_info_subslice_total(devinfo), on an Intel HD 4600 (i7-4810MQ, Haswell, Gen7 GT2) it displays only 2 compute units while both Intel SRB 5.0 and Intel Beignet 1.3 display 20 compute units.

Merge request reports