Bug 87738

Summary: [OpenCL] Please add Image support
Product: Mesa Reporter: Thomas Paris <mercen45>
Component: Gallium/StateTracker/CloverAssignee: mesa-dev
Status: RESOLVED MOVED QA Contact:
Severity: enhancement    
Priority: medium CC: ao2, darkbasic, julien.isorce, matti.niemenmaa+freedesktopbugs, mercen45, pbrobinson, serge, shi1986000, tjaalton
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 74974, 82717, 99553, 107115, 109224    

Description Thomas Paris 2014-12-26 09:45:32 UTC
Hi,

Image support is required by darktable (RAW photos processing) as can be seen in the following output, from runnind darktable -d opencl:

[opencl_init] opencl related configuration options:
[opencl_init] 
[opencl_init] opencl: 0
[opencl_init] opencl_library: ''
[opencl_init] opencl_memory_requirement: 768
[opencl_init] opencl_memory_headroom: 300
[opencl_init] opencl_device_priority: '*/!0,*/*/*'
[opencl_init] opencl_size_roundup: 16
[opencl_init] opencl_async_pixelpipe: 0
[opencl_init] opencl_synch_cache: 0
[opencl_init] opencl_number_event_handles: 25
[opencl_init] opencl_micro_nap: 1000
[opencl_init] opencl_use_pinned_memory: 0
[opencl_init] opencl_use_cpu_devices: 0
[opencl_init] opencl_avoid_atomics: 0
[opencl_init] opencl_omit_whitebalance: 0
[opencl_init] 
[opencl_init] trying to load opencl library: '<system default>'
[opencl_init] opencl library 'libOpenCL' found on your system and loaded
[opencl_init] found 1 platform
[opencl_init] found 1 device
[opencl_init] discarding device 0 `AMD OLAND' due to missing image support.
[opencl_init] no suitable devices found.
[opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
[opencl_init] initial status of opencl enabled flag is OFF.

Not sure if anything else is needed to get OpenCL to work in darktable but it would be very sweet to be able to get that with open source drivers.

Thanks,
Thomas
Comment 1 Antonio Ospite 2017-04-13 09:20:20 UTC
Hi, I still get this when running darktable with mesa 17:

[opencl_init] discarding device 0 `AMD REDWOOD (DRM 2.48.0 / 4.9.0-2-amd64, LLVM 4.0.0)' due to missing image support.

Is it the driver that lack support for that functionality or is it rather a limitation of the device itself?

My device is an "ATI Radeon HD 5670".

Thanks,
   Antonio
Comment 2 Vedran Miletić 2017-04-13 14:51:05 UTC
In case anyone works on it, I have saved Zoltan Gillian's patches here: https://github.com/vedranmiletic/mesa/tree/r600-image-support
Comment 4 Vasilis LIaskovitis 2018-07-13 09:29:51 UTC
I see there are clover patches for image support already upstream e.g.

f2c52e392 clover: Implement CL1.2 clCreateImage().
2518645f6 clover: Implement clCreateImage?D w/ clCreateImage.

What is missing? Driver-specific patches for radeonsi / r600? Any pointers/guidance would be welcome.
Comment 5 smt 2019-04-02 16:15:48 UTC
Is there any progress at all towards this? I feel like it would really improve Linux use case for some of us using software like Darktable and whatever other software could possibly use this, I'm still unable to use opencl in Darktable with the same error:

0.021473 [opencl_init] found opencl runtime library 'libOpenCL'
0.021502 [opencl_init] opencl library 'libOpenCL' found on your system and loaded
0.081308 [opencl_init] found 1 platform
0.081325 [opencl_init] found 1 device
0.081354 [opencl_init] discarding device 0 `AMD Radeon (TM) RX 460 Graphics (POLARIS11, DRM 3.27.0, 5.0.0-8-generic, LLVM 8.0.0)' due to missing image support.
0.081359 [opencl_init] no suitable devices found.
0.081360 [opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.
Comment 6 Jan Vesely 2019-04-03 06:31:24 UTC
(In reply to smt from comment #5)
> Is there any progress at all towards this? I feel like it would really
> improve Linux use case for some of us using software like Darktable and
> whatever other software could possibly use this, I'm still unable to use
> opencl in Darktable with the same error:
> 
> 0.021473 [opencl_init] found opencl runtime library 'libOpenCL'
> 0.021502 [opencl_init] opencl library 'libOpenCL' found on your system and
> loaded
> 0.081308 [opencl_init] found 1 platform
> 0.081325 [opencl_init] found 1 device
> 0.081354 [opencl_init] discarding device 0 `AMD Radeon (TM) RX 460 Graphics
> (POLARIS11, DRM 3.27.0, 5.0.0-8-generic, LLVM 8.0.0)' due to missing image
> support.
> 0.081359 [opencl_init] no suitable devices found.
> 0.081360 [opencl_init] FINALLY: opencl is NOT AVAILABLE on this system.

There has been little progress on image support. The implementation had tons of other problems with advertised functionality (mostly in libclc builtins). You'd probably get incorrect results if those workloads ran.
images are #3 on my todo list (after fixing conversion routines(#1) and support for non-inlined function calls(#2)) unless someone beats me to it. but time is scarce.
Comment 7 ka.nick 2019-07-10 15:48:15 UTC
It would be really nice to have it in place. There are a lot of of pre-GCN 1.1 card out there capable to work with opencl. In fact, I was practically forced to upgrade my nice GCN 1.0 card solely because of darktable's needs when I gave up waiting AMD to fix their binary opencl driver...
Comment 8 Jan Vesely 2019-08-15 06:00:37 UTC
*** Bug 111403 has been marked as a duplicate of this bug. ***
Comment 9 vans88 2019-08-16 05:55:58 UTC
*** Bug 111404 has been marked as a duplicate of this bug. ***
Comment 10 GitLab Migration User 2019-09-18 17:55:41 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/130.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.