godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.92k stars 21.05k forks source link

Cannot Open Godot #38409

Closed komputerboy closed 4 years ago

komputerboy commented 4 years ago

I have download official Godot engine from

after that, i cannot open the program with this error.

ERROR: _display_error_with_code: CanvasShaderGLES3: Vertex Program Compilation F
ailed:
0(6) : error C7538: OpenGL does not allow 'highp' after 'inout'
0(35) : error C7538: OpenGL does not allow 'highp' after 'inout'
0(51) : error C7538: OpenGL does not allow 'highp' after 'inout'
0(52) : error C7538: OpenGL does not allow 'mediump' after 'inout'

   At: drivers/gles3/shader_gles3.cpp:164
ERROR: get_current_version: Method failed. Returning: __null
   At: drivers/gles3/shader_gles3.cpp:342
ERROR: bind: Condition "!version" is true. Returned: false
   At: drivers/gles3/shader_gles3.cpp:123
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379

I am using window 7 ultimate 64 bit with NVIDIA GT 630M

dreamsComeTrue commented 4 years ago

When did you last time update your gfx drivers?

Calinou commented 4 years ago

Since you're likely using a laptop with NVIDIA Optimus graphics, did you make sure Godot is running on the dedicated GPU instead of the integrated Intel GPU?

peeterdog commented 4 years ago

Hello. At first, excuses for my primitive use of english language, I have similar problem opening GODOT 3.2 in GLES3 mode , works almost fine forcing GLES2 via command line (but with some flickering in editor's UI and a visual error in shapes of colision shapes and colission polygons in edition time, maybe a bug?) in my lenovo latop g580 with intel celeron cpu and integrated intel hd graphics, windows 7 ultimate 32 bits (but 64 bits cpu). AIDA64 shows opengl 3.3 100% compliancy. No problen with other programs that requires opengl 3.3 I dont know too much about the matter but here are the log and the AIDA64 report, please pay atention to the GL_ARB_explicit_attrib_location lines in both parts.

Godot Engine v3.2.1.stable.official - https://godotengine.org
OpenGL ES 3.0 Renderer: Intel(R) HD Graphics
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Condition "status != 0x8CD5" is true. Continuing.
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5095
ERROR: initialize: Directional shadow framebuffer status invalid
   At: drivers/gles3/rasterizer_scene_gles3.cpp:5120

1: #version 330
2: #define GLES_OVER_GL
3: #define USE_TEXTURE_RECT
4: precision highp float;
5: precision highp int;
6: 
7: uniform mediump sampler2D color_texture; // texunit:0
8: /* clang-format on */
9: uniform highp vec2 color_texpixel_size;
10: uniform mediump sampler2D normal_texture; // texunit:1
11: 
12: in highp vec2 uv_interp;
13: in mediump vec4 color_interp;
14: 
15: #if defined(SCREEN_TEXTURE_USED)
16: 
17: uniform sampler2D screen_texture; // texunit:-3
18: 
19: #endif
20: 
21: #if defined(SCREEN_UV_USED)
22: 
23: uniform vec2 screen_pixel_size;
24: #endif
25: 
26: layout(std140) uniform CanvasItemData {
27: 
28:     highp mat4 projection_matrix;
29:     highp float time;
30: };
31: 
32: #ifdef USE_LIGHTING
33: 
34: layout(std140) uniform LightData {
35: 
36:     highp mat4 light_matrix;
37:     highp mat4 light_local_matrix;
38:     highp mat4 shadow_matrix;
39:     highp vec4 light_color;
40:     highp vec4 light_shadow_color;
41:     highp vec2 light_pos;
42:     highp float shadowpixel_size;
43:     highp float shadow_gradient;
44:     highp float light_height;
45:     highp float light_outside_alpha;
46:     highp float shadow_distance_mult;
47: };
48: 
49: uniform lowp sampler2D light_texture; // texunit:-1
50: in vec4 light_uv_interp;
51: in vec2 transformed_light_uv;
52: 
53: in vec4 local_rot;
54: 
55: #ifdef USE_SHADOWS
56: 
57: uniform highp sampler2D shadow_texture; // texunit:-2
58: in highp vec2 pos;
59: 
60: #endif
61: 
62: const bool at_light_pass = true;
63: #else
64: const bool at_light_pass = false;
65: #endif
66: 
67: uniform mediump vec4 final_modulate;
68: 
69: layout(location = 0) out mediump vec4 frag_color;
70: 
71: #if defined(USE_MATERIAL)
72: 
73: /* clang-format off */
74: layout(std140) uniform UniformData {
75: 
76: 
77: };
78: /* clang-format on */
79: 
80: #endif
81: 
82: /* clang-format off */
83: 
84: 
85: /* clang-format on */
86: 
87: void light_compute(
88:         inout vec4 light,
89:         inout vec2 light_vec,
90:         inout float light_height,
91:         inout vec4 light_color,
92:         vec2 light_uv,
93:         inout vec4 shadow_color,
94:         inout vec2 shadow_vec,
95:         vec3 normal,
96:         vec2 uv,
97: #if defined(SCREEN_UV_USED)
98:         vec2 screen_uv,
99: #endif
100:        vec4 color) {
101: 
102: #if defined(USE_LIGHT_SHADER_CODE)
103: 
104:    /* clang-format off */
105: 
106: 
107:    /* clang-format on */
108: 
109: #endif
110: }
111: 
112: #ifdef USE_TEXTURE_RECT
113: 
114: uniform vec4 dst_rect;
115: uniform vec4 src_rect;
116: uniform bool clip_rect_uv;
117: 
118: #ifdef USE_NINEPATCH
119: 
120: in highp vec2 pixel_size_interp;
121: 
122: uniform int np_repeat_v;
123: uniform int np_repeat_h;
124: uniform bool np_draw_center;
125: // left top right bottom in pixel coordinates
126: uniform vec4 np_margins;
127: 
128: float map_ninepatch_axis(float pixel, float draw_size, float tex_pixel_size, float margin_begin, float margin_end, float s_ratio, int np_repeat, inout int draw_center) {
129: 
130:    float tex_size = 1.0 / tex_pixel_size;
131: 
132:    float screen_margin_begin = margin_begin / s_ratio;
133:    float screen_margin_end = margin_end / s_ratio;
134:    if (pixel < screen_margin_begin) {
135:        return pixel * s_ratio * tex_pixel_size;
136:    } else if (pixel >= draw_size - screen_margin_end) {
137:        return (tex_size - (draw_size - pixel) * s_ratio) * tex_pixel_size;
138:    } else {
139:        if (!np_draw_center) {
140:            draw_center--;
141:        }
142: 
143:        // np_repeat is passed as uniform using NinePatchRect::AxisStretchMode enum.
144:        if (np_repeat == 0) { // Stretch.
145:            // Convert to ratio.
146:            float ratio = (pixel - screen_margin_begin) / (draw_size - screen_margin_begin - screen_margin_end);
147:            // Scale to source texture.
148:            return (margin_begin + ratio * (tex_size - margin_begin - margin_end)) * tex_pixel_size;
149:        } else if (np_repeat == 1) { // Tile.
150:            // Convert to offset.
151:            float ofs = mod((pixel - screen_margin_begin), tex_size - margin_begin - margin_end);
152:            // Scale to source texture.
153:            return (margin_begin + ofs) * tex_pixel_size;
154:        } else if (np_repeat == 2) { // Tile Fit.
155:            // Calculate scale.
156:            float src_area = draw_size - screen_margin_begin - screen_margin_end;
157:            float dst_area = tex_size - margin_begin - margin_end;
158:            float scale = max(1.0, floor(src_area / max(dst_area, 0.0000001) + 0.5));
159:            // Convert to ratio.
160:            float ratio = (pixel - screen_margin_begin) / src_area;
161:            ratio = mod(ratio * scale, 1.0);
162:            // Scale to source texture.
163:            return (margin_begin + ratio * dst_area) * tex_pixel_size;
164:        } else { // Shouldn't happen, but silences compiler warning.
165:            return 0.0;
166:        }
167:    }
168: }
169: 
170: #endif
171: #endif
172: 
173: uniform bool use_default_normal;
174: 
175: void main() {
176: 
177:    vec4 color = color_interp;
178:    vec2 uv = uv_interp;
179: 
180: #ifdef USE_TEXTURE_RECT
181: 
182: #ifdef USE_NINEPATCH
183: 
184:    int draw_center = 2;
185:    float s_ratio = max((1.0 / color_texpixel_size.x) / abs(dst_rect.z), (1.0 / color_texpixel_size.y) / abs(dst_rect.w));
186:    s_ratio = max(1.0, s_ratio);
187:    uv = vec2(
188:            map_ninepatch_axis(pixel_size_interp.x, abs(dst_rect.z), color_texpixel_size.x, np_margins.x, np_margins.z, s_ratio, np_repeat_h, draw_center),
189:            map_ninepatch_axis(pixel_size_interp.y, abs(dst_rect.w), color_texpixel_size.y, np_margins.y, np_margins.w, s_ratio, np_repeat_v, draw_center));
190: 
191:    if (draw_center == 0) {
192:        color.a = 0.0;
193:    }
194: 
195:    uv = uv * src_rect.zw + src_rect.xy; //apply region if needed
196: #endif
197: 
198:    if (clip_rect_uv) {
199: 
200:        uv = clamp(uv, src_rect.xy, src_rect.xy + abs(src_rect.zw));
201:    }
202: 
203: #endif
204: 
205: #if !defined(COLOR_USED)
206:    //default behavior, texture by color
207: 
208: #ifdef USE_DISTANCE_FIELD
209:    const float smoothing = 1.0 / 32.0;
210:    float distance = textureLod(color_texture, uv, 0.0).a;
211:    color.a = smoothstep(0.5 - smoothing, 0.5 + smoothing, distance) * color.a;
212: #else
213:    color *= texture(color_texture, uv);
214: 
215: #endif
216: 
217: #endif
218: 
219:    vec3 normal;
220: 
221: #if defined(NORMAL_USED)
222: 
223:    bool normal_used = true;
224: #else
225:    bool normal_used = false;
226: #endif
227: 
228:    if (use_default_normal) {
229:        normal.xy = textureLod(normal_texture, uv, 0.0).xy * 2.0 - 1.0;
230:        normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
231:        normal_used = true;
232:    } else {
233:        normal = vec3(0.0, 0.0, 1.0);
234:    }
235: 
236: #if defined(SCREEN_UV_USED)
237:    vec2 screen_uv = gl_FragCoord.xy * screen_pixel_size;
238: #endif
239: 
240:    {
241:        float normal_depth = 1.0;
242: 
243: #if defined(NORMALMAP_USED)
244:        vec3 normal_map = vec3(0.0, 0.0, 1.0);
245:        normal_used = true;
246: #endif
247: 
248:        /* clang-format off */
249: 
250: 
251:        /* clang-format on */
252: 
253: #if defined(NORMALMAP_USED)
254:        normal = mix(vec3(0.0, 0.0, 1.0), normal_map * vec3(2.0, -2.0, 1.0) - vec3(1.0, -1.0, 0.0), normal_depth);
255: #endif
256:    }
257: #ifdef DEBUG_ENCODED_32
258:    highp float enc32 = dot(color, highp vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0));
259:    color = vec4(vec3(enc32), 1.0);
260: #endif
261: 
262:    color *= final_modulate;
263: 
264: #ifdef USE_LIGHTING
265: 
266:    vec2 light_vec = transformed_light_uv;
267:    vec2 shadow_vec = transformed_light_uv;
268: 
269:    if (normal_used) {
270:        normal.xy = mat2(local_rot.xy, local_rot.zw) * normal.xy;
271:    }
272: 
273:    float att = 1.0;
274: 
275:    vec2 light_uv = light_uv_interp.xy;
276:    vec4 light = texture(light_texture, light_uv);
277: 
278:    if (any(lessThan(light_uv_interp.xy, vec2(0.0, 0.0))) || any(greaterThanEqual(light_uv_interp.xy, vec2(1.0, 1.0)))) {
279:        color.a *= light_outside_alpha; //invisible
280: 
281:    } else {
282:        float real_light_height = light_height;
283:        vec4 real_light_color = light_color;
284:        vec4 real_light_shadow_color = light_shadow_color;
285: 
286: #if defined(USE_LIGHT_SHADER_CODE)
287:        //light is written by the light shader
288:        light_compute(
289:                light,
290:                light_vec,
291:                real_light_height,
292:                real_light_color,
293:                light_uv,
294:                real_light_shadow_color,
295:                shadow_vec,
296:                normal,
297:                uv,
298: #if defined(SCREEN_UV_USED)
299:                screen_uv,
300: #endif
301:                color);
302: #endif
303: 
304:        light *= real_light_color;
305: 
306:        if (normal_used) {
307:            vec3 light_normal = normalize(vec3(light_vec, -real_light_height));
308:            light *= max(dot(-light_normal, normal), 0.0);
309:        }
310: 
311:        color *= light;
312: 
313: #ifdef USE_SHADOWS
314: #ifdef SHADOW_VEC_USED
315:        mat3 inverse_light_matrix = mat3(light_matrix);
316:        inverse_light_matrix[0] = normalize(inverse_light_matrix[0]);
317:        inverse_light_matrix[1] = normalize(inverse_light_matrix[1]);
318:        inverse_light_matrix[2] = normalize(inverse_light_matrix[2]);
319:        shadow_vec = (mat3(inverse_light_matrix) * vec3(shadow_vec, 0.0)).xy;
320: #else
321:        shadow_vec = light_uv_interp.zw;
322: #endif
323:        float angle_to_light = -atan(shadow_vec.x, shadow_vec.y);
324:        float PI = 3.14159265358979323846264;
325:        /*int i = int(mod(floor((angle_to_light+7.0*PI/6.0)/(4.0*PI/6.0))+1.0, 3.0)); // +1 pq os indices estao em ordem 2,0,1 nos arrays
326:        float ang*/
327: 
328:        float su, sz;
329: 
330:        float abs_angle = abs(angle_to_light);
331:        vec2 point;
332:        float sh;
333:        if (abs_angle < 45.0 * PI / 180.0) {
334:            point = shadow_vec;
335:            sh = 0.0 + (1.0 / 8.0);
336:        } else if (abs_angle > 135.0 * PI / 180.0) {
337:            point = -shadow_vec;
338:            sh = 0.5 + (1.0 / 8.0);
339:        } else if (angle_to_light > 0.0) {
340: 
341:            point = vec2(shadow_vec.y, -shadow_vec.x);
342:            sh = 0.25 + (1.0 / 8.0);
343:        } else {
344: 
345:            point = vec2(-shadow_vec.y, shadow_vec.x);
346:            sh = 0.75 + (1.0 / 8.0);
347:        }
348: 
349:        highp vec4 s = shadow_matrix * vec4(point, 0.0, 1.0);
350:        s.xyz /= s.w;
351:        su = s.x * 0.5 + 0.5;
352:        sz = s.z * 0.5 + 0.5;
353:        //sz=lightlength(light_vec);
354: 
355:        highp float shadow_attenuation = 0.0;
356: 
357: #ifdef USE_RGBA_SHADOWS
358: 
359: #define SHADOW_DEPTH(m_tex, m_uv) dot(texture((m_tex), (m_uv)), vec4(1.0 / (255.0 * 255.0 * 255.0), 1.0 / (255.0 * 255.0), 1.0 / 255.0, 1.0))
360: 
361: #else
362: 
363: #define SHADOW_DEPTH(m_tex, m_uv) (texture((m_tex), (m_uv)).r)
364: 
365: #endif
366: 
367: #ifdef SHADOW_USE_GRADIENT
368: 
369: #define SHADOW_TEST(m_ofs)                                                    \
370:    {                                                                         \
371:        highp float sd = SHADOW_DEPTH(shadow_texture, vec2(m_ofs, sh));       \
372:        shadow_attenuation += 1.0 - smoothstep(sd, sd + shadow_gradient, sz); \
373:    }
374: 
375: #else
376: 
377: #define SHADOW_TEST(m_ofs)                                              \
378:    {                                                                   \
379:        highp float sd = SHADOW_DEPTH(shadow_texture, vec2(m_ofs, sh)); \
380:        shadow_attenuation += step(sz, sd);                             \
381:    }
382: 
383: #endif
384: 
385: #ifdef SHADOW_FILTER_NEAREST
386: 
387:        SHADOW_TEST(su);
388: 
389: #endif
390: 
391: #ifdef SHADOW_FILTER_PCF3
392: 
393:        SHADOW_TEST(su + shadowpixel_size);
394:        SHADOW_TEST(su);
395:        SHADOW_TEST(su - shadowpixel_size);
396:        shadow_attenuation /= 3.0;
397: 
398: #endif
399: 
400: #ifdef SHADOW_FILTER_PCF5
401: 
402:        SHADOW_TEST(su + shadowpixel_size * 2.0);
403:        SHADOW_TEST(su + shadowpixel_size);
404:        SHADOW_TEST(su);
405:        SHADOW_TEST(su - shadowpixel_size);
406:        SHADOW_TEST(su - shadowpixel_size * 2.0);
407:        shadow_attenuation /= 5.0;
408: 
409: #endif
410: 
411: #ifdef SHADOW_FILTER_PCF7
412: 
413:        SHADOW_TEST(su + shadowpixel_size * 3.0);
414:        SHADOW_TEST(su + shadowpixel_size * 2.0);
415:        SHADOW_TEST(su + shadowpixel_size);
416:        SHADOW_TEST(su);
417:        SHADOW_TEST(su - shadowpixel_size);
418:        SHADOW_TEST(su - shadowpixel_size * 2.0);
419:        SHADOW_TEST(su - shadowpixel_size * 3.0);
420:        shadow_attenuation /= 7.0;
421: 
422: #endif
423: 
424: #ifdef SHADOW_FILTER_PCF9
425: 
426:        SHADOW_TEST(su + shadowpixel_size * 4.0);
427:        SHADOW_TEST(su + shadowpixel_size * 3.0);
428:        SHADOW_TEST(su + shadowpixel_size * 2.0);
429:        SHADOW_TEST(su + shadowpixel_size);
430:        SHADOW_TEST(su);
431:        SHADOW_TEST(su - shadowpixel_size);
432:        SHADOW_TEST(su - shadowpixel_size * 2.0);
433:        SHADOW_TEST(su - shadowpixel_size * 3.0);
434:        SHADOW_TEST(su - shadowpixel_size * 4.0);
435:        shadow_attenuation /= 9.0;
436: 
437: #endif
438: 
439: #ifdef SHADOW_FILTER_PCF13
440: 
441:        SHADOW_TEST(su + shadowpixel_size * 6.0);
442:        SHADOW_TEST(su + shadowpixel_size * 5.0);
443:        SHADOW_TEST(su + shadowpixel_size * 4.0);
444:        SHADOW_TEST(su + shadowpixel_size * 3.0);
445:        SHADOW_TEST(su + shadowpixel_size * 2.0);
446:        SHADOW_TEST(su + shadowpixel_size);
447:        SHADOW_TEST(su);
448:        SHADOW_TEST(su - shadowpixel_size);
449:        SHADOW_TEST(su - shadowpixel_size * 2.0);
450:        SHADOW_TEST(su - shadowpixel_size * 3.0);
451:        SHADOW_TEST(su - shadowpixel_size * 4.0);
452:        SHADOW_TEST(su - shadowpixel_size * 5.0);
453:        SHADOW_TEST(su - shadowpixel_size * 6.0);
454:        shadow_attenuation /= 13.0;
455: 
456: #endif
457: 
458:        //color *= shadow_attenuation;
459:        color = mix(real_light_shadow_color, color, shadow_attenuation);
460: //use shadows
461: #endif
462:    }
463: 
464: //use lighting
465: #endif
466:    //color.rgb *= color.a;
467:    frag_color = color;
468: }
469: 
ERROR: _display_error_with_code: CanvasShaderGLES3: Fragment Program Compilation Failed:
ERROR: 24:2: 'sampler2D' :  precision statement not allowed for type  
ERROR: 24:5: 'sampler2D' :  precision statement not allowed for type  

   At: drivers/gles3/shader_gles3.cpp:164
ERROR: get_current_version: CanvasShaderGLES3: Fragment Program Compilation Failed:
ERROR: 24:2: 'sampler2D' :  precision statement not allowed for type  
ERROR: 24:5: 'sampler2D' :  precision statement not allowed for type  

   At: drivers/gles3/shader_gles3.cpp:429
ERROR: get_current_version: Method failed. Returning: __null
   At: drivers/gles3/shader_gles3.cpp:437
ERROR: bind: Condition "!version" is true. Returned: false
   At: drivers/gles3/shader_gles3.cpp:123
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
1: #version 330
2: #define GLES_OVER_GL
3: precision highp float;
4: precision highp int;
5: 
6: layout(location = 0) in highp vec2 vertex;
7: /* clang-format on */
8: layout(location = 3) in vec4 color_attrib;
9: 
10: #ifdef USE_SKELETON
11: layout(location = 6) in uvec4 bone_indices; // attrib:6
12: layout(location = 7) in vec4 bone_weights; // attrib:7
13: #endif
14: 
15: #ifdef USE_TEXTURE_RECT
16: 
17: uniform vec4 dst_rect;
18: uniform vec4 src_rect;
19: 
20: #else
21: 
22: #ifdef USE_INSTANCING
23: 
24: layout(location = 8) in highp vec4 instance_xform0;
25: layout(location = 9) in highp vec4 instance_xform1;
26: layout(location = 10) in highp vec4 instance_xform2;
27: layout(location = 11) in lowp vec4 instance_color;
28: 
29: #ifdef USE_INSTANCE_CUSTOM
30: layout(location = 12) in highp vec4 instance_custom_data;
31: #endif
32: 
33: #endif
34: 
35: layout(location = 4) in highp vec2 uv_attrib;
36: 
37: // skeleton
38: #endif
39: 
40: uniform highp vec2 color_texpixel_size;
41: 
42: layout(std140) uniform CanvasItemData { //ubo:0
43: 
44:     highp mat4 projection_matrix;
45:     highp float time;
46: };
47: 
48: uniform highp mat4 modelview_matrix;
49: uniform highp mat4 extra_matrix;
50: 
51: out highp vec2 uv_interp;
52: out mediump vec4 color_interp;
53: 
54: #ifdef USE_NINEPATCH
55: 
56: out highp vec2 pixel_size_interp;
57: #endif
58: 
59: #ifdef USE_SKELETON
60: uniform mediump sampler2D skeleton_texture; // texunit:-4
61: uniform highp mat4 skeleton_transform;
62: uniform highp mat4 skeleton_transform_inverse;
63: #endif
64: 
65: #ifdef USE_LIGHTING
66: 
67: layout(std140) uniform LightData { //ubo:1
68: 
69:     // light matrices
70:     highp mat4 light_matrix;
71:     highp mat4 light_local_matrix;
72:     highp mat4 shadow_matrix;
73:     highp vec4 light_color;
74:     highp vec4 light_shadow_color;
75:     highp vec2 light_pos;
76:     highp float shadowpixel_size;
77:     highp float shadow_gradient;
78:     highp float light_height;
79:     highp float light_outside_alpha;
80:     highp float shadow_distance_mult;
81: };
82: 
83: out vec4 light_uv_interp;
84: out vec2 transformed_light_uv;
85: 
86: out vec4 local_rot;
87: 
88: #ifdef USE_SHADOWS
89: out highp vec2 pos;
90: #endif
91: 
92: const bool at_light_pass = true;
93: #else
94: const bool at_light_pass = false;
95: #endif
96: 
97: #if defined(USE_MATERIAL)
98: 
99: /* clang-format off */
100: layout(std140) uniform UniformData { //ubo:2
101: 
102: 
103: };
104: /* clang-format on */
105: 
106: #endif
107: 
108: /* clang-format off */
109: 
110: 
111: /* clang-format on */
112: 
113: void main() {
114: 
115:    vec4 color = color_attrib;
116: 
117: #ifdef USE_INSTANCING
118:    mat4 extra_matrix_instance = extra_matrix * transpose(mat4(instance_xform0, instance_xform1, instance_xform2, vec4(0.0, 0.0, 0.0, 1.0)));
119:    color *= instance_color;
120: 
121: #ifdef USE_INSTANCE_CUSTOM
122:    vec4 instance_custom = instance_custom_data;
123: #else
124:    vec4 instance_custom = vec4(0.0);
125: #endif
126: 
127: #else
128:    mat4 extra_matrix_instance = extra_matrix;
129:    vec4 instance_custom = vec4(0.0);
130: #endif
131: 
132: #ifdef USE_TEXTURE_RECT
133: 
134:    if (dst_rect.z < 0.0) { // Transpose is encoded as negative dst_rect.z
135:        uv_interp = src_rect.xy + abs(src_rect.zw) * vertex.yx;
136:    } else {
137:        uv_interp = src_rect.xy + abs(src_rect.zw) * vertex;
138:    }
139:    highp vec4 outvec = vec4(dst_rect.xy + abs(dst_rect.zw) * mix(vertex, vec2(1.0, 1.0) - vertex, lessThan(src_rect.zw, vec2(0.0, 0.0))), 0.0, 1.0);
140: 
141: #else
142:    uv_interp = uv_attrib;
143:    highp vec4 outvec = vec4(vertex, 0.0, 1.0);
144: #endif
145: 
146: #ifdef USE_PARTICLES
147:    //scale by texture size
148:    outvec.xy /= color_texpixel_size;
149: #endif
150: 
151: #define extra_matrix extra_matrix_instance
152: 
153:    float point_size = 1.0;
154:    //for compatibility with the fragment shader we need to use uv here
155:    vec2 uv = uv_interp;
156:    {
157:        /* clang-format off */
158: 
159: 
160:        /* clang-format on */
161:    }
162: 
163:    gl_PointSize = point_size;
164:    uv_interp = uv;
165: 
166: #ifdef USE_NINEPATCH
167: 
168:    pixel_size_interp = abs(dst_rect.zw) * vertex;
169: #endif
170: 
171: #if !defined(SKIP_TRANSFORM_USED)
172:    outvec = extra_matrix * outvec;
173:    outvec = modelview_matrix * outvec;
174: #endif
175: 
176: #undef extra_matrix
177: 
178:    color_interp = color;
179: 
180: #ifdef USE_PIXEL_SNAP
181:    outvec.xy = floor(outvec + 0.5).xy;
182:    // precision issue on some hardware creates artifacts within texture
183:    // offset uv by a small amount to avoid
184:    uv_interp += 1e-5;
185: #endif
186: 
187: #ifdef USE_SKELETON
188: 
189:    if (bone_weights != vec4(0.0)) { //must be a valid bone
190:        //skeleton transform
191: 
192:        ivec4 bone_indicesi = ivec4(bone_indices);
193: 
194:        ivec2 tex_ofs = ivec2(bone_indicesi.x % 256, (bone_indicesi.x / 256) * 2);
195: 
196:        highp mat2x4 m;
197:        m = mat2x4(
198:                    texelFetch(skeleton_texture, tex_ofs, 0),
199:                    texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0)) *
200:            bone_weights.x;
201: 
202:        tex_ofs = ivec2(bone_indicesi.y % 256, (bone_indicesi.y / 256) * 2);
203: 
204:        m += mat2x4(
205:                     texelFetch(skeleton_texture, tex_ofs, 0),
206:                     texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0)) *
207:             bone_weights.y;
208: 
209:        tex_ofs = ivec2(bone_indicesi.z % 256, (bone_indicesi.z / 256) * 2);
210: 
211:        m += mat2x4(
212:                     texelFetch(skeleton_texture, tex_ofs, 0),
213:                     texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0)) *
214:             bone_weights.z;
215: 
216:        tex_ofs = ivec2(bone_indicesi.w % 256, (bone_indicesi.w / 256) * 2);
217: 
218:        m += mat2x4(
219:                     texelFetch(skeleton_texture, tex_ofs, 0),
220:                     texelFetch(skeleton_texture, tex_ofs + ivec2(0, 1), 0)) *
221:             bone_weights.w;
222: 
223:        mat4 bone_matrix = skeleton_transform * transpose(mat4(m[0], m[1], vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0))) * skeleton_transform_inverse;
224: 
225:        outvec = bone_matrix * outvec;
226:    }
227: 
228: #endif
229: 
230:    gl_Position = projection_matrix * outvec;
231: 
232: #ifdef USE_LIGHTING
233: 
234:    light_uv_interp.xy = (light_matrix * outvec).xy;
235:    light_uv_interp.zw = (light_local_matrix * outvec).xy;
236: 
237:    mat3 inverse_light_matrix = mat3(inverse(light_matrix));
238:    inverse_light_matrix[0] = normalize(inverse_light_matrix[0]);
239:    inverse_light_matrix[1] = normalize(inverse_light_matrix[1]);
240:    inverse_light_matrix[2] = normalize(inverse_light_matrix[2]);
241:    transformed_light_uv = (inverse_light_matrix * vec3(light_uv_interp.zw, 0.0)).xy; //for normal mapping
242: 
243: #ifdef USE_SHADOWS
244:    pos = outvec.xy;
245: #endif
246: 
247:    local_rot.xy = normalize((modelview_matrix * (extra_matrix_instance * vec4(1.0, 0.0, 0.0, 0.0))).xy);
248:    local_rot.zw = normalize((modelview_matrix * (extra_matrix_instance * vec4(0.0, 1.0, 0.0, 0.0))).xy);
249: #ifdef USE_TEXTURE_RECT
250:    local_rot.xy *= sign(src_rect.z);
251:    local_rot.zw *= sign(src_rect.w);
252: #endif
253: 
254: #endif
255: }
256: 
257: /* clang-format off */
258: 
ERROR: _display_error_with_code: CanvasShaderGLES3: Vertex Program Compilation Failed:
ERROR: 24:2: 'GL_ARB_explicit_attrib_location' : extension is disabled
ERROR: 24:4: 'GL_ARB_explicit_attrib_location' : extension is disabled
ERROR: 24:31: 'GL_ARB_explicit_attrib_location' : extension is disabled

   At: drivers/gles3/shader_gles3.cpp:164
ERROR: get_current_version: Method failed. Returning: __null
   At: drivers/gles3/shader_gles3.cpp:342
ERROR: bind: Condition "!version" is true. Returned: false
   At: drivers/gles3/shader_gles3.cpp:123
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379
ERROR: _get_uniform: Condition "!version" is true. Returned: -1
   At: drivers/gles3/shader_gles3.h:379

AIDA64 opengl report

//////////////////////////////////////////////////////////////////
Field   Value
OpenGL Properties   
Vendor  Intel
Renderer    Intel(R) HD Graphics
Version 3.3.0 - Build 8.15.10.2778
Shading Language Version    3.30 - Intel Build 8.15.10.2778
OpenGL DLL  6.1.7600.16385(win7_rtm.090713-1255)
Multitexture Texture Units  8
Occlusion Query Counter Bits    64
Sub-Pixel Precision 4-bit
Max Viewport Size   8192 x 8192
Max Cube Map Texture Size   8192 x 8192
Max Rectangle Texture Size  8192 x 8192
Max 3D Texture Size 2048 x 2048 x 2048
Max Anisotropy  16
Max Clipping Planes 6
Max Display-List Nesting Level  64
Max Draw Buffers    8
Max Evaluator Order 32
Max Light Sources   8
Max Pixel Map Table Size    65536
Max Texture Array Layers    256
Max Texture LOD Bias    15

OpenGL Compliancy   
OpenGL 1.1  Yes  (100%)
OpenGL 1.2  Yes  (100%)
OpenGL 1.3  Yes  (100%)
OpenGL 1.4  Yes  (100%)
OpenGL 1.5  Yes  (100%)
OpenGL 2.0  Yes  (100%)
OpenGL 2.1  Yes  (100%)
OpenGL 3.0  Yes  (100%)
OpenGL 3.1  Yes  (100%)
OpenGL 3.2  Yes  (100%)
OpenGL 3.3  Yes  (100%)
OpenGL 4.0  No  (15%)
OpenGL 4.1  No  (0%)

Max Stack Depth 
Attribute Stack 16
Client Attribute Stack  16
Modelview Matrix Stack  32
Name Stack  128
Projection Matrix Stack 4
Texture Matrix Stack    10

Draw Range Elements 
Max Index Count 1200
Max Vertex Count    1200

Transform Feedback  
Max Interleaved Components  64
Max Separate Attributes 4
Max Separate Components 4

Framebuffer Object  
Max Color Attachments   8
Max Render Buffer Size  4096 x 4096

Vertex Shader   
Max Uniform Vertex Components   1024
Max Varying Floats  41
Max Vertex Texture Image Units  16
Max Combined Texture Image Units    16

Geometry Shader 
Max Geometry Texture Units  16
Max Varying Components  41
Max Geometry Varying Components 32
Max Vertex Varying Components   32
Max Geometry Uniform Components 512
Max Geometry Output Vertices    256
Max Geometry Total Output Components    1024

Fragment Shader 
Max Uniform Fragment Components 1024

Vertex Program  
Max Local Parameters    256
Max Environment Parameters  300
Max Program Matrices    8
Max Program Matrix Stack Depth  2
Max Vertex Attributes   16
Max Instructions    1024
Max Native Instructions 1024
Max Temporaries 31
Max Native Temporaries  31
Max Parameters  512
Max Native Parameters   400
Max Attributes  16
Max Native Attributes   16
Max Address Registers   1
Max Native Address Registers    1

Fragment Program    
Max Local Parameters    256
Max Environment Parameters  256
Max Texture Coordinates 8
Max Texture Image Units 16
Max Instructions    1447
Max Native Instructions 1447
Max Temporaries 256
Max Native Temporaries  256
Max Parameters  512
Max Native Parameters   32
Max Attributes  13
Max Native Attributes   13
Max Address Registers   0
Max Native Address Registers    0
Max ALU Instructions    1447
Max Native ALU Instructions 1447
Max Texture Instructions    1447
Max Native Texture Instructions 1447
Max Texture Indirections    128
Max Native Texture Indirections 128

OpenGL Extensions   
GL_3DFX_multisample Not Supported
GL_3DFX_tbuffer Not Supported
GL_3DFX_texture_compression_FXT1    Supported
GL_3DL_direct_texture_access2   Not Supported
GL_3Dlabs_multisample_transparency_id   Not Supported
GL_3Dlabs_multisample_transparency_range    Not Supported
GL_AMD_blend_minmax_factor  Not Supported
GL_AMD_conservative_depth   Not Supported
GL_AMD_debug_output Not Supported
GL_AMD_depth_clamp_separate Not Supported
GL_AMD_draw_buffers_blend   Not Supported
GL_AMD_name_gen_delete  Not Supported
GL_AMD_performance_monitor  Not Supported
GL_AMD_sample_positions Not Supported
GL_AMD_seamless_cubemap_per_texture Not Supported
GL_AMD_shader_stencil_export    Not Supported
GL_AMD_shader_trace Not Supported
GL_AMD_texture_compression_dxt6 Not Supported
GL_AMD_texture_compression_dxt7 Not Supported
GL_AMD_texture_cube_map_array   Not Supported
GL_AMD_texture_texture4 Not Supported
GL_AMD_transform_feedback3_lines_triangles  Not Supported
GL_AMD_vertex_shader_tessellator    Not Supported
GL_AMDX_debug_output    Not Supported
GL_AMDX_name_gen_delete Not Supported
GL_AMDX_random_access_target    Not Supported
GL_AMDX_vertex_shader_tessellator   Not Supported
GL_APPLE_aux_depth_stencil  Not Supported
GL_APPLE_client_storage Not Supported
GL_APPLE_element_array  Not Supported
GL_APPLE_fence  Not Supported
GL_APPLE_float_pixels   Not Supported
GL_APPLE_flush_buffer_range Not Supported
GL_APPLE_flush_render   Not Supported
GL_APPLE_object_purgeable   Not Supported
GL_APPLE_packed_pixel   Not Supported
GL_APPLE_packed_pixels  Not Supported
GL_APPLE_pixel_buffer   Not Supported
GL_APPLE_rgb_422    Not Supported
GL_APPLE_specular_vector    Not Supported
GL_APPLE_texture_range  Not Supported
GL_APPLE_transform_hint Not Supported
GL_APPLE_vertex_array_object    Not Supported
GL_APPLE_vertex_array_range Not Supported
GL_APPLE_vertex_program_evaluators  Not Supported
GL_APPLE_ycbcr_422  Not Supported
GL_ARB_blend_func_extended  Supported
GL_ARB_color_buffer_float   Supported
GL_ARB_compatibility    Supported
GL_ARB_copy_buffer  Supported
GL_ARB_debug_output Not Supported
GL_ARB_depth_buffer_float   Supported
GL_ARB_depth_clamp  Supported
GL_ARB_depth_texture    Supported
GL_ARB_draw_buffers Supported
GL_ARB_draw_buffers_blend   Supported
GL_ARB_draw_elements_base_vertex    Supported
GL_ARB_draw_indirect    Not Supported
GL_ARB_draw_instanced   Supported
GL_ARB_ES2_compatibility    Not Supported
**GL_ARB_explicit_attrib_location   Supported** 
GL_ARB_fragment_coord_conventions   Supported
GL_ARB_fragment_program Supported
GL_ARB_fragment_program_shadow  Supported
GL_ARB_fragment_shader  Supported
GL_ARB_framebuffer_object   Supported
GL_ARB_framebuffer_sRGB Supported
GL_ARB_geometry_shader4 Supported
GL_ARB_get_program_binary   Not Supported
GL_ARB_gpu_shader_fp64  Not Supported
GL_ARB_gpu_shader5  Not Supported
GL_ARB_half_float_pixel Supported
GL_ARB_half_float_vertex    Supported
GL_ARB_imaging  Not Supported
GL_ARB_instanced_arrays Supported
GL_ARB_make_current_read    Not Supported
GL_ARB_map_buffer_range Supported
GL_ARB_matrix_palette   Not Supported
GL_ARB_multisample  Supported
GL_ARB_multitexture Supported
GL_ARB_occlusion_query  Supported
GL_ARB_occlusion_query2 Supported
GL_ARB_pixel_buffer_object  Supported
GL_ARB_point_parameters Supported
GL_ARB_point_sprite Supported
GL_ARB_provoking_vertex Supported
GL_ARB_robustness   Not Supported
GL_ARB_sample_shading   Not Supported
GL_ARB_sampler_objects  Supported
GL_ARB_seamless_cube_map    Supported
GL_ARB_separate_shader_objects  Not Supported
GL_ARB_shader_atomic_counters   Not Supported
GL_ARB_shader_bit_encoding  Supported
GL_ARB_shader_objects   Supported
GL_ARB_shader_precision Not Supported
GL_ARB_shader_stencil_export    Not Supported
GL_ARB_shader_subroutine    Not Supported
GL_ARB_shader_texture_lod   Not Supported
GL_ARB_shading_language_100 Supported
GL_ARB_shading_language_120 Not Supported
GL_ARB_shading_language_include Not Supported
GL_ARB_shadow   Supported
GL_ARB_shadow_ambient   Not Supported
GL_ARB_swap_buffers Not Supported
GL_ARB_sync Supported
GL_ARB_tessellation_shader  Not Supported
GL_ARB_texture_border_clamp Supported
GL_ARB_texture_buffer_object    Not Supported
GL_ARB_texture_buffer_object_rgb32  Supported
GL_ARB_texture_compression  Supported
GL_ARB_texture_compression_bptc Not Supported
GL_ARB_texture_compression_rgtc Supported
GL_ARB_texture_cube_map Supported
GL_ARB_texture_cube_map_array   Not Supported
GL_ARB_texture_env_add  Supported
GL_ARB_texture_env_combine  Supported
GL_ARB_texture_env_crossbar Supported
GL_ARB_texture_env_dot3 Supported
GL_ARB_texture_float    Supported
GL_ARB_texture_gather   Not Supported
GL_ARB_texture_mirrored_repeat  Not Supported
GL_ARB_texture_multisample  Supported
GL_ARB_texture_non_power_of_two Supported
GL_ARB_texture_query_lod    Supported
GL_ARB_texture_rectangle    Supported
GL_ARB_texture_rg   Supported
GL_ARB_texture_rgb10_a2ui   Supported
GL_ARB_texture_snorm    Not Supported
GL_ARB_texture_swizzle  Not Supported
GL_ARB_timer_query  Supported
GL_ARB_transform_feedback2  Not Supported
GL_ARB_transform_feedback3  Not Supported
GL_ARB_transpose_matrix Supported
GL_ARB_uber_buffers Not Supported
GL_ARB_uber_mem_image   Not Supported
GL_ARB_uber_vertex_array    Not Supported
GL_ARB_uniform_buffer_object    Supported
GL_ARB_vertex_array_bgra    Supported
GL_ARB_vertex_array_object  Supported
GL_ARB_vertex_attrib_64bit  Not Supported
GL_ARB_vertex_blend Not Supported
GL_ARB_vertex_buffer_object Supported
GL_ARB_vertex_program   Supported
GL_ARB_vertex_shader    Supported
GL_ARB_vertex_type_2_10_10_10_rev   Supported
GL_ARB_viewport_array   Not Supported
GL_ARB_window_pos   Supported
GL_ATI_array_rev_comps_in_4_bytes   Not Supported
GL_ATI_blend_equation_separate  Not Supported
GL_ATI_blend_weighted_minmax    Not Supported
GL_ATI_draw_buffers Not Supported
GL_ATI_element_array    Not Supported
GL_ATI_envmap_bumpmap   Not Supported
GL_ATI_fragment_shader  Not Supported
GL_ATI_lock_texture Not Supported
GL_ATI_map_object_buffer    Not Supported
GL_ATI_meminfo  Not Supported
GL_ATI_pixel_format_float   Not Supported
GL_ATI_pn_triangles Not Supported
GL_ATI_point_cull_mode  Not Supported
GL_ATI_separate_stencil Supported
GL_ATI_shader_texture_lod   Not Supported
GL_ATI_text_fragment_shader Not Supported
GL_ATI_texture_compression_3dc  Not Supported
GL_ATI_texture_env_combine3 Not Supported
GL_ATI_texture_float    Not Supported
GL_ATI_texture_mirror_once  Not Supported
GL_ATI_vertex_array_object  Not Supported
GL_ATI_vertex_attrib_array_object   Not Supported
GL_ATI_vertex_blend Not Supported
GL_ATI_vertex_shader    Not Supported
GL_ATI_vertex_streams   Not Supported
GL_ATIX_pn_triangles    Not Supported
GL_ATIX_texture_env_combine3    Not Supported
GL_ATIX_texture_env_route   Not Supported
GL_ATIX_vertex_shader_output_point_size Not Supported
GL_Autodesk_facet_normal    Not Supported
GL_Autodesk_valid_back_buffer_hint  Not Supported
GL_DIMD_YUV Not Supported
GL_EXT_422_pixels   Not Supported
GL_EXT_abgr Supported
GL_EXT_bgra Supported
GL_EXT_bindable_uniform Not Supported
GL_EXT_blend_color  Supported
GL_EXT_blend_equation_separate  Supported
GL_EXT_blend_func_separate  Supported
GL_EXT_blend_logic_op   Not Supported
GL_EXT_blend_minmax Supported
GL_EXT_blend_subtract   Supported
GL_EXT_Cg_shader    Not Supported
GL_EXT_clip_volume_hint Supported
GL_EXT_cmyka    Not Supported
GL_EXT_color_matrix Not Supported
GL_EXT_color_subtable   Not Supported
GL_EXT_color_table  Not Supported
GL_EXT_compiled_vertex_array    Supported
GL_EXT_convolution  Not Supported
GL_EXT_convolution_border_modes Not Supported
GL_EXT_coordinate_frame Not Supported
GL_EXT_copy_buffer  Not Supported
GL_EXT_copy_texture Not Supported
GL_EXT_cull_vertex  Not Supported
GL_EXT_depth_bounds_test    Not Supported
GL_EXT_depth_buffer_float   Not Supported
GL_EXT_direct_state_access  Not Supported
GL_EXT_draw_buffers2    Supported
GL_EXT_draw_indirect    Not Supported
GL_EXT_draw_instanced   Not Supported
GL_EXT_draw_range_elements  Supported
GL_EXT_fog_coord    Supported
GL_EXT_fog_function Not Supported
GL_EXT_fog_offset   Not Supported
GL_EXT_fragment_lighting    Not Supported
GL_EXT_framebuffer_blit Supported
GL_EXT_framebuffer_multisample  Supported
GL_EXT_framebuffer_object   Supported
GL_EXT_framebuffer_sRGB Not Supported
GL_EXT_generate_mipmap  Not Supported
GL_EXT_geometry_shader4 Not Supported
GL_EXT_gpu_program_parameters   Supported
GL_EXT_gpu_shader_fp64  Not Supported
GL_EXT_gpu_shader4  Not Supported
GL_EXT_gpu_shader5  Not Supported
GL_EXT_histogram    Not Supported
GL_EXT_index_array_formats  Not Supported
GL_EXT_index_func   Not Supported
GL_EXT_index_material   Not Supported
GL_EXT_index_texture    Not Supported
GL_EXT_interlace    Not Supported
GL_EXT_light_texture    Not Supported
GL_EXT_misc_attribute   Not Supported
GL_EXT_multi_draw_arrays    Supported
GL_EXT_multisample  Not Supported
GL_EXT_packed_depth_stencil Supported
GL_EXT_packed_float Supported
GL_EXT_packed_pixels    Supported
GL_EXT_packed_pixels_12 Not Supported
GL_EXT_paletted_texture Not Supported
GL_EXT_pixel_buffer_object  Not Supported
GL_EXT_pixel_format Not Supported
GL_EXT_pixel_texture    Not Supported
GL_EXT_pixel_transform  Not Supported
GL_EXT_pixel_transform_color_table  Not Supported
GL_EXT_point_parameters Not Supported
GL_EXT_polygon_offset   Not Supported
GL_EXT_provoking_vertex Not Supported
GL_EXT_rescale_normal   Supported
GL_EXT_scene_marker Not Supported
GL_EXT_secondary_color  Supported
GL_EXT_separate_shader_objects  Not Supported
GL_EXT_separate_specular_color  Supported
GL_EXT_shader_atomic_counters   Not Supported
GL_EXT_shader_image_load_store  Not Supported
GL_EXT_shader_subroutine    Not Supported
GL_EXT_shadow_funcs Supported
GL_EXT_shared_texture_palette   Not Supported
GL_EXT_stencil_clear_tag    Not Supported
GL_EXT_stencil_two_side Supported
GL_EXT_stencil_wrap Supported
GL_EXT_subtexture   Not Supported
GL_EXT_swap_control Not Supported
GL_EXT_tessellation_shader  Not Supported
GL_EXT_texgen_reflection    Not Supported
GL_EXT_texture  Not Supported
GL_EXT_texture_array    Supported
GL_EXT_texture_border_clamp Not Supported
GL_EXT_texture_buffer_object    Not Supported
GL_EXT_texture_buffer_object_rgb32  Not Supported
GL_EXT_texture_color_table  Not Supported
GL_EXT_texture_compression_bptc Not Supported
GL_EXT_texture_compression_dxt1 Not Supported
GL_EXT_texture_compression_latc Not Supported
GL_EXT_texture_compression_rgtc Not Supported
GL_EXT_texture_compression_s3tc Supported
GL_EXT_texture_cube_map Not Supported
GL_EXT_texture_edge_clamp   Supported
GL_EXT_texture_env  Not Supported
GL_EXT_texture_env_add  Supported
GL_EXT_texture_env_combine  Supported
GL_EXT_texture_env_dot3 Not Supported
GL_EXT_texture_filter_anisotropic   Supported
GL_EXT_texture_integer  Supported
GL_EXT_texture_lod  Not Supported
GL_EXT_texture_lod_bias Supported
GL_EXT_texture_mirror_clamp Not Supported
GL_EXT_texture_object   Not Supported
GL_EXT_texture_perturb_normal   Not Supported
GL_EXT_texture_rectangle    Supported
GL_EXT_texture_shared_exponent  Supported
GL_EXT_texture_snorm    Supported
GL_EXT_texture_sRGB Supported
GL_EXT_texture_swizzle  Supported
GL_EXT_texture3D    Supported
GL_EXT_texture4D    Not Supported
GL_EXT_timer_query  Not Supported
GL_EXT_transform_feedback   Supported
GL_EXT_transform_feedback2  Not Supported
GL_EXT_transform_feedback3  Not Supported
GL_EXT_vertex_array Not Supported
GL_EXT_vertex_array_bgra    Not Supported
GL_EXT_vertex_attrib_64bit  Not Supported
GL_EXT_vertex_shader    Not Supported
GL_EXT_vertex_weighting Not Supported
GL_EXTX_framebuffer_mixed_formats   Not Supported
GL_EXTX_packed_depth_stencil    Not Supported
GL_FGL_lock_texture Not Supported
GL_GL2_geometry_shader  Not Supported
GL_GREMEDY_frame_terminator Not Supported
GL_GREMEDY_string_marker    Not Supported
GL_HP_convolution_border_modes  Not Supported
GL_HP_image_transform   Not Supported
GL_HP_occlusion_test    Not Supported
GL_HP_texture_lighting  Not Supported
GL_I3D_argb Not Supported
GL_I3D_color_clamp  Not Supported
GL_I3D_interlace_read   Not Supported
GL_IBM_clip_check   Not Supported
GL_IBM_cull_vertex  Not Supported
GL_IBM_load_named_matrix    Not Supported
GL_IBM_multi_draw_arrays    Not Supported
GL_IBM_multimode_draw_arrays    Not Supported
GL_IBM_occlusion_cull   Not Supported
GL_IBM_pixel_filter_hint    Not Supported
GL_IBM_rasterpos_clip   Not Supported
GL_IBM_rescale_normal   Not Supported
GL_IBM_static_data  Not Supported
GL_IBM_texture_clamp_nodraw Not Supported
GL_IBM_texture_mirrored_repeat  Supported
GL_IBM_vertex_array_lists   Not Supported
GL_IBM_YCbCr    Not Supported
GL_IMG_read_format  Not Supported
GL_IMG_texture_compression_pvrtc    Not Supported
GL_IMG_texture_env_enhanced_fixed_function  Not Supported
GL_IMG_texture_format_BGRA8888  Not Supported
GL_IMG_user_clip_planes Not Supported
GL_IMG_vertex_program   Not Supported
GL_INGR_blend_func_separate Not Supported
GL_INGR_color_clamp Not Supported
GL_INGR_interlace_read  Not Supported
GL_INGR_multiple_palette    Not Supported
GL_INTEL_parallel_arrays    Not Supported
GL_INTEL_performance_queries    Supported
GL_INTEL_texture_scissor    Not Supported
GL_KTX_buffer_region    Not Supported
GL_MESA_pack_invert Not Supported
GL_MESA_program_debug   Not Supported
GL_MESA_resize_buffers  Not Supported
GL_MESA_window_pos  Not Supported
GL_MESA_ycbcr_texture   Not Supported
GL_MESAX_texture_stack  Not Supported
GL_MTX_fragment_shader  Not Supported
GL_MTX_precision_dpi    Not Supported
GL_NV_blend_square  Supported
GL_NV_centroid_sample   Not Supported
GL_NV_conditional_render    Supported
GL_NV_copy_depth_to_color   Not Supported
GL_NV_copy_image    Not Supported
GL_NV_depth_buffer_float    Not Supported
GL_NV_depth_clamp   Not Supported
GL_NV_depth_range_unclamped Not Supported
GL_NV_evaluators    Not Supported
GL_NV_explicit_multisample  Not Supported
GL_NV_fence Not Supported
GL_NV_float_buffer  Not Supported
GL_NV_fog_distance  Not Supported
GL_NV_fragment_program  Not Supported
GL_NV_fragment_program_option   Not Supported
GL_NV_fragment_program2 Not Supported
GL_NV_fragment_program4 Not Supported
GL_NV_framebuffer_multisample_coverage  Not Supported
GL_NV_framebuffer_multisample_ex    Not Supported
GL_NV_geometry_program4 Not Supported
GL_NV_geometry_shader4  Not Supported
GL_NV_gpu_program_fp64  Not Supported
GL_NV_gpu_program4  Not Supported
GL_NV_gpu_program4_1    Not Supported
GL_NV_gpu_program5  Not Supported
GL_NV_gpu_shader5   Not Supported
GL_NV_half_float    Not Supported
GL_NV_light_max_exponent    Not Supported
GL_NV_multisample_coverage  Not Supported
GL_NV_multisample_filter_hint   Not Supported
GL_NV_occlusion_query   Not Supported
GL_NV_packed_depth_stencil  Not Supported
GL_NV_parameter_buffer_object   Not Supported
GL_NV_parameter_buffer_object2  Not Supported
GL_NV_pixel_buffer_object   Not Supported
GL_NV_pixel_data_range  Not Supported
GL_NV_point_sprite  Not Supported
GL_NV_present_video Not Supported
GL_NV_primitive_restart Supported
GL_NV_register_combiners    Not Supported
GL_NV_register_combiners2   Not Supported
GL_NV_shader_buffer_load    Not Supported
GL_NV_shader_buffer_store   Not Supported
GL_NV_tessellation_program5 Not Supported
GL_NV_texgen_emboss Not Supported
GL_NV_texgen_reflection Supported
GL_NV_texture_barrier   Not Supported
GL_NV_texture_compression_latc  Not Supported
GL_NV_texture_compression_vtc   Not Supported
GL_NV_texture_env_combine4  Not Supported
GL_NV_texture_expand_normal Not Supported
GL_NV_texture_multisample   Not Supported
GL_NV_texture_rectangle Not Supported
GL_NV_texture_shader    Not Supported
GL_NV_texture_shader2   Not Supported
GL_NV_texture_shader3   Not Supported
GL_NV_timer_query   Not Supported
GL_NV_transform_feedback    Not Supported
GL_NV_transform_feedback2   Not Supported
GL_NV_vdpau_interop Not Supported
GL_NV_vertex_array_range    Not Supported
GL_NV_vertex_array_range2   Not Supported
GL_NV_vertex_attrib_64bit   Not Supported
GL_NV_vertex_attrib_integer_64bit   Not Supported
GL_NV_vertex_buffer_unified_memory  Not Supported
GL_NV_vertex_program    Not Supported
GL_NV_vertex_program1_1 Not Supported
GL_NV_vertex_program2   Not Supported
GL_NV_vertex_program2_option    Not Supported
GL_NV_vertex_program3   Not Supported
GL_NV_vertex_program4   Not Supported
GL_NVX_conditional_render   Not Supported
GL_NVX_flush_hold   Not Supported
GL_NVX_gpu_memory_info  Not Supported
GL_NVX_instanced_arrays Not Supported
GL_NVX_ycrcb    Not Supported
GL_OES_blend_subtract   Not Supported
GL_OES_byte_coordinates Not Supported
GL_OES_compressed_paletted_texture  Not Supported
GL_OES_conditional_query    Not Supported
GL_OES_depth24  Not Supported
GL_OES_draw_texture Not Supported
GL_OES_fixed_point  Not Supported
GL_OES_framebuffer_object   Not Supported
GL_OES_mapbuffer    Not Supported
GL_OES_matrix_get   Not Supported
GL_OES_matrix_palette   Not Supported
GL_OES_point_size_array Not Supported
GL_OES_point_sprite Not Supported
GL_OES_query_matrix Not Supported
GL_OES_read_format  Not Supported
GL_OES_rgb8_rgba8   Not Supported
GL_OES_single_precision Not Supported
GL_OES_texture_mirrored_repeat  Not Supported
GL_OML_interlace    Not Supported
GL_OML_resample Not Supported
GL_OML_subsample    Not Supported
GL_PGI_misc_hints   Not Supported
GL_PGI_vertex_hints Not Supported
GL_REND_screen_coordinates  Not Supported
GL_S3_performance_analyzer  Not Supported
GL_S3_s3tc  Not Supported
GL_SGI_color_matrix Not Supported
GL_SGI_color_table  Not Supported
GL_SGI_compiled_vertex_array    Not Supported
GL_SGI_cull_vertex  Not Supported
GL_SGI_index_array_formats  Not Supported
GL_SGI_index_func   Not Supported
GL_SGI_index_material   Not Supported
GL_SGI_index_texture    Not Supported
GL_SGI_make_current_read    Not Supported
GL_SGI_texture_add_env  Not Supported
GL_SGI_texture_color_table  Not Supported
GL_SGI_texture_edge_clamp   Not Supported
GL_SGI_texture_lod  Not Supported
GL_SGIS_color_range Not Supported
GL_SGIS_detail_texture  Not Supported
GL_SGIS_fog_function    Not Supported
GL_SGIS_generate_mipmap Supported
GL_SGIS_multisample Not Supported
GL_SGIS_multitexture    Not Supported
GL_SGIS_pixel_texture   Not Supported
GL_SGIS_point_line_texgen   Not Supported
GL_SGIS_sharpen_texture Not Supported
GL_SGIS_texture_border_clamp    Not Supported
GL_SGIS_texture_color_mask  Not Supported
GL_SGIS_texture_edge_clamp  Supported
GL_SGIS_texture_filter4 Not Supported
GL_SGIS_texture_lod Supported
GL_SGIS_texture_select  Not Supported
GL_SGIS_texture4D   Not Supported
GL_SGIX_async   Not Supported
GL_SGIX_async_histogram Not Supported
GL_SGIX_async_pixel Not Supported
GL_SGIX_blend_alpha_minmax  Not Supported
GL_SGIX_clipmap Not Supported
GL_SGIX_convolution_accuracy    Not Supported
GL_SGIX_depth_pass_instrument   Not Supported
GL_SGIX_depth_texture   Not Supported
GL_SGIX_flush_raster    Not Supported
GL_SGIX_fog_offset  Not Supported
GL_SGIX_fog_texture Not Supported
GL_SGIX_fragment_specular_lighting  Not Supported
GL_SGIX_framezoom   Not Supported
GL_SGIX_instruments Not Supported
GL_SGIX_interlace   Not Supported
GL_SGIX_ir_instrument1  Not Supported
GL_SGIX_list_priority   Not Supported
GL_SGIX_pbuffer Not Supported
GL_SGIX_pixel_texture   Not Supported
GL_SGIX_pixel_texture_bits  Not Supported
GL_SGIX_reference_plane Not Supported
GL_SGIX_resample    Not Supported
GL_SGIX_shadow  Not Supported
GL_SGIX_shadow_ambient  Not Supported
GL_SGIX_sprite  Not Supported
GL_SGIX_subsample   Not Supported
GL_SGIX_tag_sample_buffer   Not Supported
GL_SGIX_texture_add_env Not Supported
GL_SGIX_texture_coordinate_clamp    Not Supported
GL_SGIX_texture_lod_bias    Not Supported
GL_SGIX_texture_multi_buffer    Not Supported
GL_SGIX_texture_range   Not Supported
GL_SGIX_texture_scale_bias  Not Supported
GL_SGIX_vertex_preclip  Not Supported
GL_SGIX_vertex_preclip_hint Not Supported
GL_SGIX_ycrcb   Not Supported
GL_SGIX_ycrcb_subsample Not Supported
GL_SUN_convolution_border_modes Not Supported
GL_SUN_global_alpha Not Supported
GL_SUN_mesh_array   Not Supported
GL_SUN_multi_draw_arrays    Not Supported
GL_SUN_read_video_pixels    Not Supported
GL_SUN_slice_accum  Not Supported
GL_SUN_triangle_list    Not Supported
GL_SUN_vertex   Not Supported
GL_SUNX_constant_data   Not Supported
GL_WGL_ARB_extensions_string    Not Supported
GL_WGL_EXT_extensions_string    Not Supported
GL_WGL_EXT_swap_control Not Supported
GL_WIN_phong_shading    Not Supported
GL_WIN_specular_fog Not Supported
GL_WIN_swap_hint    Supported
GLU_EXT_nurbs_tessellator   Not Supported
GLU_EXT_object_space_tess   Not Supported
GLU_SGI_filter4_parameters  Not Supported
GLX_ARB_create_context  Not Supported
GLX_ARB_fbconfig_float  Not Supported
GLX_ARB_framebuffer_sRGB    Not Supported
GLX_ARB_get_proc_address    Not Supported
GLX_ARB_multisample Not Supported
GLX_EXT_fbconfig_packed_float   Not Supported
GLX_EXT_framebuffer_sRGB    Not Supported
GLX_EXT_import_context  Not Supported
GLX_EXT_scene_marker    Not Supported
GLX_EXT_texture_from_pixmap Not Supported
GLX_EXT_visual_info Not Supported
GLX_EXT_visual_rating   Not Supported
GLX_MESA_agp_offset Not Supported
GLX_MESA_copy_sub_buffer    Not Supported
GLX_MESA_pixmap_colormap    Not Supported
GLX_MESA_release_buffers    Not Supported
GLX_MESA_set_3dfx_mode  Not Supported
GLX_NV_present_video    Not Supported
GLX_NV_swap_group   Not Supported
GLX_NV_video_output Not Supported
GLX_OML_swap_method Not Supported
GLX_OML_sync_control    Not Supported
GLX_SGI_cushion Not Supported
GLX_SGI_make_current_read   Not Supported
GLX_SGI_swap_control    Not Supported
GLX_SGI_video_sync  Not Supported
GLX_SGIS_blended_overlay    Not Supported
GLX_SGIS_color_range    Not Supported
GLX_SGIS_multisample    Not Supported
GLX_SGIX_dm_buffer  Not Supported
GLX_SGIX_fbconfig   Not Supported
GLX_SGIX_hyperpipe  Not Supported
GLX_SGIX_pbuffer    Not Supported
GLX_SGIX_swap_barrier   Not Supported
GLX_SGIX_swap_group Not Supported
GLX_SGIX_video_resize   Not Supported
GLX_SGIX_video_source   Not Supported
GLX_SGIX_visual_select_group    Not Supported
GLX_SUN_get_transparent_index   Not Supported
GLX_SUN_video_resize    Not Supported
WGL_3DFX_gamma_control  Not Supported
WGL_3DFX_multisample    Not Supported
WGL_3DL_stereo_control  Not Supported
WGL_AMD_gpu_association Not Supported
WGL_AMDX_gpu_association    Not Supported
WGL_ARB_buffer_region   Supported
WGL_ARB_create_context  Supported
WGL_ARB_create_context_profile  Not Supported
WGL_ARB_create_context_robustness   Not Supported
WGL_ARB_extensions_string   Supported
WGL_ARB_framebuffer_sRGB    Supported
WGL_ARB_make_current_read   Supported
WGL_ARB_multisample Supported
WGL_ARB_pbuffer Supported
WGL_ARB_pixel_format    Supported
WGL_ARB_pixel_format_float  Supported
WGL_ARB_render_texture  Not Supported
WGL_ATI_pbuffer_memory_hint Not Supported
WGL_ATI_pixel_format_float  Not Supported
WGL_ATI_render_texture_rectangle    Not Supported
WGL_EXT_buffer_region   Not Supported
WGL_EXT_create_context_es2_profile  Not Supported
WGL_EXT_depth_float Supported
WGL_EXT_display_color_table Not Supported
WGL_EXT_extensions_string   Supported
WGL_EXT_framebuffer_sRGB    Not Supported
WGL_EXT_framebuffer_sRGBWGL_ARB_create_context  Not Supported
WGL_EXT_gamma_control   Not Supported
WGL_EXT_make_current_read   Not Supported
WGL_EXT_multisample Not Supported
WGL_EXT_pbuffer Not Supported
WGL_EXT_pixel_format    Not Supported
WGL_EXT_pixel_format_packed_float   Supported
WGL_EXT_render_texture  Not Supported
WGL_EXT_swap_control    Supported
WGL_EXT_swap_control_tear   Supported
WGL_EXT_swap_interval   Not Supported
WGL_I3D_digital_video_control   Not Supported
WGL_I3D_gamma   Not Supported
WGL_I3D_genlock Not Supported
WGL_I3D_image_buffer    Not Supported
WGL_I3D_swap_frame_lock Not Supported
WGL_I3D_swap_frame_usage    Not Supported
WGL_MTX_video_preview   Not Supported
WGL_NV_copy_image   Not Supported
WGL_NV_DX_interop   Not Supported
WGL_NV_float_buffer Not Supported
WGL_NV_gpu_affinity Not Supported
WGL_NV_multisample_coverage Not Supported
WGL_NV_present_video    Not Supported
WGL_NV_render_depth_texture Not Supported
WGL_NV_render_texture_rectangle Not Supported
WGL_NV_swap_group   Not Supported
WGL_NV_vertex_array_range   Not Supported
WGL_NV_video_output Not Supported
WGL_NVX_DX_interop  Not Supported
WGL_OML_sync_control    Not Supported

Supported Compressed Texture Formats    
RGB DXT1    Supported
RGBA DXT1   Supported
RGBA DXT3   Supported
RGBA DXT5   Supported
RGB FXT1    Supported
RGBA FXT1   Supported
3Dc Not Supported

Video Adapter Manufacturer  
Company Name    Intel Corporation
Product Information http://www.intel.com/products/chipsets
Driver Download http://support.intel.com/support/graphics
Driver Update   http://www.aida64.com/driver-updates
Calinou commented 4 years ago

@peeterdog Old Intel IGPs have lots of troubles with modern OpenGL. I recommend sticking with GLES2.

Calinou commented 4 years ago

Closing due to lack of response from @komputerboy. This issue can be reopened if they provide the requested information (see the comments above).