5,321
edits
(→C++) |
(→Usage) |
||
Line 246: | Line 246: | ||
==Usage== | ==Usage== | ||
===Types=== | ===Scalar Types=== | ||
[https://www.khronos.org/registry/OpenCL/sdk/1. | [https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/scalarDataTypes.html OpenCL 1.2 Scalar Data Types]<br> | ||
While all OpenCL devices support single-precision floats, not all support double-precision doubles.<br> | While all OpenCL devices support single-precision floats, not all support double-precision doubles.<br> | ||
===Vector Types=== | |||
[https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/dataTypes.html OpenCL Data Types]<br> | |||
[https://www.khronos.org/registry/OpenCL/sdk/1.2/docs/man/xhtml/vectorDataTypes.html OpenCL 1.2 Vector Data Types]<br> | |||
Just like glsl, OpenCL supports vector types such | Just like glsl, OpenCL supports vector types such | ||
<syntaxhighlight lang="c">float3 my_vec = (float3)(1.0);</syntaxhighlight> | <syntaxhighlight lang="c">float3 my_vec = (float3)(1.0);</syntaxhighlight> | ||
where its elements are accessed using x,y,z as <code>my_vec.x</code>.<br> | where its elements are accessed using x,y,z as <code>my_vec.x</code>.<br> | ||
To convert between vector types, use <code>convert_T()</code><br> | To convert between vector types, use <code>convert_T()</code><br> | ||
;Notes | |||
* 3-component data types are aligned to 4 components. I.e. an array of <code>uchar3</code> with 4 elements will be equivalent to an array of <code>uchar4</code> with 4 elements. | |||
==Advanced Topics== | ==Advanced Topics== | ||
====Local Memory v. Global Memory==== | ====Local Memory v. Global Memory==== |