From 0a663bb4dbfd8389fd659184cfa4007b268fb140 Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Tue, 27 Jul 2010 16:34:57 -0700 Subject: gallium/docs: Fix VMware spelling. --- src/gallium/docs/source/distro.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gallium/docs/source') diff --git a/src/gallium/docs/source/distro.rst b/src/gallium/docs/source/distro.rst index 6ba5a056f4..e379ad3271 100644 --- a/src/gallium/docs/source/distro.rst +++ b/src/gallium/docs/source/distro.rst @@ -51,10 +51,10 @@ nVidia nv50 Driver for the nVidia nv50 family of GPUs. -VMWare SVGA +VMware SVGA ^^^^^^^^^^^ -Driver for VMWare virtualized guest operating system graphics processing. +Driver for VMware virtualized guest operating system graphics processing. ATI r300 ^^^^^^^^ -- cgit v1.2.3 From 8bae190f18dfa91cd60d91d91169503c3addb11f Mon Sep 17 00:00:00 2001 From: Vinson Lee Date: Wed, 28 Jul 2010 01:09:40 -0700 Subject: gallium/docs: Fix VMware spelling. --- src/gallium/docs/source/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/gallium/docs/source') diff --git a/src/gallium/docs/source/conf.py b/src/gallium/docs/source/conf.py index ccc84405c4..99e665234e 100644 --- a/src/gallium/docs/source/conf.py +++ b/src/gallium/docs/source/conf.py @@ -38,7 +38,7 @@ master_doc = 'index' # General information about the project. project = u'Gallium' -copyright = u'2009, VMWare, X.org, Nouveau' +copyright = u'2009, VMware, X.org, Nouveau' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -176,7 +176,7 @@ htmlhelp_basename = 'Galliumdoc' # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ ('index', 'Gallium.tex', u'Gallium Documentation', - u'VMWare, X.org, Nouveau', 'manual'), + u'VMware, X.org, Nouveau', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of -- cgit v1.2.3 From e7f69c459af3274b9d1435c06a15b14eb40e4cc5 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Sat, 17 Jul 2010 22:00:04 +0800 Subject: gallium/docs: Document draw_vbo and set_index_buffer. Document the new unified drawing method and remove references to old ones. --- src/gallium/docs/d3d11ddi.txt | 30 ++++++++------------ src/gallium/docs/source/context.rst | 55 +++++++++++-------------------------- 2 files changed, 27 insertions(+), 58 deletions(-) (limited to 'src/gallium/docs/source') diff --git a/src/gallium/docs/d3d11ddi.txt b/src/gallium/docs/d3d11ddi.txt index 0954c2926d..f8155c828b 100644 --- a/src/gallium/docs/d3d11ddi.txt +++ b/src/gallium/docs/d3d11ddi.txt @@ -66,9 +66,6 @@ Unordered access view: view supporting random read/write access (usually from co clear + Gallium supports clearing both render targets and depth/stencil with a single call -draw_range_elements - + Gallium supports indexed draw with explicit range - fence_signalled fence_finish + D3D10/D3D11 don't appear to support explicit fencing; queries can often substitute though, and flushing is supported @@ -271,31 +268,27 @@ Dispatch (D3D11 only) DispatchIndirect (D3D11 only) - Gallium does not support compute shaders -Draw -> draw_arrays +Draw -> draw_vbo ! D3D11 sets primitive modes separately with IaSetTopology: it's not obvious which is better DrawAuto -> draw_auto -DrawIndexed -> draw_elements +DrawIndexed -> draw_vbo ! D3D11 sets primitive modes separately with IaSetTopology: it's not obvious which is better - * may want to add a separate set_index_buffer - - Gallium lacks base vertex for indexed draw calls - + D3D11 lacks draw_range_elements functionality, which is required for OpenGL + + D3D11 lacks explicit range, which is required for OpenGL -DrawIndexedInstanced -> draw_elements_instanced +DrawIndexedInstanced -> draw_vbo ! D3D11 sets primitive modes separately with IaSetTopology: it's not obvious which is better - * may want to add a separate set_index_buffer - - Gallium lacks base vertex for indexed draw calls -DrawIndexedInstancedIndirect (D3D11 only) -> call draw_elements_instanced multiple times in software - # this allows to use an hardware buffer to specify the parameters for multiple draw_elements_instanced calls +DrawIndexedInstancedIndirect (D3D11 only) + # this allows to use an hardware buffer to specify the parameters for multiple draw_vbo calls - Gallium does not support draw call parameter buffers and indirect draw -DrawInstanced -> draw_arrays_instanced +DrawInstanced -> draw_vbo ! D3D11 sets primitive modes separately with IaSetTopology: it's not obvious which is better -DrawInstancedIndirect (D3D11 only) -> call draw_arrays_instanced multiple times in software - # this allows to use an hardware buffer to specify the parameters for multiple draw_arrays_instanced calls +DrawInstancedIndirect (D3D11 only) + # this allows to use an hardware buffer to specify the parameters for multiple draw_vbo calls - Gallium does not support draw call parameter buffers and indirect draws DsSetConstantBuffers (D3D11 only) @@ -332,10 +325,9 @@ HsSetShaderResources (D3D11 only) HsSetShaderWithIfaces (D3D11 only) - Gallium does not support hull shaders -IaSetIndexBuffer - ! Gallium passes this to the draw_elements or draw_elements_instanced calls +IaSetIndexBuffer -> set_index_buffer + Gallium supports 8-bit indices - ! the D3D11 interface allows index-size-unaligned byte offsets into index buffers; it's not clear whether they actually work + # the D3D11 interface allows index-size-unaligned byte offsets into the index buffer; most drivers will abort with an assertion IaSetInputLayout -> bind_vertex_elements_state diff --git a/src/gallium/docs/source/context.rst b/src/gallium/docs/source/context.rst index 4e35a4c408..f241411a00 100644 --- a/src/gallium/docs/source/context.rst +++ b/src/gallium/docs/source/context.rst @@ -45,6 +45,7 @@ buffers, surfaces) are bound to the driver. * ``set_vertex_buffers`` +* ``set_index_buffer`` Non-CSO State ^^^^^^^^^^^^^ @@ -132,50 +133,26 @@ this surface need not be bound to the framebuffer. Drawing ^^^^^^^ -``draw_arrays`` draws a specified primitive. +``draw_vbo`` draws a specified primitive. The primitive mode and other +properties are described by ``pipe_draw_info``. -This command is equivalent to calling ``draw_arrays_instanced`` -with ``startInstance`` set to 0 and ``instanceCount`` set to 1. +The ``mode``, ``start``, and ``count`` fields of ``pipe_draw_info`` specify the +the mode of the primitive and the vertices to be fetched, in the range between +``start`` to ``start``+``count``-1, inclusive. -``draw_elements`` draws a specified primitive using an optional -index buffer. +Every instance with instanceID in the range between ``start_instance`` and +``start_instance``+``instance_count``-1, inclusive, will be drawn. -This command is equivalent to calling ``draw_elements_instanced`` -with ``startInstance`` set to 0 and ``instanceCount`` set to 1. +All vertex indices must fall inside the range given by ``min_index`` and +``max_index``. In case non-indexed draw, ``min_index`` should be set to +``start`` and ``max_index`` should be set to ``start``+``count``-1. -``draw_range_elements`` +``index_bias`` is a value added to every vertex index before fetching vertex +attributes. It does not affect ``min_index`` and ``max_index``. -XXX: this is (probably) a temporary entrypoint, as the range -information should be available from the vertex_buffer state. -Using this to quickly evaluate a specialized path in the draw -module. - -``draw_arrays_instanced`` draws multiple instances of the same primitive. - -This command is equivalent to calling ``draw_elements_instanced`` -with ``indexBuffer`` set to NULL and ``indexSize`` set to 0. - -``draw_elements_instanced`` draws multiple instances of the same primitive -using an optional index buffer. - -For instanceID in the range between ``startInstance`` -and ``startInstance``+``instanceCount``-1, inclusive, draw a primitive -specified by ``mode`` and sequential numbers in the range between ``start`` -and ``start``+``count``-1, inclusive. - -If ``indexBuffer`` is not NULL, it specifies an index buffer with index -byte size of ``indexSize``. The sequential numbers are used to lookup -the index buffer and the resulting indices in turn are used to fetch -vertex attributes. - -If ``indexBuffer`` is NULL, the sequential numbers are used directly -as indices to fetch vertex attributes. - -``indexBias`` is a value which is added to every index read from the index -buffer before fetching vertex attributes. - -``minIndex`` and ``maxIndex`` describe minimum and maximum index contained in -the index buffer. +If there is an index buffer bound, and ``indexed`` field is true, all vertex +indices will be looked up in the index buffer. ``min_index``, ``max_index``, +and ``index_bias`` apply after index lookup. If a given vertex element has ``instance_divisor`` set to 0, it is said it contains per-vertex data and effective vertex attribute address needs -- cgit v1.2.3 From ccbd9ae7cc5b3fcda23fe79573e70b4fc40f3939 Mon Sep 17 00:00:00 2001 From: Keith Whitwell Date: Thu, 5 Aug 2010 10:58:02 +0100 Subject: docs: clarify point sprite discussion Plagiarizes email explanation from Roland. --- src/gallium/docs/source/cso/rasterizer.rst | 39 ++++++++++++++++++------------ 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'src/gallium/docs/source') diff --git a/src/gallium/docs/source/cso/rasterizer.rst b/src/gallium/docs/source/cso/rasterizer.rst index ad1612f93e..ee3419ccfc 100644 --- a/src/gallium/docs/source/cso/rasterizer.rst +++ b/src/gallium/docs/source/cso/rasterizer.rst @@ -126,11 +126,15 @@ sprite_coord_enable Specifies if a texture unit has its texture coordinates replaced or not. This is a packed bitfield containing the enable for all texcoords -- if all bits -are zero, point sprites are effectively disabled. If any bit is set, then -point_smooth and point_quad_rasterization are ignored; point smoothing is -disabled and points are always rasterized as quads. If enabled, the four -vertices of the resulting quad will be assigned texture coordinates, -according to sprite_coord_mode. +are zero, point sprites are effectively disabled. + +If any bit is set, then point_smooth MUST be disabled (there are no +round sprites) and point_quad_rasterization MUST be true (sprites are +always rasterized as quads). Any mismatch between these states should +be considered a bug in the state-tracker. + +If enabled, the four vertices of the resulting quad will be assigned +texture coordinates, according to sprite_coord_mode. sprite_coord_mode ^^^^^^^^^^^^^^^^^ @@ -141,20 +145,23 @@ have coordinates (0,0,0,1). For PIPE_SPRITE_COORD_UPPER_LEFT, the upper-left vertex will have coordinates (0,0,0,1). This state is used by :ref:`Draw` to generate texcoords. -.. note:: - - When geometry shaders are available, a special geometry shader could be - used instead of this functionality, to convert incoming points into quads - with the proper texture coordinates. - point_quad_rasterization ^^^^^^^^^^^^^^^^^^^^^^^^ -Determines if points should be rasterized as quads or points. Certain APIs, -like Direct3D, always use quad rasterization for points, regardless of -whether point sprites are enabled or not. If this state is enabled, point -smoothing and antialiasing are disabled. If it is disabled, point sprite -coordinates are not generated. +Determines if points should be rasterized according to quad or point +rasterization rules. + +OpenGL actually has quite different rasterization rules for points and +point sprites - hence this indicates if points should be rasterized as +points or according to point sprite (which decomposes them into quads, +basically) rules. + +Additionally Direct3D will always use quad rasterization rules for +points, regardless of whether point sprites are enabled or not. + +If this state is enabled, point smoothing and antialiasing are +disabled. If it is disabled, point sprite coordinates are not +generated. .. note:: -- cgit v1.2.3 From d62b29f567f7dd41d7abf3c931065ea54e90f48b Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Sun, 15 Aug 2010 00:59:57 +0100 Subject: gallium/docs: Add a debugging section --- src/gallium/docs/source/debugging.rst | 96 +++++++++++++++++++++++++++++++++++ src/gallium/docs/source/index.rst | 1 + 2 files changed, 97 insertions(+) create mode 100644 src/gallium/docs/source/debugging.rst (limited to 'src/gallium/docs/source') diff --git a/src/gallium/docs/source/debugging.rst b/src/gallium/docs/source/debugging.rst new file mode 100644 index 0000000000..74f51bc0ea --- /dev/null +++ b/src/gallium/docs/source/debugging.rst @@ -0,0 +1,96 @@ +Debugging +========= + +Debugging utilities in gallium. + +Debug Variables +^^^^^^^^^^^^^^^ + +All drivers respond to a couple of debug enviromental variables. Below is +a collection of them. Set them as you would any normal enviromental variable +for the platform/operating system you are running. For linux this can be +done by typing "export var=value" into a console and then running the +program from that console. + +Common +"""""" + +GALLIUM_PRINT_OPTIONS (false) + +This options controls if the debug variables should be printed to stderr. +This is probably the most usefull variable since it allows you to find +which variables a driver responds to. + +GALLIUM_RBUG (false) + +Controls if the :ref:`rbug` should be used. + +GALLIUM_TRACE ("") + +If not set tracing is not used, if set it will write the output to the file +specifed by the variable. So setting it to "trace.xml" will write the output +to the file "trace.xml". + +GALLIUM_DUMP_CPU (false) + +Dump information about the current cpu that the driver is running on. + +TGSI_PRINT_SANITY (false) + +Gallium has a inbuilt shader sanity checker, this option controls if results +from it should be printed. This include warnings such as unused variables. + +DRAW_USE_LLVM (false) + +Should the :ref:`draw` module use llvm for vertex and geometry shaders. + +ST_DEBUG (0x0) + +Debug :ref:`flags` for the GL state tracker. + + +Driver specific +""""""""""""""" + +I915_DEBUG (0x0) + +Debug :ref:`flags` for the i915 driver. + +I915_NO_HW (false) + +Stop the i915 driver from submitting commands to the hardware. + +I915_DUMP_CMD (false) + +Dump all commands going to the hardware. + +LP_DEBUG (0x0) + +Debug :ref:`flags` for the llvmpipe driver. + +LP_NUM_THREADS (num cpus) + +Number of threads that the llvmpipe driver should use. + + +.. _flags: + +Flags +""""" + +The variables of type all take a string with comma seperated +flags to enable different debugging for different parts of the drivers +or state tracker. If set to "help" the driver will print a list of flags +to which the variable can be set to. Order does not matter. + + +.. _rbug: + +Remote Debugger +^^^^^^^^^^^^^^^ + +Or rbug for short allows for runtime inspections of :ref:`Context`, +:ref:`Screen`, Resources and Shaders; pauseing and stepping of draw calls; +and runtime disable and replacement of shaders. Is used with rbug-gui which +is hosted outside of the main mesa repositor. Rbug is can be used over a +network connection so the debbuger does not need to be on the same machine. diff --git a/src/gallium/docs/source/index.rst b/src/gallium/docs/source/index.rst index 54bc883fce..6c19842dac 100644 --- a/src/gallium/docs/source/index.rst +++ b/src/gallium/docs/source/index.rst @@ -12,6 +12,7 @@ Contents: :maxdepth: 2 intro + debugging tgsi screen context -- cgit v1.2.3 From fe19935a127916ab2f1957c48ad1da652935928f Mon Sep 17 00:00:00 2001 From: Jakob Bornecrantz Date: Sun, 15 Aug 2010 00:57:18 +0100 Subject: gallium/docs: Add rbug to distribution --- src/gallium/docs/source/distro.rst | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/gallium/docs/source') diff --git a/src/gallium/docs/source/distro.rst b/src/gallium/docs/source/distro.rst index e379ad3271..70d75b51e6 100644 --- a/src/gallium/docs/source/distro.rst +++ b/src/gallium/docs/source/distro.rst @@ -74,6 +74,11 @@ Trace Wrapper driver. Trace dumps an XML record of the calls made to the :ref:`Context` and :ref:`Screen` objects that it wraps. +Rbug +^^^^ + +Wrapper driver. :ref:`rbug` driver used with stand alone rbug-gui. + State Trackers -------------- -- cgit v1.2.3 From bf357aedffd659e43ef9ceefa875c08991a5f46d Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Sun, 15 Aug 2010 03:05:18 -0700 Subject: gallium/docs: Add formatting for envvar role; change debugging. Per Jakob's request. Not super-pretty, but it's a good point for modding later. --- src/gallium/docs/source/conf.py | 2 +- src/gallium/docs/source/debugging.rst | 24 +++++++++++------------ src/gallium/docs/source/exts/formatting.py | 31 ++++++++++++++++++++++++++++++ src/gallium/docs/source/exts/tgsi.py | 17 ---------------- 4 files changed, 44 insertions(+), 30 deletions(-) create mode 100644 src/gallium/docs/source/exts/formatting.py delete mode 100644 src/gallium/docs/source/exts/tgsi.py (limited to 'src/gallium/docs/source') diff --git a/src/gallium/docs/source/conf.py b/src/gallium/docs/source/conf.py index 99e665234e..0846e7d0ec 100644 --- a/src/gallium/docs/source/conf.py +++ b/src/gallium/docs/source/conf.py @@ -22,7 +22,7 @@ sys.path.append(os.path.abspath('exts')) # Add any Sphinx extension module names here, as strings. They can be extensions # coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.pngmath', 'tgsi'] +extensions = ['sphinx.ext.pngmath', 'formatting'] # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/src/gallium/docs/source/debugging.rst b/src/gallium/docs/source/debugging.rst index 74f51bc0ea..f29bf53dfe 100644 --- a/src/gallium/docs/source/debugging.rst +++ b/src/gallium/docs/source/debugging.rst @@ -15,36 +15,36 @@ program from that console. Common """""" -GALLIUM_PRINT_OPTIONS (false) +.. envvar:: GALLIUM_PRINT_OPTIONS (false) This options controls if the debug variables should be printed to stderr. This is probably the most usefull variable since it allows you to find which variables a driver responds to. -GALLIUM_RBUG (false) +.. envvar:: GALLIUM_RBUG (false) Controls if the :ref:`rbug` should be used. -GALLIUM_TRACE ("") +.. envvar:: GALLIUM_TRACE ("") If not set tracing is not used, if set it will write the output to the file specifed by the variable. So setting it to "trace.xml" will write the output to the file "trace.xml". -GALLIUM_DUMP_CPU (false) +.. envvar:: GALLIUM_DUMP_CPU (false) Dump information about the current cpu that the driver is running on. -TGSI_PRINT_SANITY (false) +.. envvar:: TGSI_PRINT_SANITY (false) Gallium has a inbuilt shader sanity checker, this option controls if results from it should be printed. This include warnings such as unused variables. -DRAW_USE_LLVM (false) +.. envvar:: DRAW_USE_LLVM (false) Should the :ref:`draw` module use llvm for vertex and geometry shaders. -ST_DEBUG (0x0) +.. envvar:: ST_DEBUG (0x0) Debug :ref:`flags` for the GL state tracker. @@ -52,23 +52,23 @@ Debug :ref:`flags` for the GL state tracker. Driver specific """"""""""""""" -I915_DEBUG (0x0) +.. envvar:: I915_DEBUG (0x0) Debug :ref:`flags` for the i915 driver. -I915_NO_HW (false) +.. envvar:: I915_NO_HW (false) Stop the i915 driver from submitting commands to the hardware. -I915_DUMP_CMD (false) +.. envvar:: I915_DUMP_CMD (false) Dump all commands going to the hardware. -LP_DEBUG (0x0) +.. envvar:: LP_DEBUG (0x0) Debug :ref:`flags` for the llvmpipe driver. -LP_NUM_THREADS (num cpus) +.. envvar:: LP_NUM_THREADS (num cpus) Number of threads that the llvmpipe driver should use. diff --git a/src/gallium/docs/source/exts/formatting.py b/src/gallium/docs/source/exts/formatting.py new file mode 100644 index 0000000000..14865f3603 --- /dev/null +++ b/src/gallium/docs/source/exts/formatting.py @@ -0,0 +1,31 @@ +# formatting.py +# Sphinx extension providing formatting for Gallium-specific data +# (c) Corbin Simpson 2010 +# Public domain to the extent permitted; contact author for special licensing + +import docutils.nodes +import sphinx.addnodes + +def parse_envvar(env, sig, signode): + envvar, t, default = sig.split(" ", 2) + envvar = envvar.strip().upper() + t = " Type: %s" % t.strip(" <>").lower() + default = " Default: %s" % default.strip(" ()") + signode += sphinx.addnodes.desc_name(envvar, envvar) + signode += sphinx.addnodes.desc_type(t, t) + signode += sphinx.addnodes.desc_annotation(default, default) + return envvar + +def parse_opcode(env, sig, signode): + opcode, desc = sig.split("-", 1) + opcode = opcode.strip().upper() + desc = " (%s)" % desc.strip() + signode += sphinx.addnodes.desc_name(opcode, opcode) + signode += sphinx.addnodes.desc_annotation(desc, desc) + return opcode + +def setup(app): + app.add_description_unit("envvar", "envvar", "%s (environment variable)", + parse_envvar) + app.add_description_unit("opcode", "opcode", "%s (TGSI opcode)", + parse_opcode) diff --git a/src/gallium/docs/source/exts/tgsi.py b/src/gallium/docs/source/exts/tgsi.py deleted file mode 100644 index e92cd5c4d1..0000000000 --- a/src/gallium/docs/source/exts/tgsi.py +++ /dev/null @@ -1,17 +0,0 @@ -# tgsi.py -# Sphinx extension providing formatting for TGSI opcodes -# (c) Corbin Simpson 2010 - -import docutils.nodes -import sphinx.addnodes - -def parse_opcode(env, sig, signode): - opcode, desc = sig.split("-", 1) - opcode = opcode.strip().upper() - desc = " (%s)" % desc.strip() - signode += sphinx.addnodes.desc_name(opcode, opcode) - signode += sphinx.addnodes.desc_annotation(desc, desc) - return opcode - -def setup(app): - app.add_description_unit("opcode", "opcode", "%s (TGSI opcode)", parse_opcode) -- cgit v1.2.3 From 2d53dc873ea1d9e0e3e4c1cf08a63621661e422f Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Sun, 15 Aug 2010 03:26:58 -0700 Subject: gallium/docs: Cleanup debugging. Spelling, grammar, organization. --- src/gallium/docs/source/debugging.rst | 55 +++++++++++++++++++---------------- 1 file changed, 30 insertions(+), 25 deletions(-) (limited to 'src/gallium/docs/source') diff --git a/src/gallium/docs/source/debugging.rst b/src/gallium/docs/source/debugging.rst index f29bf53dfe..42bda5aee9 100644 --- a/src/gallium/docs/source/debugging.rst +++ b/src/gallium/docs/source/debugging.rst @@ -6,10 +6,10 @@ Debugging utilities in gallium. Debug Variables ^^^^^^^^^^^^^^^ -All drivers respond to a couple of debug enviromental variables. Below is -a collection of them. Set them as you would any normal enviromental variable -for the platform/operating system you are running. For linux this can be -done by typing "export var=value" into a console and then running the +All drivers respond to a set of common debug environment variables, as well as +some driver-specific variables. Set them as normal environment variables for +the platform or operating system you are running. For example, for Linux this +can be done by typing "export var=value" into a console and then running the program from that console. Common @@ -17,9 +17,9 @@ Common .. envvar:: GALLIUM_PRINT_OPTIONS (false) -This options controls if the debug variables should be printed to stderr. -This is probably the most usefull variable since it allows you to find -which variables a driver responds to. +This option controls if the debug variables should be printed to stderr. This +is probably the most useful variable, since it allows you to find which +variables a driver uses. .. envvar:: GALLIUM_RBUG (false) @@ -27,29 +27,34 @@ Controls if the :ref:`rbug` should be used. .. envvar:: GALLIUM_TRACE ("") -If not set tracing is not used, if set it will write the output to the file -specifed by the variable. So setting it to "trace.xml" will write the output -to the file "trace.xml". +If set, this variable will cause the :ref:`Trace` output to be written to the +specified file. Paths may be relative or absolute; relative paths are relative +to the working directory. For example, setting it to "trace.xml" will cause +the trace to be written to a file of the same name in the working directory. .. envvar:: GALLIUM_DUMP_CPU (false) -Dump information about the current cpu that the driver is running on. +Dump information about the current CPU that the driver is running on. .. envvar:: TGSI_PRINT_SANITY (false) -Gallium has a inbuilt shader sanity checker, this option controls if results -from it should be printed. This include warnings such as unused variables. +Gallium has a built-in shader sanity checker. This option controls whether +the shader sanity checker prints its warnings and errors to stderr. .. envvar:: DRAW_USE_LLVM (false) -Should the :ref:`draw` module use llvm for vertex and geometry shaders. +Whether the :ref:`Draw` module will attempt to use LLVM for vertex and geometry shaders. + + +State tracker-specific +"""""""""""""""""""""" .. envvar:: ST_DEBUG (0x0) Debug :ref:`flags` for the GL state tracker. -Driver specific +Driver-specific """"""""""""""" .. envvar:: I915_DEBUG (0x0) @@ -68,7 +73,7 @@ Dump all commands going to the hardware. Debug :ref:`flags` for the llvmpipe driver. -.. envvar:: LP_NUM_THREADS (num cpus) +.. envvar:: LP_NUM_THREADS (number of CPUs) Number of threads that the llvmpipe driver should use. @@ -78,10 +83,10 @@ Number of threads that the llvmpipe driver should use. Flags """"" -The variables of type all take a string with comma seperated -flags to enable different debugging for different parts of the drivers -or state tracker. If set to "help" the driver will print a list of flags -to which the variable can be set to. Order does not matter. +The variables of type "flags" all take a string with comma-separated flags to +enable different debugging for different parts of the drivers or state +tracker. If set to "help", the driver will print a list of flags which the +variable accepts. Order does not matter. .. _rbug: @@ -89,8 +94,8 @@ to which the variable can be set to. Order does not matter. Remote Debugger ^^^^^^^^^^^^^^^ -Or rbug for short allows for runtime inspections of :ref:`Context`, -:ref:`Screen`, Resources and Shaders; pauseing and stepping of draw calls; -and runtime disable and replacement of shaders. Is used with rbug-gui which -is hosted outside of the main mesa repositor. Rbug is can be used over a -network connection so the debbuger does not need to be on the same machine. +The remote debugger, commonly known as rbug, allows for runtime inspections of +:ref:`Context`, :ref:`Screen`, :ref:`Resource` and :ref:`Shader` objects; and +pausing and stepping of :ref:`Draw` calls. Is used with rbug-gui which is +hosted outside of the main mesa repository. rbug is can be used over a network +connection, so the debugger does not need to be on the same machine. -- cgit v1.2.3