X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Fshading.html;h=cf989ce9029a6a420ef55f94419d7ec37b8c165d;hb=2b621c47aa515add6452a788c0c27067fc60be20;hp=c501e961c05d6171a99621f472184fd3cbf5da94;hpb=b5da52ac581c0f0a6587a489198cd02247b6b931;p=mesa.git
diff --git a/docs/shading.html b/docs/shading.html
index c501e961c05..cf989ce9029 100644
--- a/docs/shading.html
+++ b/docs/shading.html
@@ -18,7 +18,7 @@
This page describes the features and status of Mesa's support for the
-
+
OpenGL Shading Language.
@@ -27,7 +27,7 @@ Contents
- Environment variables
-
- GLSL 1.20 support
+
- GLSL 1.40 support
- Unsupported Features
- Implementation Notes
- Programming Hints
@@ -63,11 +63,25 @@ execution. These are generally used for debugging.
Example: export MESA_GLSL=dump,nopt
+
+Shaders can be dumped and replaced on runtime for debugging purposes. Mesa
+needs to be configured with '--with-sha1' to enable this functionality. This
+feature is not currently supported by SCons build.
-
GLSL Version
+This is controlled via following environment variables:
+
+- MESA_SHADER_DUMP_PATH - path where shader sources are dumped
+
- MESA_SHADER_READ_PATH - path where replacement shaders are read
+
+Note, path set must exist before running for dumping or replacing to work.
+When both are set, these paths should be different so the dumped shaders do
+not clobber the replacement shaders.
+
+
+GLSL Version
-The GLSL compiler currently supports version 1.20 of the shading language.
+The GLSL compiler currently supports version 3.30 of the shading language.
@@ -75,9 +89,8 @@ Several GLSL extensions are also supported:
- GL_ARB_draw_buffers
-
- GL_ARB_texture_rectangle
- GL_ARB_fragment_coord_conventions
-
- GL_EXT_texture_array
+
- GL_ARB_shader_bit_encoding
@@ -94,7 +107,6 @@ in Mesa:
- Linking of multiple shaders does not always work. Currently, linking
is implemented through shader concatenation and re-compiling. This
doesn't always work because of some #pragma and preprocessor issues.
-
- gl_ClipVertex
- The gl_Color and gl_SecondaryColor varying vars are interpolated
without perspective correction
@@ -197,51 +209,6 @@ The final vertex and fragment programs may be interpreted in software
(see drivers/dri/i915/i915_fragprog.c for example).
-Code Generation Options
-
-
-Internally, there are several options that control the compiler's code
-generation and instruction selection.
-These options are seen in the gl_shader_state struct and may be set
-by the device driver to indicate its preferences:
-
-
-struct gl_shader_state
-{
- ...
- /** Driver-selectable options: */
- GLboolean EmitHighLevelInstructions;
- GLboolean EmitCondCodes;
- GLboolean EmitComments;
-};
-
-
-
-- EmitHighLevelInstructions
--
-This option controls instruction selection for loops and conditionals.
-If the option is set high-level IF/ELSE/ENDIF, LOOP/ENDLOOP, CONT/BRK
-instructions will be emitted.
-Otherwise, those constructs will be implemented with BRA instructions.
-
-
-- EmitCondCodes
--
-If set, condition codes (ala GL_NV_fragment_program) will be used for
-branching and looping.
-Otherwise, ordinary registers will be used (the IF instruction will
-examine the first operand's X component and do the if-part if non-zero).
-This option is only relevant if EmitHighLevelInstructions is set.
-
-
-- EmitComments
--
-If set, instructions will be annoted with comments to help with debugging.
-Extra NOP instructions will also be inserted.
-
-
-
-
Compiler Validation
@@ -250,10 +217,8 @@ regressions.
-The Piglit project
-has many GLSL tests and the
-Glean glsl1 test
-tests GLSL features.
+The Piglit project
+has many GLSL tests.