<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Mesa's cl.h defines CL_VERSION_1_2 even though it is missing some OpenCL 1.2 functions"
href="https://bugs.freedesktop.org/show_bug.cgi?id=91130">91130</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Mesa's cl.h defines CL_VERSION_1_2 even though it is missing some OpenCL 1.2 functions
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>10.5
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Other
</td>
</tr>
<tr>
<th>Assignee</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>devurandom@gmx.net
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>`clEnqueueFillBuffer` is part of OpenCL 1.2 [1] [2].
Mesa claims to support OpenCL 1.2:
```
# grep -B1 CL_VERSION /usr/include/CL/cl.h
/* OpenCL Version */
#define CL_VERSION_1_0 1
#define CL_VERSION_1_1 1
#define CL_VERSION_1_2 1
```
It declares `clEnqueueFillBuffer`:
```
# grep -B1 -A8 clEnqueueFillBuffer /usr/include/CL/cl.h
extern CL_API_ENTRY cl_int CL_API_CALL
clEnqueueFillBuffer(cl_command_queue /* command_queue */,
cl_mem /* buffer */,
const void * /* pattern */,
size_t /* pattern_size */,
size_t /* offset */,
size_t /* size */,
cl_uint /* num_events_in_wait_list */,
const cl_event * /* event_wait_list */,
cl_event * /* event */) CL_API_SUFFIX__VERSION_1_2;
```
But does not define it:
```
# scanelf -s clEnqueueFillBuffer /usr/lib/libOpenCL.so
TYPE SYM FILE
ET_DYN - /usr/lib/libOpenCL.so
```
Logically, it also seems to be missing in the API dispatcher [1].
I assume Mesa should not claim to support OpenCL 1.2 via `CL_VERSION_1_2`, if
at least one of the OpenCL 1.2 functions is not implemented.
[1]:
<a href="https://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueFillBuffer.html">https://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clEnqueueFillBuffer.html</a>
[2]: <a href="https://www.khronos.org/registry/cl/specs/opencl-1.2.pdf#page=85">https://www.khronos.org/registry/cl/specs/opencl-1.2.pdf#page=85</a>
[3]:
<a href="http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/clover/api/dispatch.cpp#n129">http://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/clover/api/dispatch.cpp#n129</a></pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>