summaryrefslogtreecommitdiff
path: root/docs/MESA_shader_debug.spec
blob: 0aef8f7df8436bd0faf7b6f3726f92af7587392a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
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

    XXX - Not complete yet!!!

Version

    Last Modified Date: May 29, 2006
    Author Revision: 0.1
    $Date: 2006/05/30 09:35:36 $ $Revision: 1.1 $

Number

    TBD

Dependencies

    OpenGL 1.5 is required.
    The extension is written against the OpenGL 1.5 specification.
    ARB_shading_language_100 is required.
    ARB_shader_objects is required.
    The extension is written against the OpenGL Shading Language
    1.10 Specification.

Overview

    TBD

IP Status

    None

Issues

    None

New Procedures and Functions

    TBD

New Types

    None

New Tokens

    TBD

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 shader's info log. That values can be
    retrieved and validated by the application after shader execution
    is complete.

    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);

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)