<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd">
<!-- saved from url=(0013)about:internet -->
<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns:xlink="http://www.w3.org/1999/xlink" pref:renderer="mathplayer-dl">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <style xmlns="" type="text/css">
    /* This style sets a margin around the entire page */
        html, body {
            margin: 10px;
        }

        p {
            font: normal 16px verdana, sans-serif;
            margin: 0;
            padding-bottom:12px;
        }

        h1 {
            font: bold 25px verdana, sans-serif;
            margin-top: 0;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        h2 {
            font: bold 19px verdana, sans-serif;
            margin-top: 28px;
            margin-bottom: 3px;
            padding-top: 0; 
            padding-bottom: 0;
        }

        h3 {
            font: bold 19px verdana, sans-serif !important;
            margin-top: 28px;
            margin-bottom: 3px;
            padding-top: 0;
            padding-bottom: 0;
        }

        li {
            font: normal 16px verdana, sans-serif;
            margin-top: 0;
            margin-bottom: 18px;
            padding-top: 0;
            padding-bottom: 0;
        }

        .pdparam {
            font: italic 16px verdana, sans-serif;
        }
		
		.term {
			font: italic 16px verdana, sans-serif;
			font-weight: normal;
		}	
		
		.type {
			font: normal 16px verdana, sans-serif !important;
		}			
		
		.parameter { 
			font-style: italic; 
			}

        a:link, a:visited {
            color: blue;
            text-decoration: none;
            font: normal 16px;
        }

        a:hover {
            background-color: #FFFF99;
            font: normal 16px;
        }

        div.funcsynopsis {
            text-align: left;
            background-color: #e6e6e6;
            font: normal 16px verdana, sans-serif;
			padding-top: 10px;
			padding-bottom: 10px;
        }

        div.funcsynopsis table {
            border-collapse: separate;
            font: normal 16px verdana, sans-serif;
        }

        div.funcsynopsis td {
            background-color: #e6e6e6;
            border: 0 solid #000;
            padding: 1px;
            font: normal 16px verdana, sans-serif;
        }

        div.refsect1 {
            font-family: verdana, sans-serif;
            font-size: 16px;
        }

        code.constant {
            font: normal 16px courier new, monospace !important;
        }
		
		span.errorname {
            font: normal 16px verdana, sans-serif !important;
        }

        code.function {
            font: bold 16px verdana, sans-serif !important;
        }
		
        b.fsfunc {
            font: bold 16px verdana, sans-serif !important;
        }
		
        code.varname {
            font: italic 16px verdana, sans-serif;
        }

        code.replaceable {
            font: italic 16px courier new, monospace;
        }

        code.funcdef {
            font: normal 16px verdana, sans-serif !important;
        }

        .citerefentry {
            font: normal 16px verdana, sans-serif !important;
        }

        .parameter {
            font-style: italic;
        }

        code.fsfunc {
            font: normal 16px verdana, sans-serif !important;
        }

        /* PARAMETER: This style controls spacing between the terms in Parameter section */
        dt {
            margin-top: 15px;
        }

        /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */
        div.refsect1 table {
            width: 100%;
			margin-top: 10px;
            background-color: #FFF;
			border-collapse: collapse;
			border-color: #000;
            border-width: 1px;
			font: normal 16px verdana, sans-serif;
        }
		
        div.refsect1 th {
			border-collapse: collapse;
			border-color: #000;
            border-width: 1px;
            font: bold 16px verdana, sans-serif;
        }
		
        div.refsect1 td {
            background-color: #FFF;
            padding: 5px;
            vertical-align: text-top;
			border-collapse: collapse;
			border-color: #000;
            border-width: 1px;
            font: normal 16px verdana, sans-serif;
        }
		
		  div.refsect1 p{
            font: normal 16px verdana, sans-serif;
            margin-top: 8px;
            margin-bottom: 8px;
            padding-top: 0;
            padding-bottom: 0;
        }
		

        /* EXAMPLE: These styles apply only to the Example section */
        div.refsect2 {
            font: normal 16px courier new, monospace !important;
        }

        div.refsect2 table {
            margin-top: 0;
            background-color: #e6e6e6;
            width: 100%;
            border: 0 solid #000;
            padding: 2px;
            font: normal 16px courier new, monospace !important;
        }

        div.refsect2 td {
            background-color: #e6e6e6;
            font: normal 16px courier new, monospace !important;
			white-space:pre;
        }

        /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */
        div.refsect3 {
            font: normal 11px verdana, sans-serif;
            margin-top: 50px;
            margin-bottom: 20px;
            padding-top: 0;
            padding-bottom: 0;
        }
					
</style>
    <title>cl_khr_3d_image_writes</title>
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <meta name="keywords" content="                            &#10;                cl_khr_3d_image_writes&#10;            " />
  </head>
  <body>
    <div class="refentry">
      <a id="idp41486912"></a>
      <div class="titlepage"></div>
      <div xmlns="" class="refnamediv">
        <a xmlns="http://www.w3.org/1999/xhtml" id="cl_khr_3d_image_writes"></a>
        <h1>cl_khr_3d_image_writes</h1>
        <p>
            Extension to enable writes to 3D image memory objects.
        </p>
      </div>
      <div class="refsect2">
        <a id="synopsis"></a>
        <h3>
        </h3>
        <div class="informaltable">
          <table border="0">
            <colgroup>
              <col align="left" class="col1" />
            </colgroup>
            <tbody>
              <tr>
                <td align="left">
#pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable
                        </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <div class="refsect1">
        <a id="description"></a>
        <h2>Description</h2>
        <p>
OpenCL 1.0 supports 2D image memory objects that can be read or written by kernels. Reads
and writes to the same 2D image memory object are not supported in a kernel. OpenCL 1.0 also
supports reads to 3D image memory objects in kernels. Writes to a 3D image memory object is
not allowed. The <code class="function">cl_khr_3d_image_writes</code> extension implements writes to 3D image memory objects. Reads and writes to the same 3D image memory object are not allowed in a
kernel.
        </p>
        <p>
An application that wants to use this extension to write to 3D image memory objects will need to
include the <code class="function">#pragma OPENCL EXTENSION cl_khr_3d_image_writes : enable</code>
directive in the OpenCL program source.
        </p>
        <p>
The built-in functions implemented by the <code class="function">cl_khr_3d_image_writes</code> extension are described in the table below.
        </p>
        <div class="informaltable">
          <table border="1">
            <colgroup>
              <col align="left" class="col1" />
              <col align="left" class="col2" />
            </colgroup>
            <thead>
              <tr>
                <th align="left">Function</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
<p>
    </p><div class="literallayout"><p><br />
void <code class="function">write_imagef</code> (<a class="link" href="otherDataTypes.html" target="_top">image3d_t</a> <code class="varname">image</code>,<br />
                   int4 <code class="varname">coord</code>,<br />
                   float4 <code class="varname">color</code>)<br />
				   <br />
void <code class="function">write_imagei</code> (<a class="link" href="otherDataTypes.html" target="_top">image3d_t</a> <code class="varname">image</code>,<br />
                   int4 <code class="varname">coord</code>,<br />
                   int4 <code class="varname">color</code>)<br />
				   <br />
void <code class="function">write_imageui</code> (<a class="link" href="otherDataTypes.html" target="_top">image3d_t</a> <code class="varname">image</code>,<br />
                    int4 <code class="varname">coord</code>,<br />
                    unsigned int4 <code class="varname">color</code>)</p></div><p>
</p>
                        </td>
                <td align="left">
<p>
Write <code class="varname">color</code> value to location specified by coordinate (<code class="varname">x</code>,
<code class="varname">y</code>, <code class="varname">z</code>) in the
3D image object specified by <code class="varname">image</code>.
Appropriate data format conversion to the specified
image format is done before writing the color value.
<code class="varname">coord.x</code>, <code class="varname">coord.y</code>, and
<code class="varname">coord.z</code> are considered to be
unnormalized coordinates and must be in the range 0 ... image
stream width - 1, 0 ... image stream height - 1
and 0 ... image stream depth - 1.
</p>

<p>
<code class="function">write_imagef</code> can only be used with image objects
created with <code class="varname">image_channel_data_type</code> set to one of the
pre-defined packed formats or set to <code class="constant">CL_SNORM_INT8</code>,
<code class="constant">CL_UNORM_INT8</code>, <code class="constant">CL_SNORM_INT16</code>,
<code class="constant">CL_UNORM_INT16</code>, <code class="constant">CL_HALF_FLOAT</code> or
<code class="constant">CL_FLOAT</code>.
Appropriate data format conversion will be done to
convert channel data from a floating-point value to
actual data format in which the channels are stored.
</p>

<p>
<code class="function">write_imagei</code> can only be used with image objects
created with <code class="varname">image_channel_data_type</code> set to one of the
following values:
    </p><div class="literallayout"><p>CL_SIGNED_INT8,<br />
CL_SIGNED_INT16, and<br />
CL_SIGNED_INT32.</p></div><p>
</p>

<p>
<code class="function">write_imageui</code> can only be used with image objects
created with <code class="varname">image_channel_data_type</code> set to one of the
following values:
    </p><div class="literallayout"><p>CL_UNSIGNED_INT8,<br />
CL_UNSIGNED_INT16, and<br />
CL_UNSIGNED_INT32.</p></div><p>
</p>

<p>
The behavior of <code class="function">write_imagef</code>, <code class="function">write_imagei</code> and
<code class="function">write_imageui</code> for image objects with
<code class="varname">image_channel_data_type</code> values not specified in the
description above or with (<code class="varname">x</code>, <code class="varname">y</code>, <code class="varname">z</code>)
coordinate values that
are not in the range (0... image width  1, 0... image
height  1, 0... image depth   1) respectively is
undefined.
</p>
                        </td>
              </tr>
            </tbody>
          </table>
        </div>
        <p>
</p>
        <p>
For read-write or write-only 3D images, the minimum list of supported image formats is given
by the table below:
</p>
        <div class="informaltable">
          <table border="1">
            <colgroup>
              <col align="left" class="col1" />
              <col align="left" class="col2" />
              <col align="left" class="col3" />
            </colgroup>
            <thead>
              <tr>
                <th align="left">
                  <div class="literallayout">
                    <p>image_num_channels  </p>
                  </div>
                </th>
                <th align="left">
                  <div class="literallayout">
                    <p>image_channel_order  </p>
                  </div>
                </th>
                <th align="left">
                  <div class="literallayout">
                    <p>image_channel_data_type  </p>
                  </div>
                </th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">
							4
                        </td>
                <td align="left">
							CL_RGBA
                        </td>
                <td align="left">
<div class="literallayout"><p><br />
CL_UNORM_INT8<br />
CL_UNORM_INT16<br />
<br />
CL_SIGNED_INT8<br />
CL_SIGNED_INT16<br />
CL_SIGNED_INT32<br />
<br />
CL_UNSIGNED_INT8<br />
CL_UNSIGNED_INT16<br />
CL_UNSIGNED_INT32<br />
<br />
CL_HALF_FLOAT<br />
CL_FLOAT<br />
</p></div>
                        </td>
              </tr>
              <tr>
                <td align="left">
							4
                        </td>
                <td align="left">
							CL_BGRA
                        </td>
                <td align="left">
							CL_UNORM_INT8
                        </td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <div class="refsect1">
        <a id="specification"></a>
        <h2>Specification</h2>
        <p>
            <img src="pdficon_small1.gif" />
                                                 
            <a href="http://www.khronos.org/registry/cl/specs/opencl-1.x-latest.pdf#page=250" target="OpenCL Spec">OpenCL Specification</a>
        </p>
      </div>
      <div class="refsect1">
        <a id="seealso"></a>
        <h2>Also see</h2>
        <p>
            <a class="citerefentry" href="EXTENSION.html"><span class="citerefentry"><span class="refentrytitle">EXTENSION</span></span></a>, 
			<a class="citerefentry" href="cl_image_format.html"><span class="citerefentry"><span class="refentrytitle">cl_image_format</span></span></a>,  
			<a class="citerefentry" href="imageFunctions.html"><span class="citerefentry"><span class="refentrytitle">Image Functions</span></span></a>
        </p>
      </div>
      <div xmlns="" class="refsect3" lang="en" xml:lang="en"><a xmlns="http://www.w3.org/1999/xhtml" id="Copyright"></a><h4 xmlns="http://www.w3.org/1999/xhtml"></h4><img xmlns="http://www.w3.org/1999/xhtml" src="KhronosLogo.jpg" /><p xmlns="http://www.w3.org/1999/xhtml"></p>Copyright © 2007-2009 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. 
</div>
    </div>
  </body>
</html>
