X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Fshading.html;h=9e3c7218e31e5ad8385c76585a4bf22c3a8a433a;hb=bcc613acc14d5962d89db19f48d6d53374f1a29b;hp=bd02335a803d0ccd4bb9512c9b8bc0b59e0f1f16;hpb=d0b7ff551ab25153e3023871af3daa65b394a828;p=mesa.git diff --git a/docs/shading.html b/docs/shading.html index bd02335a803..9e3c7218e31 100644 --- a/docs/shading.html +++ b/docs/shading.html @@ -1,29 +1,33 @@ - + + + + + Shading Language Support + + + -Shading Language Support +
+

The Mesa 3D Graphics Library

+
- + +
- - -

Shading Language Support

+

Shading Language Support

This page describes the features and status of Mesa's support for the - + OpenGL Shading Language.

-

-Last updated on 15 December 2008. -

-

Contents

- - -

Environment Variables

+

Environment Variables

The MESA_GLSL environment variable can be set to a comma-separated @@ -43,49 +45,74 @@ list of keywords to control some aspects of the GLSL compiler and shader execution. These are generally used for debugging.

Example: export MESA_GLSL=dump,nopt

+

Experimenting with Shader Replacements

+

+Shaders can be dumped and replaced on runtime for debugging purposes. This +feature is not currently supported by SCons build. + +This is controlled via following environment variables: +

+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. Also, the filenames of the replacement shaders +should match the filenames of the corresponding dumped shaders. +

+ +

Capturing Shaders

+ +

+Setting MESA_SHADER_CAPTURE_PATH to a directory will cause the compiler +to write .shader_test files for use with +shader-db, a tool +which compiler developers can use to gather statistics about shaders +(instructions, cycles, memory accesses, and so on). +

+

+Notably, this captures linked GLSL shaders - with all stages together - +as well as ARB programs. +

+ +

GLSL Version

- -

GLSL 1.20 support

+

+The GLSL compiler currently supports version 3.30 of the shading language. +

-GLSL version 1.20 is supported in Mesa 7.3 and later. -Among the features/differences of GLSL 1.20 are: +Several GLSL extensions are also supported: +

+

Unsupported Features

-
-

Unsupported Features

+

XXX update this section

The following features of the shading language are not yet fully supported @@ -96,7 +123,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 @@ -106,8 +132,7 @@ All other major features of the shading language should function.

    -
    -

    Implementation Notes

    +

    Implementation Notes

  • + +