diff options
Diffstat (limited to 'src/gallium/docs/build/html/context.html')
-rw-r--r-- | src/gallium/docs/build/html/context.html | 69 |
1 files changed, 52 insertions, 17 deletions
diff --git a/src/gallium/docs/build/html/context.html b/src/gallium/docs/build/html/context.html index bd8166ac891..21bab454806 100644 --- a/src/gallium/docs/build/html/context.html +++ b/src/gallium/docs/build/html/context.html @@ -68,6 +68,18 @@ fragment samplers, and they are bound in groups. fragment shaders, and <tt class="docutils literal"><span class="pre">*_vs_state</span></tt> is for vertex shaders.</li> </ul> </div> +<div class="section" id="resource-binding-state"> +<h3>Resource Binding State<a class="headerlink" href="#resource-binding-state" title="Permalink to this headline">¶</a></h3> +<p>This state describes how resources in various flavours (textures, +buffers, surfaces) are bound to the driver.</p> +<ul class="simple"> +<li><tt class="docutils literal"><span class="pre">set_constant_buffer</span></tt></li> +<li><tt class="docutils literal"><span class="pre">set_framebuffer_state</span></tt></li> +<li><tt class="docutils literal"><span class="pre">set_fragment_sampler_textures</span></tt></li> +<li><tt class="docutils literal"><span class="pre">set_vertex_sampler_textures</span></tt></li> +<li><tt class="docutils literal"><span class="pre">set_vertex_buffers</span></tt></li> +</ul> +</div> <div class="section" id="non-cso-state"> <h3>Non-CSO State<a class="headerlink" href="#non-cso-state" title="Permalink to this headline">¶</a></h3> <p>These pieces of state are too small, variable, and/or trivial to have CSO @@ -77,42 +89,61 @@ objects. They all follow simple, one-method binding calls, e.g. <li><tt class="docutils literal"><span class="pre">set_edgeflags</span></tt></li> <li><tt class="docutils literal"><span class="pre">set_blend_color</span></tt></li> <li><tt class="docutils literal"><span class="pre">set_clip_state</span></tt></li> -<li><tt class="docutils literal"><span class="pre">set_constant_buffer</span></tt></li> -<li><tt class="docutils literal"><span class="pre">set_framebuffer_state</span></tt></li> <li><tt class="docutils literal"><span class="pre">set_polygon_stipple</span></tt></li> <li><tt class="docutils literal"><span class="pre">set_scissor_state</span></tt></li> <li><tt class="docutils literal"><span class="pre">set_viewport_state</span></tt></li> -<li><tt class="docutils literal"><span class="pre">set_fragment_sampler_textures</span></tt></li> -<li><tt class="docutils literal"><span class="pre">set_vertex_sampler_textures</span></tt></li> -<li><tt class="docutils literal"><span class="pre">set_vertex_buffers</span></tt></li> <li><tt class="docutils literal"><span class="pre">set_vertex_elements</span></tt></li> </ul> </div> +<div class="section" id="clearing"> +<h3>Clearing<a class="headerlink" href="#clearing" title="Permalink to this headline">¶</a></h3> +<p><tt class="docutils literal"><span class="pre">clear</span></tt> initializes some or all of the surfaces currently bound to +the framebuffer to particular RGBA, depth, or stencil values.</p> +<p>Clear is one of the most difficult concepts to nail down to a single +interface and it seems likely that we will want to add additional +clear paths, for instance clearing surfaces not bound to the +framebuffer, or read-modify-write clears such as depth-only or +stencil-only clears of packed depth-stencil buffers.</p> +</div> +<div class="section" id="drawing"> +<h3>Drawing<a class="headerlink" href="#drawing" title="Permalink to this headline">¶</a></h3> +<p><tt class="docutils literal"><span class="pre">draw_arrays</span></tt></p> +<p><tt class="docutils literal"><span class="pre">draw_elements</span></tt></p> +<p><tt class="docutils literal"><span class="pre">draw_range_elements</span></tt></p> +</div> <div class="section" id="queries"> <h3>Queries<a class="headerlink" href="#queries" title="Permalink to this headline">¶</a></h3> +<p>Queries gather some statistic from the 3D pipeline over one or more +draws. Queries may be nested, though no state tracker currently +exercises this.</p> <p>Queries can be created with <tt class="docutils literal"><span class="pre">create_query</span></tt> and deleted with <tt class="docutils literal"><span class="pre">destroy_query</span></tt>. To enable a query, use <tt class="docutils literal"><span class="pre">begin_query</span></tt>, and when finished, use <tt class="docutils literal"><span class="pre">end_query</span></tt> to stop the query. Finally, <tt class="docutils literal"><span class="pre">get_query_result</span></tt> is used to retrieve the results.</p> </div> -<div class="section" id="vbo-drawing"> -<h3>VBO Drawing<a class="headerlink" href="#vbo-drawing" title="Permalink to this headline">¶</a></h3> -<p><tt class="docutils literal"><span class="pre">draw_arrays</span></tt></p> -<p><tt class="docutils literal"><span class="pre">draw_elements</span></tt></p> -<p><tt class="docutils literal"><span class="pre">draw_range_elements</span></tt></p> +<div class="section" id="flushing"> +<h3>Flushing<a class="headerlink" href="#flushing" title="Permalink to this headline">¶</a></h3> <p><tt class="docutils literal"><span class="pre">flush</span></tt></p> </div> -<div class="section" id="surface-drawing"> -<h3>Surface Drawing<a class="headerlink" href="#surface-drawing" title="Permalink to this headline">¶</a></h3> +<div class="section" id="resource-busy-queries"> +<h3>Resource Busy Queries<a class="headerlink" href="#resource-busy-queries" title="Permalink to this headline">¶</a></h3> +<p><tt class="docutils literal"><span class="pre">is_texture_referenced</span></tt></p> +<p><tt class="docutils literal"><span class="pre">is_buffer_referenced</span></tt></p> +</div> +<div class="section" id="blitting"> +<h3>Blitting<a class="headerlink" href="#blitting" title="Permalink to this headline">¶</a></h3> <p>These methods emulate classic blitter controls. They are not guaranteed to be available; if they are set to NULL, then they are not present.</p> +<p>These methods operate directly on <tt class="docutils literal"><span class="pre">pipe_surface</span></tt> objects, and stand +apart from any 3D state in the context. Blitting functionality may be +moved to a separate abstraction at some point in the future.</p> <p><tt class="docutils literal"><span class="pre">surface_fill</span></tt> performs a fill operation on a section of a surface.</p> <p><tt class="docutils literal"><span class="pre">surface_copy</span></tt> blits a region of a surface to a region of another surface, provided that both surfaces are the same format. The source and destination may be the same surface, and overlapping blits are permitted.</p> -<p><tt class="docutils literal"><span class="pre">clear</span></tt> initializes entire buffers to an RGBA, depth, or stencil value, -depending on the formats of the buffers. Use <tt class="docutils literal"><span class="pre">set_framebuffer_state</span></tt> to -specify the buffers to clear.</p> +<p>The interfaces to these calls are likely to change to make it easier +for a driver to batch multiple blits with the same source and +destination.</p> </div> </div> </div> @@ -128,10 +159,14 @@ specify the buffers to clear.</p> <li><a class="reference external" href="">Context</a><ul> <li><a class="reference external" href="#methods">Methods</a><ul> <li><a class="reference external" href="#cso-state">CSO State</a></li> +<li><a class="reference external" href="#resource-binding-state">Resource Binding State</a></li> <li><a class="reference external" href="#non-cso-state">Non-CSO State</a></li> +<li><a class="reference external" href="#clearing">Clearing</a></li> +<li><a class="reference external" href="#drawing">Drawing</a></li> <li><a class="reference external" href="#queries">Queries</a></li> -<li><a class="reference external" href="#vbo-drawing">VBO Drawing</a></li> -<li><a class="reference external" href="#surface-drawing">Surface Drawing</a></li> +<li><a class="reference external" href="#flushing">Flushing</a></li> +<li><a class="reference external" href="#resource-busy-queries">Resource Busy Queries</a></li> +<li><a class="reference external" href="#blitting">Blitting</a></li> </ul> </li> </ul> |