<?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 sharingD3D11Inc SYSTEM "sharingD3D11Inc.xml">
<!ENTITY accessMappedInc SYSTEM "accessMappedInc.xml">
]>

<refentry>
    <refentryinfo>
        <keywordset><keyword>clCreateFromD3D11Texture2DKHR</keyword></keywordset>
    </refentryinfo>
    <refmeta>
        <refentrytitle>clCreateFromD3D11Texture2DKHR</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="clCreateFromD3D11Texture2DKHR">
        <refname>clCreateFromD3D11Texture2DKHR</refname>
        <refpurpose>Creates an OpenCL 2D image object from a subresource of a Direct3D 11 2D texture.</refpurpose>
    </refnamediv>

    <refsynopsisdiv xmlns:xlink="http://www.w3.org/1999/xlink"><title></title>
        <funcsynopsis>
            <funcprototype>
                <funcdef>
                <link xlink:href="abstractDataTypes.html">cl_mem</link>
                    <function>clCreateFromD3D11Texture2DKHR</function></funcdef>
                <paramdef><link xlink:href="abstractDataTypes.html">cl_context</link><parameter>context</parameter></paramdef>
                <paramdef><link xlink:href="enums.html#cl_mem_flags">cl_mem_flags</link><parameter>flags</parameter></paramdef>
                <paramdef>ID3D11Texture2D<parameter>*resource</parameter></paramdef>
                <paramdef><link xlink:href="scalarDataTypes.html">UINT</link><parameter>subresource</parameter></paramdef>
                <paramdef>
                    <link xlink:href="scalarDataTypes.html">cl_int</link>
                    <parameter>*errcode_ret</parameter>
                </paramdef>
           </funcprototype>
        </funcsynopsis>
    </refsynopsisdiv>

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

    <refsect1 id="parameters"><title>Parameters</title>
        <variablelist>
        <varlistentry>
            <term><varname>context</varname></term>
            <listitem>
                <para>
                    A valid OpenCL context created from a Direct3D 11 device.
                </para>
            </listitem>
        </varlistentry>

        <varlistentry>
            <term><varname>flags</varname></term>
            <listitem>
                <para>
                  A bit-field that is used to specify usage information.  May be
                  <constant>CL_MEM_READ_ONLY</constant>, <constant>CL_MEM_WRITE_ONLY</constant>,
                  or <constant>CL_MEM_READ_WRITE</constant>. (See the table for
                  <citerefentry><refentrytitle>clCreateBuffer</refentrytitle></citerefentry>
                  for more information.)
                </para>
            </listitem>
        </varlistentry>

        <varlistentry>
            <term><varname>resource</varname></term>
            <listitem>
                <para>
                    A pointer to the Direct3D 11 2D texture to share.
                </para>
            </listitem>
        </varlistentry>

        <varlistentry>
            <term><varname>subresource</varname></term>
            <listitem>
                <para>
                    The subresource of <varname>resource</varname> to share.
                </para>
            </listitem>
        </varlistentry>

        <varlistentry>
            <term><varname>errcode_ret</varname></term>
            <listitem>
                <para>
                    An appropriate error code. If errcode_ret is NULL, no error code is returned.
                </para>
            </listitem>
        </varlistentry>
        </variablelist>
    </refsect1>

<!-- ================================ NOTES  -->
    <refsect1 id="notes"><title>Notes</title>
        <para>
          The width, height and depth of the returned OpenCL 2D image object are determined
          by the width, height and depth of subresource <varname>subresource</varname> of
          <varname>resource</varname>. The channel type and order of the returned OpenCL 2D
          image object is determined by the format of <varname>resource</varname> as shown in of
          Direct3D 11 and corresponding OpenCL image formats of <varname>resource</varname> in
          <citerefentry><refentrytitle>clCreateFromD3D11Texture3DKHR</refentrytitle></citerefentry>.
        </para>

        <para>
          This call will increment the internal Direct3D reference count on
          <varname>resource</varname>. The internal Direct3D reference count on
          <varname>resource</varname> will be decremented when the OpenCL reference count on
          the returned OpenCL memory object drops to zero.
        </para>

        &sharingD3D11Inc;

        &accessMappedInc;

    </refsect1>

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

    <refsect1 id="errors"><title>Errors</title>
        <para>
          Returns <errorname>CL_SUCCESS</errorname> returns a valid non-zero OpenCL image object
          and <varname>errcode_ret</varname> is set to <errorname>CL_SUCCESS</errorname> if the
          image object is created successfully. Otherwise, it returns a NULL value with one of
          the following error values returned in <varname>errcode_ret</varname>:
        </para>

        <itemizedlist mark="disc">
            <listitem>
              <errorname>CL_INVALID_CONTEXT</errorname> if <varname>context</varname> is not
              a valid context.
            </listitem>

            <listitem>
              <errorname>CL_INVALID_VALUE</errorname> if values specified in
              <varname>flags</varname> are not valid or if <varname>subresource</varname>
              is not a valid subresource index for <varname>resource</varname>.
            </listitem>

            <listitem>
              <!-- ext. spec p. 105, section 9.11.7.4 -->
              <errorname>CL_INVALID_D3D11_RESOURCE_KHR</errorname> if <varname>resource</varname>
              is not a Direct3D 11 texture resource, if <varname>resource</varname>
              was created with the D3D11_USAGE flag D3D11_USAGE_IMMUTABLE, if a
              <varname>resource</varname> is a multisampled texture, if <type>cl_mem</type>
              from subresource <varname>subresource</varname> of <varname>resource</varname>
              has already been created using <function>clCreateFromD3D11Texture2DKHR</function>,
              or if <varname>context</varname> was not created against the same Direct3D 11 <!--
              ext spec. p. 105 says "10" here, but that's probably a typo --> device from which
              <varname>resource</varname> was created.
            </listitem>

            <listitem>
              <!-- ext. spec p. 99, section 9.11.4 -->
              <errorname>CL_INVALID_D3D11_RESOURCE_KHR</errorname> if <varname>resource</varname>
              is not a Direct3D 11 texture object.
            </listitem>

            <listitem>
              <!-- ext. spec p. 105, section 9.11.7.4 -->
              <errorname>CL_INVALID_IMAGE_FORMAT_DESCRIPTOR</errorname> if the Direct3D
              11 texture format of <varname>resource</varname> is not a value listed
              in the table of Direct3D 11 and corresponding OpenCL image formats for
              <citerefentry><refentrytitle>clCreateFromD3D11Texture3DKHR</refentrytitle></citerefentry>,
              or if the Direct3D 11 texture format of <varname>resource</varname> does not map
              to a supported OpenCL image format.
            </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="clCreateFromD3D11Texture2DKHR">OpenCL Specification</olink>
        </para>
    </refsect1>

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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>cl_khr_d3d11_sharing</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clGetDeviceIDsFromD3D11KHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clCreateFromD3D11BufferKHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clCreateFromD3D11Texture3DKHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueAcquireD3D11ObjectsKHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueReleaseD3D11ObjectsKHR</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>

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

