Moar docs, mostly context.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Mon, 21 Dec 2009 03:41:50 +0000 (19:41 -0800)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Mon, 21 Dec 2009 03:41:50 +0000 (19:41 -0800)
src/gallium/docs/source/context.rst
src/gallium/docs/source/cso/blend.rst
src/gallium/docs/source/cso/dsa.rst
src/gallium/docs/source/cso/rasterizer.rst
src/gallium/docs/source/cso/sampler.rst
src/gallium/docs/source/cso/shader.rst
src/gallium/docs/source/screen.rst

index c2e23a1..6470e8f 100644 (file)
@@ -7,4 +7,75 @@ of the device's 3D rendering pipeline.
 Methods
 -------
 
-XXX
+CSO State
+^^^^^^^^^
+
+All CSO state is created, bound, and destroyed, with triplets of methods that
+all follow a specific naming scheme. For example, ``create_blend_state``,
+``bind_blend_state``, and ``destroy_blend_state``.
+
+CSO objects handled by the context object:
+
+* :ref:`Blend`: ``*_blend_state``
+* :ref:`Sampler`: These are special; they can be bound to either vertex or
+  fragment samplers, and they are bound in groups.
+  ``bind_fragment_sampler_states``, ``bind_vertex_sampler_states``
+* :ref:`Rasterizer`: ``*_rasterizer_state``
+* :ref:`Depth, Stencil, & Alpha`: ``*_depth_stencil_alpha_state``
+* :ref:`Shader`: These have two sets of methods. ``*_fs_state`` is for
+  fragment shaders, and ``*_vs_state`` is for vertex shaders.
+
+Non-CSO State
+^^^^^^^^^^^^^
+
+These pieces of state are too small, variable, and/or trivial to have CSO
+objects. They all follow simple, one-method binding calls, e.g.
+``set_edgeflags``.
+
+* ``set_edgeflags``
+* ``set_blend_color``
+* ``set_clip_state``
+* ``set_constant_buffer``
+* ``set_framebuffer_state``
+* ``set_polygon_stipple``
+* ``set_scissor_state``
+* ``set_viewport_state``
+* ``set_fragment_sampler_textures``
+* ``set_vertex_sampler_textures``
+* ``set_vertex_buffers``
+* ``set_vertex_elements``
+
+Queries
+^^^^^^^
+
+Queries can be created with ``create_query`` and deleted with
+``destroy_query``. To enable a query, use ``begin_query``, and when finished,
+use ``end_query`` to stop the query. Finally, ``get_query_result`` is used
+to retrieve the results.
+
+VBO Drawing
+^^^^^^^^^^^
+
+``draw_arrays``
+
+``draw_elements``
+
+``draw_range_elements``
+
+``flush``
+
+Surface Drawing
+^^^^^^^^^^^^^^^
+
+These methods emulate classic blitter controls. They are not guaranteed to be
+available; if they are set to NULL, then they are not present.
+
+``surface_fill`` performs a fill operation on a section of a surface.
+
+``surface_copy`` 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.
+
+``clear`` initializes entire buffers to an RGBA, depth, or stencil value,
+depending on the formats of the buffers. Use ``set_framebuffer_state`` to
+specify the buffers to clear.
index 0be7af5..12abaa9 100644 (file)
@@ -1,3 +1,5 @@
+.. _depth,stencil,&alpha:
+
 Depth, Stencil, & Alpha
 =======================
 
index 1877718..9631e69 100644 (file)
@@ -6,4 +6,34 @@ A screen is an object representing the context-independent part of a device.
 Methods
 -------
 
-XXX
+XXX moar; got bored
+
+get_name
+^^^^^^^^
+
+Returns an identifying name for the screen.
+
+get_vendor
+^^^^^^^^^^
+
+Returns the screen vendor.
+
+get_param
+^^^^^^^^^
+
+Get an integer/boolean screen parameter.
+
+get_paramf
+^^^^^^^^^^
+
+Get a floating-point screen parameter.
+
+is_format_supported
+^^^^^^^^^^^^^^^^^^^
+
+See if a format can be used in a specific manner.
+
+texture_create
+^^^^^^^^^^^^^^
+
+Given a template of texture setup, create a BO-backed texture.