<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"
              "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd" [
<!ENTITY imageQueryFunctionsInc SYSTEM "imageQueryFunctionsInc.xml">
]>

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>get_image_channel_data_type</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>get_image_channel_data_type</refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2013</year>
                <holder>The Khronos Group Inc.
 Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and/or associated documentation files (the
"Materials"), to deal in the Materials without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Materials, and to
permit persons to whom the Materials are furnished to do so, subject to
the condition that this copyright notice and permission notice shall be included
in all copies or substantial portions of the Materials.</holder>
            </copyright>
        </refmiscinfo>
        <manvolnum>3</manvolnum>
    </refmeta>

<!-- ================================ SYNOPSIS -->

    <refnamediv id="get_image_channel_data_type">
        <refname>get_image_channel_data_type</refname>

        <refpurpose>
            Return the channel data type.
        </refpurpose>
    </refnamediv>

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    aQual <link xlink:href="otherDataTypes.html">image1d_t</link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    aQual <link xlink:href="otherDataTypes.html">image1d_buffer_t</link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    aQual <link xlink:href="otherDataTypes.html">image2d_t</link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    aQual <link xlink:href="otherDataTypes.html">image3d_t</link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    aQual <link xlink:href="otherDataTypes.html">image1d_array_t</link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    aQual <link xlink:href="otherDataTypes.html">image2d_array_t</link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    aQual <link xlink:href="otherDataTypes.html">image2d_depth_t</link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    aQual <link xlink:href="otherDataTypes.html">image2d_array_depth_t</link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <bridgehead>Functions added with MSAA support enabled by extension 
        <code>cl_khr_gl_msaa_sharing</code>:</bridgehead>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image2d_msaa_t </link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image2d_array_msaa_t </link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image2d_msaa_depth_t </link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

        <funcsynopsis>
            <funcprototype>
                <funcdef>
                    <link xlink:href="scalarDataTypes.html">int</link>
                    <function>
                        get_image_channel_data_type
                    </function>
                </funcdef>
                <paramdef>
                    <link xlink:href="otherDataTypes.html">image2d_array_msaa_depth_t </link>
                    <parameter>image</parameter>
                </paramdef>
            </funcprototype>
        </funcsynopsis>

    </refsynopsisdiv>

<!-- ================================ DESCRIPTION  -->

    <refsect1 id="description"><title>Description</title>

        &imageQueryFunctionsInc;

        <para>
            Return the channel data type. Valid values are:<literallayout>
CLK_SNORM_INT8
CLK_SNORM_INT16
CLK_UNORM_INT8
CLK_UNORM_INT16
CLK_UNORM_SHORT_565
CLK_UNORM_SHORT_555
CLK_UNORM_SHORT_101010
CLK_SIGNED_INT8
CLK_SIGNED_INT16
CLK_SIGNED_INT32
CLK_UNSIGNED_INT8
CLK_UNSIGNED_INT16
CLK_UNSIGNED_INT32
CLK_HALF_FLOAT
CLK_FLOAT</literallayout>
        </para>
    </refsect1>

<!-- ================================ NOTES  -->

    <refsect1 id="notes"><title>Notes</title>
        <para>
            The values returned by <function>get_image_channel_data_type</function> 
            and <function>get_image_channel_order</function> as 
            specified the table above with the <code>CLK_</code> prefixes 
            correspond to the <code>CL_</code> prefixes used to describe 
            the image channel order and data type in tables 5.4 (see 
            <citerefentry><refentrytitle>clCreateSubBuffer</refentrytitle></citerefentry>) 
            and 5.5 (see 
            <citerefentry><refentrytitle>clEnqueueMapBuffer</refentrytitle></citerefentry>). 
            For example, both 
            <constant>CL_UNORM_INT8</constant> and 
            <constant>CLK_UNORM_INT8</constant> refer to an 
            image channel data type that is an 
            unnormalized unsigned 8-bit integer.
        </para>
    </refsect1>

<!-- ================================ SPECIFICATION  -->
<!-- Set the "uri" attribute in the <olink /> element to the "named destination" for the PDF page
-->
    <refsect1 id="specification"><title>Specification</title>
        <para>
            <imageobject>
                <imagedata fileref="pdficon_small1.gif" format="gif" />
            </imageobject>

            <olink uri="imageFunctions">OpenCL Specification</olink>
        </para>
    </refsect1>

<!-- ================================ ALSO SEE  -->

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry href="imageFunctions"><refentrytitle>Image Functions</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>cl_khr_gl_msaa_sharing</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clCreateSubBuffer</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueMapBuffer</refentrytitle></citerefentry>
        </para>
    </refsect1>

<!-- ============================== COPYRIGHT -->
<!-- Content included from copyright.inc.xsl -->

    <refsect3 id="Copyright"><title></title>
        <imageobject>
                <imagedata fileref="KhronosLogo.jpg" format="jpg" />
        </imageobject>
        <para />
    </refsect3>

 <!-- 28-Oct-2015, Ext ver 2.1 rev 10; C lang ver 2.0 rev 30 -->
</refentry>

