<?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>cl_khr_d3d10_sharing</keyword>
        </keywordset>
    </refentryinfo>

    <refmeta>
        <refentrytitle>cl_khr_d3d10_sharing</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="cl_khr_d3d10_sharing">
        <refname>cl_khr_d3d10_sharing</refname>

        <refpurpose>
            Provide interoperability between OpenCL and Direct3D 10.
        </refpurpose>
    </refnamediv>

    <!-- ALTERNATIVE SYNTAX SYNOPSIS (NON-FUNCTION) -->

    <refsect2 id="synopsis">
        <title>
        </title>

        <informaltable frame="none">
            <tgroup cols="1" align="left" colsep="0" rowsep="0">
                <colspec colname="col1" colnum="1" />
                <tbody>
                    <row>
                        <entry>
#pragma OPENCL EXTENSION cl_khr_d3d10_sharing : enable
                        </entry>
                    </row>
                </tbody>
            </tgroup>
        </informaltable>
    </refsect2>

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

    <refsect1 xmlns:xlink="http://www.w3.org/1999/xlink" id="description"><title>Description</title>
        <para>
          The goal of this extension is to provide interoperability between
          OpenCL and Direct3D 10. This is designed to function analogously
          to the <citerefentry href="cl_khr_gl_sharing"><refentrytitle>OpenGL
          interoperability</refentrytitle></citerefentry> as defined in sections 9.7 and 9.8. If
          this extension is supported by an implementation, the string "cl_khr_d3d10_sharing"
          will be present in the <constant>CL_PLATFORM_EXTENSIONS</constant>
          or <constant>CL_DEVICE_EXTENSIONS</constant> string described in
          the table of allowed values for <varname>param_name</varname> for
          <citerefentry><refentrytitle>clGetDeviceInfo</refentrytitle></citerefentry>.
        </para>

        <para>
          As currently proposed the interfaces for this extension would be provided in
          <code>cl_d3d10.h</code>.
        </para>

        <para>
          If the <function>cl_khr_d3d10_sharing</function> extension is supported, then the
          following functions are enabled:
        </para>

         <itemizedlist mark="disc">
            <listitem>
                <citerefentry><refentrytitle>clGetDeviceIDsFromD3D10KHR</refentrytitle></citerefentry>
            </listitem>

            <listitem>
                <citerefentry><refentrytitle>clCreateFromD3D10BufferKHR</refentrytitle></citerefentry>
            </listitem>

            <listitem>
                <citerefentry><refentrytitle>clCreateFromD3D10Texture2DKHR</refentrytitle></citerefentry>
            </listitem>

            <listitem>
                <citerefentry><refentrytitle>clCreateFromD3D10Texture3DKHR</refentrytitle></citerefentry>
            </listitem>

            <listitem>
                <citerefentry><refentrytitle>clEnqueueAcquireD3D10ObjectsKHR</refentrytitle></citerefentry>
            </listitem>

            <listitem>
                <citerefentry><refentrytitle>clEnqueueReleaseD3D10ObjectsKHR</refentrytitle></citerefentry>
            </listitem>
        </itemizedlist>

        <para>
          The OpenCL functions enabled by the <function>cl_khr_d3d10_sharing</function> extension
          allow applications to use Direct3D 10 resources as OpenCL memory objects. This allows
          efficient sharing of data between OpenCL and Direct3D 10. The OpenCL API may be used
          to execute kernels that read and/or write memory objects that are also Direct3D 10
          resources. An OpenCL image object may be created from a Direct3D 10 texture resource. An
          OpenCL buffer object may be created from a Direct3D 10 buffer resource. OpenCL memory
          objects may be created from Direct3D 10 objects if and only if the OpenCL context
          has been created from a Direct3D 10 device.
        </para>

<!-- !!!
The following is from the ext. spec. pp. 98-99 and contains only redundant information that
is properly documented in the reference pages for the relevant functions. Its appearance
here has questionable value, and introduces considerable additional labor to maintain.

        <para>
            When the <function>cl_khr_d3d10_sharing</function> extension is enabled, this extends
            the list of allowable values in certain parameters of certain functions, as follows:
        </para> <itemizedlist mark="disc">
            <listitem>
                <code>CL_CONTEXT_D3D10_DEVICE_KHR</code> is accepted as a
                property name in the <varname>properties</varname> parameter of
                <citerefentry><refentrytitle>clCreateContext</refentrytitle></citerefentry> and
                <citerefentry><refentrytitle>clCreateContextFromType</refentrytitle></citerefentry>.
            </listitem> <listitem>
                <code>CL_CONTEXT_D3D10_PREFER_SHARED_RESOURCES_KHR</code> is
                accepted as a value in the <varname>param_name</varname> parameter of
                <citerefentry><refentrytitle>clGetContextInfo</refentrytitle></citerefentry>.
            </listitem> <listitem>
                <code>CL_MEM_D3D10_RESOURCE_KHR</code> is accepted as a
                value in the <varname>param_name</varname> parameter of
                <citerefentry><refentrytitle>clGetMemObjectInf</refentrytitle></citerefentry>.
            </listitem> <listitem>
                <code>CL_IMAGE_D3D10_SUBRESOURCE_KHR</code> is accepted as
                a value in the <varname>param_name</varname> parameter of
                <citerefentry><refentrytitle>clGetImageInfo</refentrytitle></citerefentry>.
            </listitem> <listitem>
                <code>CL_COMMAND_ACQUIRE_D3D10_OBJECTS_KHR</code> and
                <code>CL_COMMAND_RELEASE_D3D10_OBJECTS_KHR</code> are
                returned in the <varname>param_value</varname> parameter of
                <citerefentry><refentrytitle>clGetEventInfo</refentrytitle></citerefentry>
                when <varname>param_name</varname> is <code>CL_EVENT_COMMAND_TYPE</code>.
            </listitem> <listitem>
                <code>CL_INVALID_D3D10_DEVICE_KHR</code> is returned by
                <citerefentry><refentrytitle>clCreateContext</refentrytitle></citerefentry> and
                <citerefentry><refentrytitle>clCreateContextFromType</refentrytitle></citerefentry>
                if the Direct3D 10 device specified for interoperability is not compatible with
                the devices against which the context is to be created.
            </listitem> <listitem>
                <code>CL_INVALID_D3D10_RESOURCE_KHR</code> is returned by
                <citerefentry><refentrytitle>clCreateFromD3D10BufferKHR</refentrytitle></citerefentry>
                when resource is not a Direct3D 10 buffer object, and by
                <citerefentry><refentrytitle>clCreateFromD3D10Texture2DKHR</refentrytitle></citerefentry>
                and
                <citerefentry><refentrytitle>clCreateFromD3D10Texture3DKHR</refentrytitle></citerefentry>
                when resource is not a Direct3D 10 texture object.
            </listitem> <listitem>
                <code>CL_D3D10_RESOURCE_ALREADY_ACQUIRED_KHR</code> is returned by
                <citerefentry><refentrytitle>clEnqueueAcquireD3D10ObjectsKHR</refentrytitle></citerefentry>
                when any of mem_objects are currently acquired by OpenCL.
            </listitem> <listitem>
                <code>CL_D3D10_RESOURCE_NOT_ACQUIRED_KHR</code> is returned by
                <citerefentry><refentrytitle>clEnqueueReleaseD3D10ObjectsKHR</refentrytitle></citerefentry>
                when any of mem_objects are not currently acquired by OpenCL.
            </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="cl_khr_d3d10_sharing">OpenCL Specification</olink>
        </para>
    </refsect1>

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

    <refsect1 id="seealso"><title>Also see</title>
        <para>
            <citerefentry><refentrytitle>EXTENSION</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clGetDeviceIDsFromD3D10KHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clCreateFromD3D10BufferKHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clCreateFromD3D10Texture2DKHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clCreateFromD3D10Texture3DKHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueAcquireD3D10ObjectsKHR</refentrytitle></citerefentry>,
            <citerefentry><refentrytitle>clEnqueueReleaseD3D10ObjectsKHR</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>

