From c686e17e52eb9964137fd1a46fbbc96e368b6286 Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Sun, 20 Dec 2009 15:00:40 -0800 Subject: Add Gallium docs. In Sphinx/ReST format. --- src/gallium/docs/source/cso/rasterizer.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 src/gallium/docs/source/cso/rasterizer.rst (limited to 'src/gallium/docs/source/cso/rasterizer.rst') diff --git a/src/gallium/docs/source/cso/rasterizer.rst b/src/gallium/docs/source/cso/rasterizer.rst new file mode 100644 index 0000000000..145ce259bb --- /dev/null +++ b/src/gallium/docs/source/cso/rasterizer.rst @@ -0,0 +1,10 @@ +Rasterizer +========== + +The rasterizer is the main chunk of state controlling how vertices are +interpolated into fragments. + +Members +------- + +XXX -- cgit v1.2.3 From fa33812d47bde327ca69dc3f849404fb22b6f34f Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Sun, 20 Dec 2009 17:25:36 -0800 Subject: Document rasterizer. --- src/gallium/docs/source/cso/rasterizer.rst | 76 +++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) (limited to 'src/gallium/docs/source/cso/rasterizer.rst') diff --git a/src/gallium/docs/source/cso/rasterizer.rst b/src/gallium/docs/source/cso/rasterizer.rst index 145ce259bb..b87d121db3 100644 --- a/src/gallium/docs/source/cso/rasterizer.rst +++ b/src/gallium/docs/source/cso/rasterizer.rst @@ -7,4 +7,78 @@ interpolated into fragments. Members ------- -XXX +XXX undocumented light_twoside, front_winding, cull_mode, fill_cw, fill_ccw, offset_cw, offset_ccw +XXX moar undocumented poly_smooth, line_stipple_factor, line_last_pixel, offset_units, offset_scale +XXX sprite_coord_mode + +flatshade + If set, the provoking vertex of each polygon is used to determine the + color of the entire polygon. If not set, the color fragments will be + interpolated from each vertex's color. +scissor + Whether the scissor test is enabled. +poly_stipple_enable + Whether polygon stippling is enabled. +point_smooth + Whether points should be smoothed. Point smoothing turns rectangular + points into circles or ovals. +point_sprite + Whether point sprites are enabled. +point_size_per_vertex + Whether vertices have a point size element. +multisample + Whether MSAA is enabled. +line_smooth + Whether lines should be smoothed. Line smoothing is simply anti-aliasing. +line_stipple_enable + Whether line stippling is enabled. +line_stipple_pattern + 16-bit bitfield of on/off flags, used to pattern the line stipple. +bypass_vs_clip_and_viewport + Whether the entire TCL pipeline should be bypassed. This implies that + vertices are pre-transformed for the viewport, and will not be run + through the vertex shader. Note that implementations may still clip away + vertices that are not in the viewport. +flatshade_first + Whether the first vertex should be the provoking vertex, for most + primitives. If not set, the last vertex is the provoking vertex. +gl_rasterization_rules + Whether the rasterizer should use (0.5, 0.5) pixel centers. When not set, + the rasterizer will use (0, 0) for pixel centers. +line_width + The width of lines. +point_size + The size of points, if not specified per-vertex. +point_size_min + The minimum size of points. +point_size_max + The maximum size of points. + +Notes +----- + +flatshade +^^^^^^^^^ + +The actual interpolated shading algorithm is obviously +implementation-dependent, but will usually be Gourard for most hardware. + +bypass_vs_clip_and_viewport +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +When set, this implies that vertices are pre-transformed for the viewport, and +will not be run through the vertex shader. Note that implementations may still +clip away vertices that are not visible. + +flatshade_first +^^^^^^^^^^^^^^^ + +There are several important exceptions to the specification of this rule. + +* PIPE_PRIMITIVE_POLYGON: The provoking vertex is always the first vertex. + If the caller wishes to change the provoking vertex, they merely need to + rotate the vertices themselves. +* PIPE_PRIMITIVE_QUAD, PIPE_PRIMITIVE_QUAD_STRIP: This option has no effect. +* PIPE_PRIMITIVE_TRIANGLE_FAN: When set, the provoking vertex is the second + vertex, not the first. This permits each segment of the fan to have a + different color. -- cgit v1.2.3 From a524aab8ae356b3ef35392fa7375a862ed3322dc Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Sun, 20 Dec 2009 19:41:50 -0800 Subject: Moar docs, mostly context. --- src/gallium/docs/source/context.rst | 73 +++++++++++++++++++++++++++++- src/gallium/docs/source/cso/blend.rst | 2 + src/gallium/docs/source/cso/dsa.rst | 2 + src/gallium/docs/source/cso/rasterizer.rst | 2 + src/gallium/docs/source/cso/sampler.rst | 2 + src/gallium/docs/source/cso/shader.rst | 2 + src/gallium/docs/source/screen.rst | 32 ++++++++++++- 7 files changed, 113 insertions(+), 2 deletions(-) (limited to 'src/gallium/docs/source/cso/rasterizer.rst') diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst index c2e23a1310..6470e8fd49 100644 --- a/src/gallium/docs/source/context.rst +++ b/src/gallium/docs/source/context.rst @@ -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. diff --git a/src/gallium/docs/source/cso/blend.rst b/src/gallium/docs/source/cso/blend.rst index 608f36999b..fd9e4a1e2d 100644 --- a/src/gallium/docs/source/cso/blend.rst +++ b/src/gallium/docs/source/cso/blend.rst @@ -1,3 +1,5 @@ +.. _blend: + Blend ===== diff --git a/src/gallium/docs/source/cso/dsa.rst b/src/gallium/docs/source/cso/dsa.rst index 0be7af5029..12abaa9d6f 100644 --- a/src/gallium/docs/source/cso/dsa.rst +++ b/src/gallium/docs/source/cso/dsa.rst @@ -1,3 +1,5 @@ +.. _depth,stencil,&alpha: + Depth, Stencil, & Alpha ======================= diff --git a/src/gallium/docs/source/cso/rasterizer.rst b/src/gallium/docs/source/cso/rasterizer.rst index b87d121db3..0686bffa1e 100644 --- a/src/gallium/docs/source/cso/rasterizer.rst +++ b/src/gallium/docs/source/cso/rasterizer.rst @@ -1,3 +1,5 @@ +.. _rasterizer: + Rasterizer ========== diff --git a/src/gallium/docs/source/cso/sampler.rst b/src/gallium/docs/source/cso/sampler.rst index 3a63ac637b..e3f1757f57 100644 --- a/src/gallium/docs/source/cso/sampler.rst +++ b/src/gallium/docs/source/cso/sampler.rst @@ -1,3 +1,5 @@ +.. _sampler: + Sampler ======= diff --git a/src/gallium/docs/source/cso/shader.rst b/src/gallium/docs/source/cso/shader.rst index 9e1cb35be0..0ee42c8787 100644 --- a/src/gallium/docs/source/cso/shader.rst +++ b/src/gallium/docs/source/cso/shader.rst @@ -1,3 +1,5 @@ +.. _shader: + Shader ====== diff --git a/src/gallium/docs/source/screen.rst b/src/gallium/docs/source/screen.rst index 1877718e3d..9631e6967e 100644 --- a/src/gallium/docs/source/screen.rst +++ b/src/gallium/docs/source/screen.rst @@ -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. -- cgit v1.2.3 From 9ddeab48c85d45b7b7cc781dcf566e0767c84ba5 Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Sun, 20 Dec 2009 20:37:40 -0800 Subject: More docs. Glossary. --- .../docs/build/html/_sources/cso/rasterizer.txt | 17 ++-- src/gallium/docs/build/html/_sources/glossary.txt | 10 ++ src/gallium/docs/build/html/_sources/index.txt | 1 + src/gallium/docs/build/html/cso/rasterizer.html | 17 ++-- src/gallium/docs/build/html/cso/shader.html | 10 ++ src/gallium/docs/build/html/genindex.html | 9 +- src/gallium/docs/build/html/glossary.html | 102 +++++++++++++++++++++ src/gallium/docs/build/html/index.html | 1 + src/gallium/docs/build/html/searchindex.js | 2 +- src/gallium/docs/source/conf.py | 3 + src/gallium/docs/source/cso/rasterizer.rst | 17 ++-- src/gallium/docs/source/glossary.rst | 10 ++ src/gallium/docs/source/index.rst | 1 + 13 files changed, 174 insertions(+), 26 deletions(-) create mode 100644 src/gallium/docs/build/html/_sources/glossary.txt create mode 100644 src/gallium/docs/build/html/glossary.html create mode 100644 src/gallium/docs/source/glossary.rst (limited to 'src/gallium/docs/source/cso/rasterizer.rst') diff --git a/src/gallium/docs/build/html/_sources/cso/rasterizer.txt b/src/gallium/docs/build/html/_sources/cso/rasterizer.txt index 0686bffa1e..afb58ea375 100644 --- a/src/gallium/docs/build/html/_sources/cso/rasterizer.txt +++ b/src/gallium/docs/build/html/_sources/cso/rasterizer.txt @@ -29,7 +29,7 @@ point_sprite point_size_per_vertex Whether vertices have a point size element. multisample - Whether MSAA is enabled. + Whether :ref:`MSAA` is enabled. line_smooth Whether lines should be smoothed. Line smoothing is simply anti-aliasing. line_stipple_enable @@ -77,10 +77,11 @@ flatshade_first There are several important exceptions to the specification of this rule. -* PIPE_PRIMITIVE_POLYGON: The provoking vertex is always the first vertex. - If the caller wishes to change the provoking vertex, they merely need to - rotate the vertices themselves. -* PIPE_PRIMITIVE_QUAD, PIPE_PRIMITIVE_QUAD_STRIP: This option has no effect. -* PIPE_PRIMITIVE_TRIANGLE_FAN: When set, the provoking vertex is the second - vertex, not the first. This permits each segment of the fan to have a - different color. +* ``PIPE_PRIMITIVE_POLYGON``: The provoking vertex is always the first + vertex. If the caller wishes to change the provoking vertex, they merely + need to rotate the vertices themselves. +* ``PIPE_PRIMITIVE_QUAD``, ``PIPE_PRIMITIVE_QUAD_STRIP``: This option has no + effect; the provoking vertex is always the last vertex. +* ``PIPE_PRIMITIVE_TRIANGLE_FAN``: When set, the provoking vertex is the + second vertex, not the first. This permits each segment of the fan to have + a different color. diff --git a/src/gallium/docs/build/html/_sources/glossary.txt b/src/gallium/docs/build/html/_sources/glossary.txt new file mode 100644 index 0000000000..6a9110ce78 --- /dev/null +++ b/src/gallium/docs/build/html/_sources/glossary.txt @@ -0,0 +1,10 @@ +Glossary +======== + +.. glossary:: + :sorted: + + MSAA + Multi-Sampled Anti-Aliasing. A basic anti-aliasing technique that takes + multiple samples of the depth buffer, and uses this information to + smooth the edges of polygons. diff --git a/src/gallium/docs/build/html/_sources/index.txt b/src/gallium/docs/build/html/_sources/index.txt index e1b04e6453..1800bbed47 100644 --- a/src/gallium/docs/build/html/_sources/index.txt +++ b/src/gallium/docs/build/html/_sources/index.txt @@ -16,6 +16,7 @@ Contents: screen context cso + glossary Indices and tables ================== diff --git a/src/gallium/docs/build/html/cso/rasterizer.html b/src/gallium/docs/build/html/cso/rasterizer.html index 7a97214d40..51980953dd 100644 --- a/src/gallium/docs/build/html/cso/rasterizer.html +++ b/src/gallium/docs/build/html/cso/rasterizer.html @@ -73,7 +73,7 @@ points into circles or ovals.
point_size_per_vertex
Whether vertices have a point size element.
multisample
-
Whether MSAA is enabled.
+
Whether MSAA is enabled.
line_smooth
Whether lines should be smoothed. Line smoothing is simply anti-aliasing.
line_stipple_enable
@@ -118,13 +118,14 @@ clip away vertices that are not visible.

flatshade_first

There are several important exceptions to the specification of this rule.

    -
  • PIPE_PRIMITIVE_POLYGON: The provoking vertex is always the first vertex. -If the caller wishes to change the provoking vertex, they merely need to -rotate the vertices themselves.
  • -
  • PIPE_PRIMITIVE_QUAD, PIPE_PRIMITIVE_QUAD_STRIP: This option has no effect.
  • -
  • PIPE_PRIMITIVE_TRIANGLE_FAN: When set, the provoking vertex is the second -vertex, not the first. This permits each segment of the fan to have a -different color.
  • +
  • PIPE_PRIMITIVE_POLYGON: The provoking vertex is always the first +vertex. If the caller wishes to change the provoking vertex, they merely +need to rotate the vertices themselves.
  • +
  • PIPE_PRIMITIVE_QUAD, PIPE_PRIMITIVE_QUAD_STRIP: This option has no +effect; the provoking vertex is always the last vertex.
  • +
  • PIPE_PRIMITIVE_TRIANGLE_FAN: When set, the provoking vertex is the +second vertex, not the first. This permits each segment of the fan to have +a different color.
diff --git a/src/gallium/docs/build/html/cso/shader.html b/src/gallium/docs/build/html/cso/shader.html index fead11d377..9eebf1326c 100644 --- a/src/gallium/docs/build/html/cso/shader.html +++ b/src/gallium/docs/build/html/cso/shader.html @@ -21,6 +21,7 @@ + @@ -30,6 +31,9 @@
  • index
  • +
  • + next |
  • previous |
  • @@ -72,6 +76,9 @@

    Previous topic

    Sampler

    +

    Next topic

    +

    Glossary

    This Page

    • index
    • +
    • + next |
    • previous |
    • diff --git a/src/gallium/docs/build/html/genindex.html b/src/gallium/docs/build/html/genindex.html index 72a619dc81..635601eb74 100644 --- a/src/gallium/docs/build/html/genindex.html +++ b/src/gallium/docs/build/html/genindex.html @@ -40,11 +40,18 @@

      Index

      - + M
      +

      M

      +
      +
      + +
      MSAA
      +
      + diff --git a/src/gallium/docs/build/html/glossary.html b/src/gallium/docs/build/html/glossary.html new file mode 100644 index 0000000000..573c12eb78 --- /dev/null +++ b/src/gallium/docs/build/html/glossary.html @@ -0,0 +1,102 @@ + + + + + + + Glossary — Gallium v0.3 documentation + + + + + + + + + + + +
      +
      +
      +
      + +
      +

      Glossary

      +
      +
      MSAA
      +
      Multi-Sampled Anti-Aliasing. A basic anti-aliasing technique that takes +multiple samples of the depth buffer, and uses this information to +smooth the edges of polygons.
      +
      +
      + + +
      +
      +
      +
      +
      +

      Previous topic

      +

      Shader

      +

      This Page

      + + + +
      +
      +
      +
      + + + + \ No newline at end of file diff --git a/src/gallium/docs/build/html/index.html b/src/gallium/docs/build/html/index.html index 27db8d6f3c..2001ba542b 100644 --- a/src/gallium/docs/build/html/index.html +++ b/src/gallium/docs/build/html/index.html @@ -66,6 +66,7 @@
    • Shader
    +
  • Glossary
  • diff --git a/src/gallium/docs/build/html/searchindex.js b/src/gallium/docs/build/html/searchindex.js index 2222a1ddee..08f2b406f8 100644 --- a/src/gallium/docs/build/html/searchindex.js +++ b/src/gallium/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({desctypes:{},terms:{represent:3,all:[3,8,10],queri:8,four:9,per:4,abil:8,follow:8,depend:[4,8],intermedi:3,sourc:8,straightforward:6,set_vertex_el:8,fan:4,level:9,list:5,emul:8,prefilt:9,small:8,dimens:9,impli:4,second:[4,10],pass:[1,10],light_twosid:4,zfail_op:10,index:0,what:[0,6,7],sprite_coord_mod:4,section:8,access:8,delet:8,rgba:[8,9],method:[0,2,8],themselv:4,inher:3,vertic:4,sinc:3,valu:[8,10],line_stipple_factor:4,search:0,vbo:8,shader:[0,1,3,5,4,8,10],permit:[4,8],weird:9,gourard:4,primit:4,modul:0,textur:[2,9],"boolean":2,visibl:4,oval:4,select:9,encapsul:6,gl_rasterization_rul:4,from:[4,9],describ:3,two:[5,8,10],call:8,get_paramf:2,type:5,desir:1,get_nam:2,raster:[0,1,4,8],pipe_primitive_quad:4,flag:4,templat:2,fill_ccw:4,point_size_min:4,poly_smooth:4,graphic:[3,6],retriev:8,setup:2,work:1,obvious:4,can:[1,2,8],control:[10,7,4,8,9],create_blend_st:8,indic:0,minimum:[4,9],alwai:[10,4,9],cso:[0,1,8],anoth:8,write:[6,10],how:[4,9],flatshad:[1,4],simpl:8,after:9,point_size_per_vertex:4,set_constant_buff:8,mai:[4,8],fail_op:10,pipe_stencil_op:10,principl:1,essenti:6,opaqu:1,element:4,perform:8,valuemask:10,order:10,rotat:4,through:[4,10],still:4,paramet:2,group:8,directli:8,bypass:4,main:4,pixel:4,non:8,"return":[1,2],thei:[1,10,4,8,9],handl:[1,8],initi:8,get_vendor:2,line_smooth:4,cull_mod:4,introduct:[0,6],name:[2,8],token:5,each:[4,9],side:10,doxi:9,offset_ccw:4,clamp:9,chunk:4,special:8,out:[1,10,9],variabl:8,content:0,hardwar:[6,4,10],got:2,offset_cw:4,given:2,compare_func:9,begin_queri:8,"_rasterizer_st":8,reusabl:1,filter:9,turn:4,get_param:2,clump:10,first:4,oper:[8,10],rang:9,max_lod:9,render:[7,8],carri:10,independ:2,instruct:3,done:10,size:4,differ:4,stencil:[0,1,8,10],too:8,circl:4,scheme:8,moar:[2,4],store:10,min_img_filt:9,option:[4,9],pipe_tex_filt:9,mipmap:9,create_queri:8,part:[1,3,2],line_stipple_en:4,target:7,provid:[6,8],see:2,structur:10,"final":[7,8],stippl:4,bind:8,result:[7,8],pre:4,fashion:6,clip:4,ani:1,"_blend_stat":8,bitfield:4,max_anisotropi:9,blit:8,have:[10,4,8,9],tabl:0,need:4,"null":8,unresolv:7,alias:4,destroi:8,fill_cw:4,note:[1,4],set_viewport_st:8,pipe_func:10,pipelin:[4,8],shade:4,normal:9,buffer:[7,8,10],object:[1,6,2,8],most:[4,8],specifi:[4,8],alpha:[0,1,8,10],pipe_primitive_polygon:4,segment:4,tradit:9,clear:8,tgsi:[0,3],determin:4,blend:[0,1,7,8],end_queri:8,destroy_blend_st:8,wrap_:9,trivial:8,onli:3,front_wind:4,point_sprit:4,should:[7,4],get:2,set_scissor_st:8,stop:8,tungsten:3,tgsi_token:5,set_fragment_sampler_textur:8,enabl:[4,8,10],draw_el:8,pipe_primitive_triangle_fan:4,anisotrop:9,set:[4,8,9],set_framebuffer_st:8,bind_blend_st:8,msaa:4,wrap_t:9,wrap_r:9,fail:10,purest:8,pattern:4,state:[1,4,7,8,9,10],"import":[3,4],awai:4,triplet:8,screen:[0,2],min_mip_filt:9,entir:[4,8],lod_bia:9,both:[8,10],last:4,region:8,"_fs_state":8,min_lod:9,context:[0,1,2,8],line_last_pixel:4,mani:9,destroy_queri:8,load:9,undocu:[7,4,9],point:[2,4],color:[4,9],anti:4,provok:4,devic:[2,6,8],three:10,been:10,get_query_result:8,treat:9,sprite:4,normalized_coord:9,sampler:[0,1,8,9],coordin:9,minifi:9,togeth:10,func:10,present:8,servic:6,properti:1,rectangular:4,behavior:7,manner:[2,6],set_edgeflag:8,destin:8,"_vs_state":8,sever:[6,4],set_blend_color:8,surface_fil:8,welcom:0,bind_fragment_sampler_st:8,receiv:10,same:8,member:[1,5,4,7,9,10],fragment:[7,4,8,10],compare_mod:9,zpass_op:10,document:[0,10],finish:8,driver:[3,6],effect:[1,4,9],refin:9,tradition:10,multisampl:4,off:[7,4],center:4,surface_copi:8,scissor:4,exampl:8,poly_stipple_en:4,thi:[7,4,9],interpol:4,set_clip_st:8,dimension:9,usual:4,identifi:2,execut:10,tcl:4,simpli:4,languag:3,expos:9,except:4,appli:9,bypass_vs_clip_and_viewport:[1,4],pipe_tex_wrap:9,vendor:2,which:[1,6],format:[2,8],agnost:6,piec:8,bia:9,magnifi:9,amp:10,bit:4,specif:[1,2,8,4],integ:2,point_siz:4,api:[1,3,6,9],either:8,page:0,mag_img_filt:9,pipe_primitive_quad_strip:4,draw_range_el:8,some:9,blend_en:7,sampl:9,flush:8,guarante:8,bore:2,ref_valu:10,overlap:8,point_smooth:4,larg:6,unit:9,refer:[10,9],core:[1,6],run:4,border_color:9,"_depth_stencil_alpha_st":8,offset_unit:4,writemask:10,actual:[4,10],gallium:[0,1,3,6,5],bind_vertex_sampler_st:8,set_vertex_buff:8,discard:10,disabl:9,"float":2,bound:[1,8,9],wrap:9,chang:4,mere:4,flatshade_first:[1,4],lod:9,support:5,transform:4,avail:8,width:4,set_polygon_stippl:8,individu:9,"function":10,back:2,set_vertex_sampler_textur:8,point_size_max:4,line:4,viewport:4,notat:9,draw_arrai:8,whether:[10,4,9],wish:4,caller:4,smooth:4,maximum:[4,9],line_stipple_pattern:4,offset_scal:4,constant:1,creat:[1,2,8],classic:8,certain:10,dure:10,repres:[2,8],implement:4,fill:[1,8],polygon:4,when:[4,8,9],detail:9,test:[4,10],draw:8,xxx:[2,10,7,4,9],texel:9,is_format_support:2,vertex:[4,8],surfac:8,blitter:8,algorithm:4,rule:4,depth:[0,1,8,10],time:1,line_width:4,texture_cr:2},titles:["Welcome to Gallium’s documentation!","CSO","Screen","TGSI","Rasterizer","Shader","Introduction","Blend","Context","Sampler","Depth, Stencil, & Alpha"],modules:{},descrefs:{},filenames:["index","cso","screen","tgsi","cso/rasterizer","cso/shader","intro","cso/blend","context","cso/sampler","cso/dsa"]}) \ No newline at end of file +Search.setIndex({desctypes:{},terms:{represent:4,all:[4,9,11],edg:2,queri:9,four:10,per:5,abil:9,follow:9,depend:[5,9],intermedi:4,sourc:9,straightforward:7,set_vertex_el:9,fan:5,level:10,list:6,emul:9,prefilt:10,small:9,dimens:10,impli:5,second:[5,11],pass:[1,11],light_twosid:5,zfail_op:11,index:0,what:[0,7,8],sprite_coord_mod:5,section:9,access:9,delet:9,rgba:[9,10],method:[0,3,9],themselv:5,inher:4,vertic:5,sinc:4,valu:[9,11],line_stipple_factor:5,search:0,vbo:9,shader:[0,1,4,5,6,9,11],permit:[5,9],chang:5,gourard:5,primit:5,modul:0,"boolean":3,visibl:5,oval:5,unit:10,encapsul:7,gl_rasterization_rul:5,from:[5,10],offset_unit:5,two:[6,9,11],call:9,get_paramf:3,type:6,desir:1,get_nam:3,raster:[0,1,5,9],pipe_primitive_quad:5,flag:5,templat:3,fill_ccw:5,point_size_min:5,poly_smooth:5,graphic:[4,7],retriev:9,setup:3,work:1,obvious:5,can:[1,3,9],control:[11,8,5,9,10],create_blend_st:9,indic:0,minimum:[5,10],alwai:[11,5,10],point_size_per_vertex:5,multipl:2,anoth:9,write:[7,11],how:[5,10],flatshad:[1,5],simpl:9,after:10,cso:[0,1,9],set_constant_buff:9,mai:[5,9],fail_op:11,pipe_stencil_op:11,principl:1,essenti:7,bind:9,element:5,inform:2,valuemask:11,order:11,rotat:5,through:[5,11],still:5,paramet:3,group:9,directli:9,bypass:5,main:5,pixel:5,non:9,"return":[1,3],thei:[1,11,5,9,10],fragment:[8,5,9,11],initi:9,get_vendor:3,line_smooth:5,cull_mod:5,introduct:[0,7],name:[3,9],token:6,each:[5,10],side:11,doxi:10,offset_ccw:5,clamp:10,chunk:5,special:9,out:[1,11,10],variabl:9,content:0,hardwar:[7,5,11],got:3,offset_cw:5,given:3,compare_func:10,begin_queri:9,"_rasterizer_st":9,reusabl:1,filter:10,turn:5,get_param:3,clump:11,first:5,oper:[9,11],rang:10,max_lod:10,render:[8,9],carri:11,independ:3,instruct:4,done:11,size:5,differ:5,stencil:[0,1,9,11],tradition:11,too:9,circl:5,scheme:9,moar:[3,5],store:11,min_img_filt:10,option:[5,10],pipe_tex_filt:10,specifi:[5,9],create_queri:9,part:[1,4,3],line_stipple_en:5,target:8,provid:[7,9],see:3,structur:11,texel:10,stippl:5,opaqu:1,result:[8,9],pre:5,fashion:7,clip:5,ani:1,"_blend_stat":9,bitfield:5,max_anisotropi:10,manner:[3,7],have:[11,5,9,10],tabl:0,need:5,"null":9,techniqu:2,unresolv:8,alias:[2,5],destroi:9,fill_cw:5,note:[1,5],take:2,set_viewport_st:9,pipe_func:11,pipelin:[5,9],shade:5,normal:10,buffer:[2,8,9,11],object:[1,7,3,9],most:[5,9],mipmap:10,alpha:[0,1,9,11],pipe_primitive_polygon:5,segment:5,tradit:10,clear:9,tgsi:[0,4],determin:5,blend:[0,1,8,9],end_queri:9,destroy_blend_st:9,wrap_:10,trivial:9,onli:4,front_wind:5,point_sprit:5,should:[8,5],get:3,set_scissor_st:9,stop:9,tungsten:4,tgsi_token:6,set_fragment_sampler_textur:9,enabl:[5,9,11],draw_el:9,pipe_primitive_triangle_fan:5,anisotrop:10,set:[5,9,10],set_framebuffer_st:9,smooth:[2,5],msaa:[2,5],wrap_t:10,wrap_r:10,fail:11,purest:9,pattern:5,state:[1,5,8,9,10,11],"import":[4,5],awai:5,triplet:9,screen:[0,3],min_mip_filt:10,entir:[5,9],lod_bia:10,both:[9,11],last:5,region:9,"_fs_state":9,min_lod:10,context:[0,1,3,9],line_last_pixel:5,mani:10,destroy_queri:9,load:10,undocu:[8,5,10],point:[3,5],color:[5,10],anti:[2,5],provok:5,devic:[3,7,9],three:11,been:11,get_query_result:9,treat:10,basic:2,sprite:5,normalized_coord:10,xxx:[3,11,8,5,10],coordin:10,minifi:10,togeth:11,func:11,present:9,multi:2,servic:7,properti:1,rectangular:5,behavior:8,glossari:[2,0],blit:9,set_edgeflag:9,destin:9,"_vs_state":9,sever:[7,5],set_blend_color:9,surface_fil:9,welcom:0,bind_fragment_sampler_st:9,perform:9,same:9,member:[1,5,6,8,10,11],handl:[1,9],compare_mod:10,zpass_op:11,document:[0,11],finish:9,driver:[4,7],effect:[1,5,10],refin:10,weird:10,multisampl:5,off:[8,5],center:5,surface_copi:9,scissor:5,exampl:9,poly_stipple_en:5,thi:[2,8,5,10],interpol:5,set_clip_st:9,dimension:10,usual:5,identifi:3,execut:11,tcl:5,simpli:5,languag:4,expos:10,except:5,sampler:[0,1,9,10],bypass_vs_clip_and_viewport:[1,5],pipe_tex_wrap:10,vendor:3,which:[1,7],format:[3,9],agnost:7,piec:9,bia:10,magnifi:10,amp:11,bit:5,specif:[1,3,9,5],integ:3,point_siz:5,api:[1,4,7,10],either:9,page:0,mag_img_filt:10,pipe_primitive_quad_strip:5,draw_range_el:9,some:10,back:3,sampl:[2,10],flush:9,guarante:9,bore:3,textur:[3,10],overlap:9,point_smooth:5,larg:7,select:10,refer:[11,10],core:[1,7],run:5,border_color:10,"_depth_stencil_alpha_st":9,appli:10,describ:4,writemask:11,actual:[5,11],gallium:[0,1,4,7,6],bind_vertex_sampler_st:9,set_vertex_buff:9,discard:11,disabl:10,"final":[8,9],"float":3,bound:[1,9,10],wrap:10,mere:5,flatshade_first:[1,5],lod:10,support:6,transform:5,avail:9,width:5,set_polygon_stippl:9,individu:10,"function":11,blend_en:8,set_vertex_sampler_textur:9,point_size_max:5,line:5,viewport:5,notat:10,draw_arrai:9,whether:[11,5,10],wish:5,caller:5,bind_blend_st:9,maximum:[5,10],line_stipple_pattern:5,offset_scal:5,constant:1,creat:[1,3,9],classic:9,certain:11,dure:11,repres:[3,9],implement:5,fill:[1,9],polygon:[2,5],when:[5,9,10],detail:10,test:[5,11],ref_valu:11,draw:9,is_format_support:3,vertex:[5,9],surfac:9,receiv:11,blitter:9,algorithm:5,rule:5,depth:[2,0,1,9,11],time:1,line_width:5,texture_cr:3},titles:["Welcome to Gallium’s documentation!","CSO","Glossary","Screen","TGSI","Rasterizer","Shader","Introduction","Blend","Context","Sampler","Depth, Stencil, & Alpha"],modules:{},descrefs:{},filenames:["index","cso","glossary","screen","tgsi","cso/rasterizer","cso/shader","intro","cso/blend","context","cso/sampler","cso/dsa"]}) \ No newline at end of file diff --git a/src/gallium/docs/source/conf.py b/src/gallium/docs/source/conf.py index 7ff4896a91..2b974b727c 100644 --- a/src/gallium/docs/source/conf.py +++ b/src/gallium/docs/source/conf.py @@ -83,6 +83,9 @@ exclude_trees = [] # The name of the Pygments (syntax highlighting) style to use. pygments_style = 'sphinx' +# The language for highlighting source code. +highlight_language = 'c' + # A list of ignored prefixes for module index sorting. #modindex_common_prefix = [] diff --git a/src/gallium/docs/source/cso/rasterizer.rst b/src/gallium/docs/source/cso/rasterizer.rst index 0686bffa1e..afb58ea375 100644 --- a/src/gallium/docs/source/cso/rasterizer.rst +++ b/src/gallium/docs/source/cso/rasterizer.rst @@ -29,7 +29,7 @@ point_sprite point_size_per_vertex Whether vertices have a point size element. multisample - Whether MSAA is enabled. + Whether :ref:`MSAA` is enabled. line_smooth Whether lines should be smoothed. Line smoothing is simply anti-aliasing. line_stipple_enable @@ -77,10 +77,11 @@ flatshade_first There are several important exceptions to the specification of this rule. -* PIPE_PRIMITIVE_POLYGON: The provoking vertex is always the first vertex. - If the caller wishes to change the provoking vertex, they merely need to - rotate the vertices themselves. -* PIPE_PRIMITIVE_QUAD, PIPE_PRIMITIVE_QUAD_STRIP: This option has no effect. -* PIPE_PRIMITIVE_TRIANGLE_FAN: When set, the provoking vertex is the second - vertex, not the first. This permits each segment of the fan to have a - different color. +* ``PIPE_PRIMITIVE_POLYGON``: The provoking vertex is always the first + vertex. If the caller wishes to change the provoking vertex, they merely + need to rotate the vertices themselves. +* ``PIPE_PRIMITIVE_QUAD``, ``PIPE_PRIMITIVE_QUAD_STRIP``: This option has no + effect; the provoking vertex is always the last vertex. +* ``PIPE_PRIMITIVE_TRIANGLE_FAN``: When set, the provoking vertex is the + second vertex, not the first. This permits each segment of the fan to have + a different color. diff --git a/src/gallium/docs/source/glossary.rst b/src/gallium/docs/source/glossary.rst new file mode 100644 index 0000000000..6a9110ce78 --- /dev/null +++ b/src/gallium/docs/source/glossary.rst @@ -0,0 +1,10 @@ +Glossary +======== + +.. glossary:: + :sorted: + + MSAA + Multi-Sampled Anti-Aliasing. A basic anti-aliasing technique that takes + multiple samples of the depth buffer, and uses this information to + smooth the edges of polygons. diff --git a/src/gallium/docs/source/index.rst b/src/gallium/docs/source/index.rst index e1b04e6453..1800bbed47 100644 --- a/src/gallium/docs/source/index.rst +++ b/src/gallium/docs/source/index.rst @@ -16,6 +16,7 @@ Contents: screen context cso + glossary Indices and tables ================== -- cgit v1.2.3