<?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">

<refentry>
    <refentryinfo>
        <keywordset>
            <keyword>
                clGetSamplerInfo
            </keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>
            clGetSamplerInfo
        </refentrytitle>

        <refmiscinfo>
            <copyright>
                <year>2007-2011</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="clGetSamplerInfo">
        <refname>
            clGetSamplerInfo
        </refname>

        <refpurpose>
            Returns information about the sampler object.
        </refpurpose>
    </refnamediv>

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink">
      <title></title>
      <funcsynopsis>
        <funcprototype>
          <funcdef>
            <link xlink:href="scalarDataTypes.html">cl_int</link>
            <function>clGetSamplerInfo</function>
          </funcdef>

          <paramdef><link xlink:href="abstractDataTypes.html">cl_sampler</link><parameter>sampler</parameter></paramdef>
          <paramdef><link xlink:href="enums.html#cl_sampler_info">cl_sampler_info</link><parameter>param_name</parameter></paramdef>
          <paramdef><link xlink:href="scalarDataTypes.html">size_t</link><parameter>param_value_size</parameter></paramdef>
          <paramdef><link xlink:href="scalarDataTypes.html">void</link><parameter>*param_value</parameter></paramdef>
          <paramdef><link xlink:href="scalarDataTypes.html">size_t</link><parameter>*param_value_size_ret</parameter></paramdef>

        </funcprototype>
      </funcsynopsis>
    </refsynopsisdiv>

<!-- ================================ PARAMETERS -->

    <refsect1 id="parameters">
      <title>Parameters</title>
      <variablelist>

        <varlistentry>
          <term><varname>sampler</varname></term>
          <listitem> <para>Specifies the sampler being queried.</para> </listitem>
        </varlistentry>

        <varlistentry>
          <term><varname>param_name</varname></term>
          <listitem>
            <para>
              Specifies the information to query. The list of supported
              <varname>param_name</varname> types and the information returned in
              <varname>param_value</varname> by <function>clGetSamplerInfo</function> is
              described in the table below.
            </para>

            <!-- table 5.12 -->
            <informaltable frame="all">
              <tgroup cols="2" align="left" colsep="1" rowsep="1">
                <colspec colname="col1" colnum="1" />
                <colspec colname="col2" colnum="2" />
                <thead>
                  <row>
                    <entry>cl_sampler_info</entry>
                    <entry>Return Type and Info. returned in <varname>param_value</varname></entry>
                  </row>
                </thead>

                <tbody>
                  <row>
                    <entry><constant>CL_SAMPLER_REFERENCE_COUNT</constant></entry>
                    <entry>
                      Return type: cl_uint

                      <para>
                        Return the <varname>sampler</varname> reference count. The reference
                        count returned should be considered immediately stale. It is unsuitable
                        for general use in applications. This feature is provided for identifying
                        memory leaks.
                      </para>
                    </entry>
                  </row>

                  <row>
                    <entry><constant>CL_SAMPLER_CONTEXT</constant></entry>
                    <entry>
                      Return type: cl_context

                      <para>
                        Return the context specified when the sampler is created.
                      </para>
                    </entry>
                  </row>

                  <row>
                    <entry><constant>CL_SAMPLER_NORMALIZED_COORDS</constant></entry>
                    <entry>
                      Return type: cl_bool

                      <para>
                        Return the normalized coords value associated with
                        <varname>sampler</varname>.
                      </para>
                    </entry>
                  </row>

                  <row>
                    <entry><constant>CL_SAMPLER_ADDRESSING_MODE</constant></entry>
                    <entry>
                      Return type: cl_addressing_mode

                      <para>
                        Return the addressing mode value associated with
                        <varname>sampler</varname>.
                      </para>
                    </entry>
                  </row>

                  <row>
                    <entry><constant>CL_SAMPLER_FILTER_MODE</constant></entry>
                    <entry>
                      Return type: cl_filter_mode

                      <para>
                        Return the filter mode value associated with <varname>sampler</varname>.
                      </para>
                    </entry>
                  </row>
                </tbody>
              </tgroup>
            </informaltable>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term> <varname>param_value </varname> </term>
          <listitem>
            <para>
              A pointer to memory where the appropriate result being queried is returned. If
              <varname>param_value</varname> is NULL, it is ignored.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term> <varname> param_value_size </varname> </term>
          <listitem>
            <para>
              Specifies the size in bytes of memory pointed to by
              <varname>param_value</varname>. This size must be &ge; size of return type as
              described in the table above.
            </para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term> <varname> param_value_size_ret </varname> </term>
          <listitem>
            <para>
              Returns the actual size in bytes of data copied to <varname>param_value</varname>.
              If <varname>param_value_size_ret</varname> is NULL, it is ignored.
            </para>
          </listitem>
        </varlistentry>
      </variablelist>

            <!-- END PARAMETER TABLE  -->

    </refsect1>

<!-- ================================ NOTES  -->
<!-- <refsect1 id="notes"><title>Notes</title>
        <para>

        </para>
    </refsect1>
-->

<!-- ================================ ERRORS  -->

    <refsect1 id="errors"><title>Errors</title>
        <para>
          Returns <errorname>CL_SUCCESS</errorname> if the function is executed
          successfully. Otherwise, it returns one of the following errors:
        </para>

        <itemizedlist mark="disc">
            <listitem>
              <errorname>CL_INVALID_VALUE</errorname> if <varname>param_name</varname> is not
              valid, or if size in bytes specified by <varname>param_value_size</varname>
              is &lt; size of return type as described in the table above and
              <varname>param_value</varname> is not NULL
            </listitem>

            <listitem>
              <errorname>CL_INVALID_SAMPLER</errorname> if   <varname>sampler</varname> is a
              not a valid sampler object.
            </listitem>

            <listitem>
              <errorname>CL_OUT_OF_RESOURCES</errorname> if there is a failure to allocate
              resources required by the OpenCL implementation on the device.
            </listitem>

            <listitem>
              <errorname>CL_OUT_OF_HOST_MEMORY</errorname> if there is a failure to allocate
              resources required by the OpenCL implementation on the host.
            </listitem>
        </itemizedlist>
    </refsect1>

<!-- ================================ EXAMPLE  -->
<!-- DO NOT DELETE IN CASE AN EXAMPLE IS ADDED IN THE FUTURE -->
<!--
    <refsect2 id="example1">
        <title>
            Example
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
                            Example goes here - it will be set in "code" type with white space preserved.
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>
-->

<!-- ================================ 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="clGetSamplerInfo">OpenCL Specification</olink>
        </para>
    </refsect1>

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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>clCreateSampler</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clRetainSampler</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clReleaseSampler</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>

<!-- 18-Oct-2011 -->
</refentry>

