Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/angle
Path: blob/main_old/extensions/ANGLE_translated_shader_source.txt
1693 views
1
Name
2
3
ANGLE_translated_shader_source
4
5
Name Strings
6
7
GL_ANGLE_translated_shader_source
8
9
Contributors
10
11
Daniel Koch, TransGaming Inc.
12
Gregg Tavares, Google Inc.
13
Kenneth Russell, Google Inc.
14
Zhenyao Mo, Google Inc.
15
16
Contact
17
18
Zhenyao Mo, Google Inc. (zmo 'at' google 'dot' com)
19
20
Status
21
22
Implemented in ANGLE ES2
23
24
Version
25
26
Last Modified Date: October 5, 2011
27
Author Revision: 2
28
29
Number
30
31
OpenGL ES Extension #113
32
33
Dependencies
34
35
OpenGL ES 2.0 is required.
36
37
The extension is written against the OpenGL ES 2.0 specification.
38
39
Overview
40
41
WebGL uses the GLSL ES 2.0 spec on all platforms, and translates these
42
shaders to the host platform's native language (HLSL, GLSL, and even GLSL
43
ES). For debugging purposes, it is useful to be able to examine the shader
44
after translation.
45
46
This extension addes a new function to query the translated shader source,
47
and adds a new enum for GetShaderiv's <pname> parameter to query the
48
translated shader source length.
49
50
IP Status
51
52
No known IP claims.
53
54
New Types
55
56
None
57
58
New Procedures and Functions
59
60
void GetTranslatedShaderSourceANGLE(uint shader, sizei bufsize,
61
sizei* length, char* source);
62
63
New Tokens
64
65
Accepted by the <pname> parameter of GetShaderiv:
66
67
TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0
68
69
Additions to Chapter 6 of the OpenGL ES 2.0 Specification (State and State
70
Requests)
71
72
Append in the end of the fourth paragraph of section 6.1.8 (Shader and
73
Program Queries):
74
75
" If <pname> is TRANSLATED_SHADER_LENGTH_ANGLE, the length of the translated
76
source string, including a null terminator, is returned. If no source has
77
been defined, CompileShader has not been called, or the translation has
78
failed for <shader>, zero is returned."
79
80
Append after the last paragraph of section 6.1.8 (Shader and Program
81
Queries):
82
83
"The command
84
85
void GetTranslatedShaderSourceANGLE( uint shader, sizei bufSize,
86
sizei *length, char *source );
87
88
returns in <source> the string making up the translated source code for
89
the shader object <shader>. The string <source> will be null terminated.
90
The actual number of characters written into <source>, excluding the null
91
terminator, is returned in <length>. If <length> is NULL, no length is
92
returned. The maximum number of characters that may be written into
93
<source>, including the null terminator, is specified by <bufSize>. The
94
string <source> is the translated string of a concatenation of the strings
95
passed to the GL using ShaderSource. The length of this translated string
96
is given by TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE, which can be queried
97
with GetShaderiv.
98
99
If no source has been defined, CompileShader has not been called, or the
100
translation has failed for <shader>, zero is returned for <length>, and
101
an empty string is returned for <source>.
102
103
If the value of SHADER_COMPILER is not TRUE, then the error INVALID_-
104
OPERATION is generated."
105
106
Issues
107
108
1) What enum value should be used for TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE?
109
110
RESOLVED: The first draft used a temporary enum value. This been replaced
111
with a enum allocated from the ANGLE range of GL enums.
112
113
Revision History
114
115
Revision 1, 2011/09/29, zmo
116
- first draft
117
Revision 2, 2011/10/05, dgkoch
118
- assigned enum
119
120