Draft: crocus: set compute param
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
with4096
- 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.