diff options
Diffstat (limited to 'mesalib/docs/MESA_shader_debug.spec')
-rw-r--r-- | mesalib/docs/MESA_shader_debug.spec | 264 |
1 files changed, 0 insertions, 264 deletions
diff --git a/mesalib/docs/MESA_shader_debug.spec b/mesalib/docs/MESA_shader_debug.spec deleted file mode 100644 index fab92abc7..000000000 --- a/mesalib/docs/MESA_shader_debug.spec +++ /dev/null @@ -1,264 +0,0 @@ -Name - - MESA_shader_debug - -Name Strings - - GL_MESA_shader_debug - -Contact - - Brian Paul (brian.paul 'at' tungstengraphics.com) - Michal Krol (mjkrol 'at' gmail.com) - -Status - - Obsolete. - -Version - - Last Modified Date: July 30, 2006 - Author Revision: 0.2 - -Number - - TBD - -Dependencies - - OpenGL 1.0 is required. - - The ARB_shader_objects extension is required. - - The ARB_shading_language_100 extension is required. - - The extension is written against the OpenGL 1.5 specification. - - The extension is written against the OpenGL Shading Language 1.10 - Specification. - -Overview - - This extension introduces a debug object that can be attached to - a program object to enable debugging. Vertex and/or fragment shader, - during execution, issue diagnostic function calls that are logged - to the debug object's log. A separate debug log for each shader type - is maintained. A debug object can be attached, detached and queried - at any time outside the Begin/End pair. Multiple debug objects can - be attached to a single program object. - -IP Status - - None - -Issues - - None - -New Procedures and Functions - - handleARB CreateDebugObjectMESA(void) - void ClearDebugLogMESA(handleARB obj, enum logType, enum shaderType) - void GetDebugLogMESA(handleARB obj, enum logType, enum shaderType, - sizei maxLength, sizei *length, - charARB *debugLog) - sizei GetDebugLogLengthMESA(handleARB obj, enum logType, - enum shaderType) - -New Types - - None - -New Tokens - - Returned by the <params> parameter of GetObjectParameter{fi}vARB: - - DEBUG_OBJECT_MESA 0x8759 - - Accepted by the <logType> argument of ClearDebugLogMESA, - GetDebugLogLengthMESA and GetDebugLogMESA: - - DEBUG_PRINT_MESA 0x875A - DEBUG_ASSERT_MESA 0x875B - -Additions to Chapter 2 of the OpenGL 1.5 Specification -(OpenGL Operation) - - None - -Additions to Chapter 3 of the OpenGL 1.5 Specification (Rasterization) - - None - -Additions to Chapter 4 of the OpenGL 1.5 Specification (Per-Fragment -Operations and the Frame Buffer) - - None - -Additions to Chapter 5 of the OpenGL 1.5 Specification -(Special Functions) - - None - -Additions to Chapter 6 of the OpenGL 1.5 Specification (State and State -Requests) - - None - -Additions to Appendix A of the OpenGL 1.5 Specification (Invariance) - - None - -Additions to Chapter 1 of the OpenGL Shading Language 1.10 Specification -(Introduction) - - None - -Additions to Chapter 2 of the OpenGL Shading Language 1.10 Specification -(Overview of OpenGL Shading) - - None - -Additions to Chapter 3 of the OpenGL Shading Language 1.10 Specification -(Basics) - - None - -Additions to Chapter 4 of the OpenGL Shading Language 1.10 Specification -(Variables and Types) - - None - -Additions to Chapter 5 of the OpenGL Shading Language 1.10 Specification -(Operators and Expressions) - - None - -Additions to Chapter 6 of the OpenGL Shading Language 1.10 Specification -(Statements and Structure) - - None - -Additions to Chapter 7 of the OpenGL Shading Language 1.10 Specification -(Built-in Variables) - - None - -Additions to Chapter 8 of the OpenGL Shading Language 1.10 Specification -(Built-in Functions) - - Add a new section 8.10 "Debug Functions": - - Debug functions are available to both fragment and vertex shaders. - They are used to track the execution of a shader by logging - passed-in arguments to the debug object's log. Those values can be - retrieved by the application for inspection after shader execution - is complete. - - The text, if any, produced by any of these functions is appended - to each debug object that is attached to the program object. - There are different debug log types - - Add a new section 8.10.1 "Print Function": - - The following printMESA prototypes are available. - - void printMESA(const float value) - void printMESA(const int value) - void printMESA(const bool value) - void printMESA(const vec2 value) - void printMESA(const vec3 value) - void printMESA(const vec4 value) - void printMESA(const ivec2 value) - void printMESA(const ivec3 value) - void printMESA(const ivec4 value) - void printMESA(const bvec2 value) - void printMESA(const bvec3 value) - void printMESA(const bvec4 value) - void printMESA(const mat2 value) - void printMESA(const mat3 value) - void printMESA(const mat4 value) - void printMESA(const sampler1D value) - void printMESA(const sampler2D value) - void printMESA(const sampler3D value) - void printMESA(const samplerCube value) - void printMESA(const sampler1DShadow value) - void printMESA(const sampler2DShadow value) - - The printMESA function writes the argument <value> to the "debug - print log" (XXX DEBUG_PRINT_MESA?). Each component is written in - text format (XXX format!) and is delimited by a white space (XXX 1 - or more?). - - Add a new section 8.10.2 "Assert Function": - - The following assertMESA prototypes are available. - - void assertMESA(const bool condition) - void assertMESA(const bool condition, const int cookie) - void assertMESA(const bool condition, const int cookie, - const int file, const int line) - - The assertMESA function checks if the argument <condition> is - true or false. If it is true, nothing happens. If it is false, - a diagnostic message is written to the "debug assert log". - The message contains the argument <file>, <line>, <cookie> and - implementation dependent double-quoted string, each of this - delimited by a white space. If the argument <cookie> is not present, - it is meant as if it was of value 0. If the arguments <file> and - <line> are not present, they are meant as if they were of values - __FILE__ and __LINE__, respectively. The following three calls - produce the same output, assuming they were issued from the same - file and line. - - assertMESA (false); - assertMESA (false, 0); - assertMESA (false, 0, __FILE__, __LINE__); - - The diagnostic message examples follow. - - 1 89 0 "" - 1 45 333 "all (lessThanEqual (fragColor, vec4 (1.0)))" - 1 66 1 "assertion failed in file 1, line 66, cookie 1" - -Additions to Chapter 9 of the OpenGL Shading Language 1.10 Specification -(Shading Language Grammar) - - None - -Additions to Chapter 10 of the OpenGL Shading Language 1.10 -Specification (Issues) - - None - -Additions to the AGL/EGL/GLX/WGL Specifications - - None - -GLX Protocol - - None - -Errors - - TBD - -New State - - TBD - -New Implementation Dependent State - - TBD - -Sample Code - - TBD - -Revision History - - 29 May 2006 - Initial draft. (Michal Krol) - 30 July 2006 - Add Overview, New Procedures and Functions, New Tokens sections. - Add sections 8.10.1, 8.10.2 to GLSL spec. |