Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: GLSL 3.30 is not supported. #451

Closed
ItalianPlumbo47 opened this issue Mar 10, 2016 · 22 comments
Closed

error: GLSL 3.30 is not supported. #451

ItalianPlumbo47 opened this issue Mar 10, 2016 · 22 comments

Comments

@ItalianPlumbo47
Copy link

@ItalianPlumbo47 ItalianPlumbo47 commented Mar 10, 2016

I don't why this is happening. Maybe it has something to do with my Intel card. Maybe it's a bug?

@isage
Copy link
Contributor

@isage isage commented Mar 10, 2016

Yes, it has something to do with your intel card.
Engine requires GPU with OpenGL 3.3 or later.
We'll adapt it to older GPUs later.

@alexeevdv
Copy link
Contributor

@alexeevdv alexeevdv commented Mar 10, 2016

Looks like i have the same error on my notebook.

[INFO] [RENDERER] SDL_CreateWindow 640x480x32 - [OK]
[INFO] [RENDERER] Init OpenGL - [OK]
[INFO] [RENDERER] Using OpenGL 35347984.0
[INFO] [RENDERER] Renderer: Mesa DRI Mobile Intel® GM45 Express Chipset 
[INFO] [RENDERER] Version: 2.1 Mesa 10.1.3
[INFO] [RENDERER] Vendor: Intel Open Source Technology Center
[INFO] [RENDERER] Init GLEW - [OK]
[INFO] [RENDERER] Using GLEW 1.10.0
[INFO] [RENDERER] Extensions: 
[INFO] [RENDERER] GL_ARB_ES2_compatibility
[INFO] [RENDERER] GL_ARB_clear_buffer_object
[INFO] [RENDERER] GL_ARB_color_buffer_float
[INFO] [RENDERER] GL_ARB_copy_buffer
[INFO] [RENDERER] GL_ARB_debug_output
[INFO] [RENDERER] GL_ARB_depth_buffer_float
[INFO] [RENDERER] GL_ARB_depth_clamp
[INFO] [RENDERER] GL_ARB_depth_texture
[INFO] [RENDERER] GL_ARB_draw_buffers
[INFO] [RENDERER] GL_ARB_draw_elements_base_vertex
[INFO] [RENDERER] GL_ARB_draw_instanced
[INFO] [RENDERER] GL_ARB_explicit_attrib_location
[INFO] [RENDERER] GL_ARB_fragment_coord_conventions
[INFO] [RENDERER] GL_ARB_fragment_program
[INFO] [RENDERER] GL_ARB_fragment_program_shadow
[INFO] [RENDERER] GL_ARB_fragment_shader
[INFO] [RENDERER] GL_ARB_framebuffer_object
[INFO] [RENDERER] GL_ARB_framebuffer_sRGB
[INFO] [RENDERER] GL_ARB_get_program_binary
[INFO] [RENDERER] GL_ARB_half_float_pixel
[INFO] [RENDERER] GL_ARB_half_float_vertex
[INFO] [RENDERER] GL_ARB_instanced_arrays
[INFO] [RENDERER] GL_ARB_internalformat_query
[INFO] [RENDERER] GL_ARB_invalidate_subdata
[INFO] [RENDERER] GL_ARB_map_buffer_alignment
[INFO] [RENDERER] GL_ARB_map_buffer_range
[INFO] [RENDERER] GL_ARB_multisample
[INFO] [RENDERER] GL_ARB_multitexture
[INFO] [RENDERER] GL_ARB_occlusion_query2
[INFO] [RENDERER] GL_ARB_occlusion_query
[INFO] [RENDERER] GL_ARB_pixel_buffer_object
[INFO] [RENDERER] GL_ARB_point_parameters
[INFO] [RENDERER] GL_ARB_point_sprite
[INFO] [RENDERER] GL_ARB_provoking_vertex
[INFO] [RENDERER] GL_ARB_robustness
[INFO] [RENDERER] GL_ARB_sampler_objects
[INFO] [RENDERER] GL_ARB_seamless_cube_map
[INFO] [RENDERER] GL_ARB_shader_bit_encoding
[INFO] [RENDERER] GL_ARB_shader_objects
[INFO] [RENDERER] GL_ARB_shader_texture_lod
[INFO] [RENDERER] GL_ARB_shading_language_100
[INFO] [RENDERER] GL_ARB_shadow
[INFO] [RENDERER] GL_ARB_sync
[INFO] [RENDERER] GL_ARB_texture_border_clamp
[INFO] [RENDERER] GL_ARB_texture_compression
[INFO] [RENDERER] GL_ARB_texture_compression_rgtc
[INFO] [RENDERER] GL_ARB_texture_cube_map
[INFO] [RENDERER] GL_ARB_texture_env_add
[INFO] [RENDERER] GL_ARB_texture_env_combine
[INFO] [RENDERER] GL_ARB_texture_env_crossbar
[INFO] [RENDERER] GL_ARB_texture_env_dot3
[INFO] [RENDERER] GL_ARB_texture_float
[INFO] [RENDERER] GL_ARB_texture_mirrored_repeat
[INFO] [RENDERER] GL_ARB_texture_mirror_clamp_to_edge
[INFO] [RENDERER] GL_ARB_texture_non_power_of_two
[INFO] [RENDERER] GL_ARB_texture_rectangle
[INFO] [RENDERER] GL_ARB_texture_rgb10_a2ui
[INFO] [RENDERER] GL_ARB_texture_rg
[INFO] [RENDERER] GL_ARB_texture_storage
[INFO] [RENDERER] GL_ARB_texture_swizzle
[INFO] [RENDERER] GL_ARB_transpose_matrix
[INFO] [RENDERER] GL_ARB_vertex_array_bgra
[INFO] [RENDERER] GL_ARB_vertex_array_object
[INFO] [RENDERER] GL_ARB_vertex_attrib_binding
[INFO] [RENDERER] GL_ARB_vertex_buffer_object
[INFO] [RENDERER] GL_ARB_vertex_program
[INFO] [RENDERER] GL_ARB_vertex_shader
[INFO] [RENDERER] GL_ARB_vertex_type_2_10_10_10_rev
[INFO] [RENDERER] GL_ARB_window_pos
[INFO] [RENDERER] GL_EXT_abgr
[INFO] [RENDERER] GL_EXT_bgra
[INFO] [RENDERER] GL_EXT_blend_color
[INFO] [RENDERER] GL_EXT_blend_equation_separate
[INFO] [RENDERER] GL_EXT_blend_func_separate
[INFO] [RENDERER] GL_EXT_blend_minmax
[INFO] [RENDERER] GL_EXT_blend_subtract
[INFO] [RENDERER] GL_EXT_compiled_vertex_array
[INFO] [RENDERER] GL_EXT_copy_texture
[INFO] [RENDERER] GL_EXT_draw_buffers2
[INFO] [RENDERER] GL_EXT_draw_instanced
[INFO] [RENDERER] GL_EXT_draw_range_elements
[INFO] [RENDERER] GL_EXT_fog_coord
[INFO] [RENDERER] GL_EXT_framebuffer_blit
[INFO] [RENDERER] GL_EXT_framebuffer_object
[INFO] [RENDERER] GL_EXT_framebuffer_sRGB
[INFO] [RENDERER] GL_EXT_gpu_program_parameters
[INFO] [RENDERER] GL_EXT_multi_draw_arrays
[INFO] [RENDERER] GL_EXT_packed_depth_stencil
[INFO] [RENDERER] GL_EXT_packed_float
[INFO] [RENDERER] GL_EXT_packed_pixels
[INFO] [RENDERER] GL_EXT_pixel_buffer_object
[INFO] [RENDERER] GL_EXT_point_parameters
[INFO] [RENDERER] GL_EXT_polygon_offset
[INFO] [RENDERER] GL_EXT_provoking_vertex
[INFO] [RENDERER] GL_EXT_rescale_normal
[INFO] [RENDERER] GL_EXT_secondary_color
[INFO] [RENDERER] GL_EXT_separate_shader_objects
[INFO] [RENDERER] GL_EXT_separate_specular_color
[INFO] [RENDERER] GL_EXT_shadow_funcs
[INFO] [RENDERER] GL_EXT_stencil_two_side
[INFO] [RENDERER] GL_EXT_stencil_wrap
[INFO] [RENDERER] GL_EXT_subtexture
[INFO] [RENDERER] GL_EXT_texture3D
[INFO] [RENDERER] GL_EXT_texture_array
[INFO] [RENDERER] GL_EXT_texture_compression_dxt1
[INFO] [RENDERER] GL_ANGLE_texture_compression_dxt3
[INFO] [RENDERER] GL_ANGLE_texture_compression_dxt5
[INFO] [RENDERER] GL_EXT_texture_compression_rgtc
[INFO] [RENDERER] GL_EXT_texture_compression_s3tc
[INFO] [RENDERER] GL_EXT_texture_cube_map
[INFO] [RENDERER] GL_EXT_texture_edge_clamp
[INFO] [RENDERER] GL_EXT_texture_env_add
[INFO] [RENDERER] GL_EXT_texture_env_combine
[INFO] [RENDERER] GL_EXT_texture_env_dot3
[INFO] [RENDERER] GL_EXT_texture_filter_anisotropic
[INFO] [RENDERER] GL_EXT_texture_integer
[INFO] [RENDERER] GL_EXT_texture_lod_bias
[INFO] [RENDERER] GL_EXT_texture_object
[INFO] [RENDERER] GL_EXT_texture
[INFO] [RENDERER] GL_EXT_texture_rectangle
[INFO] [RENDERER] GL_EXT_texture_shared_exponent
[INFO] [RENDERER] GL_EXT_texture_snorm
[INFO] [RENDERER] GL_EXT_texture_sRGB
[INFO] [RENDERER] GL_EXT_texture_sRGB_decode
[INFO] [RENDERER] GL_EXT_texture_swizzle
[INFO] [RENDERER] GL_EXT_vertex_array_bgra
[INFO] [RENDERER] GL_EXT_vertex_array
[INFO] [RENDERER] GL_OES_EGL_image
[INFO] [RENDERER] GL_OES_read_format
[INFO] [RENDERER] GL_KHR_debug
[INFO] [RENDERER] GL_3DFX_texture_compression_FXT1
[INFO] [RENDERER] GL_AMD_seamless_cubemap_per_texture
[INFO] [RENDERER] GL_AMD_shader_trinary_minmax
[INFO] [RENDERER] GL_APPLE_object_purgeable
[INFO] [RENDERER] GL_APPLE_packed_pixels
[INFO] [RENDERER] GL_APPLE_vertex_array_object
[INFO] [RENDERER] GL_ATI_blend_equation_separate
[INFO] [RENDERER] GL_ATI_draw_buffers
[INFO] [RENDERER] GL_ATI_envmap_bumpmap
[INFO] [RENDERER] GL_ATI_separate_stencil
[INFO] [RENDERER] GL_ATI_texture_env_combine3
[INFO] [RENDERER] GL_ATI_texture_float
[INFO] [RENDERER] GL_IBM_multimode_draw_arrays
[INFO] [RENDERER] GL_IBM_rasterpos_clip
[INFO] [RENDERER] GL_IBM_texture_mirrored_repeat
[INFO] [RENDERER] GL_INGR_blend_func_separate
[INFO] [RENDERER] GL_MESA_pack_invert
[INFO] [RENDERER] GL_MESA_texture_signed_rgba
[INFO] [RENDERER] GL_MESA_window_pos
[INFO] [RENDERER] GL_NV_blend_square
[INFO] [RENDERER] GL_NV_conditional_render
[INFO] [RENDERER] GL_NV_depth_clamp
[INFO] [RENDERER] GL_NV_light_max_exponent
[INFO] [RENDERER] GL_NV_packed_depth_stencil
[INFO] [RENDERER] GL_NV_primitive_restart
[INFO] [RENDERER] GL_NV_texgen_reflection
[INFO] [RENDERER] GL_NV_texture_env_combine4
[INFO] [RENDERER] GL_NV_texture_rectangle
[INFO] [RENDERER] GL_S3_s3tc
[INFO] [RENDERER] GL_SGIS_generate_mipmap
[INFO] [RENDERER] GL_SGIS_texture_border_clamp
[INFO] [RENDERER] GL_SGIS_texture_edge_clamp
[INFO] [RENDERER] GL_SGIS_texture_lod
[INFO] [RENDERER] GL_SUN_multi_draw_arrays
GL Error 1280 at 184, init

My video:
Mobile 4 Series Chipset Integrated Graphics Controller
Intel Corporation i945

@isage
Copy link
Contributor

@isage isage commented Mar 10, 2016

Yep: Version: 2.1 Mesa 10.1.3
And also it reports strange version: Using OpenGL 35347984.0
But don't worry, i have notebook with Intel 945GSE lying around, and i've started to port shaders to 2.1
I'll add support for older GPUs after finishing with lighting (which is almost done)

@alexeevdv
Copy link
Contributor

@alexeevdv alexeevdv commented Mar 10, 2016

That would be awesome :)

@ghost
Copy link

@ghost ghost commented Mar 10, 2016

@zero17333 do you use windows 10? seems like windows 10 has limited support for integrated graphic drivers. some drivers have only have max opengl 1.5 support

@isage
Copy link
Contributor

@isage isage commented Mar 10, 2016

@trollworkout i'm pretty sure it won't even build on windows.

Intel supports opengl 3 only since Sandy Bridge (6th gen of Intel HD)
Intel GMA, however, is whole another story, being even older than IntelHD, going up to 1.5 on win and 2.1 on linux/osx. And then, there's also PoverVR based GPUs, used in Atom processors, which support 2.1.

Anyways, support for gl 2.1 based cards should be done by the end of week, i hope.
I'm afraid we can't/won't support anything lower 2.1, but i'll try.

@ItalianPlumbo47
Copy link
Author

@ItalianPlumbo47 ItalianPlumbo47 commented Mar 14, 2016

@trollworkout Actually I'm using Antergos Linux with a Haswell i3. It is odd how OpenGL is lower than I thought.

@isage Thank you for your effort

@isage
Copy link
Contributor

@isage isage commented Mar 14, 2016

@zero17333 can you provide log from console?

@ItalianPlumbo47
Copy link
Author

@ItalianPlumbo47 ItalianPlumbo47 commented Mar 15, 2016

I'll just give you the relevant stuff:

[INFO] [RENDERER] SDL_CreateWindow 640x480x32 - [OK]
[INFO] [RENDERER] Init OpenGL - [OK]
[INFO] [RENDERER] Using OpenGL 3.0
[INFO] [RENDERER] Renderer: Mesa DRI Intel(R) Haswell Mobile
[INFO] [RENDERER] Version: 3.0 Mesa 11.1.2
[INFO] [RENDERER] Vendor: Intel Open Source Technology Center
[INFO] [RENDERER] Init GLEW - [OK]
[INFO] [RENDERER] Using GLEW 1.13.0

[INFO] Looking for Falltergeist data files
[INFO] Searching in directory: /home/bryan/Documents/falltergeist/data/movies.lst [FOUND]
[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/default.fp
[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/default.vp
[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/sprite.fp
[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/sprite.vp
[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/font.fp
[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/font.vp
[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/animation.fp
[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/animation.vp
[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/tilemap.fp
[INFO] [RENDERER] Loading shader /home/bryan/Documents/falltergeist/data/shaders/tilemap.vp
[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[WARNING] [RENDERER] Failed to compile shader: '0:1(10): error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.00 ES, and 3.00 ES

[INFO] [RENDERER] [OK]
[INFO] [RENDERER] Generating buffers
GL Error 1281 at 184, init%

@teepean
Copy link
Contributor

@teepean teepean commented Mar 15, 2016

It might be fixed in Falltergeist itself. "It's very probably because you don't specifically ask the OpenGL implementation (in this case mesa) for Core Profile because only Haswell OpenGL core profile supports GLSL 3.30, as shown in this Haswell glxinfo dump: "

http://darmawan-salihun.blogspot.fi/2015/03/glsl-330-in-intel-haswell-cpu.html

@isage
Copy link
Contributor

@isage isage commented Mar 15, 2016

Yep, that's what i thought. Strange, tho, hasswell should support 3.3 on linux.
Anyway, should be fixed in latest master.

@teepean
Copy link
Contributor

@teepean teepean commented Mar 15, 2016

Thinking again SDL might be the place to fix the issue.

@isage
Copy link
Contributor

@isage isage commented Mar 15, 2016

@teepean we specifically ask for core profile. That's why we fall back to 2.1 (in latest master) on anything lower 3.2, because 3.1 is rare, and 3.0 shaders are deprecated in core profile.

@isage
Copy link
Contributor

@isage isage commented Mar 15, 2016

@zero17333 can you also post output of glxinfo | grep OpenGL

@isage
Copy link
Contributor

@isage isage commented Mar 15, 2016

Hm, that might be, however sdl/mesa bug. As we dont specify version, only that we want core context, mesa can still choose lowest, meh. I'll see what i can do, but first i need confirmation with info above

@ItalianPlumbo47
Copy link
Author

@ItalianPlumbo47 ItalianPlumbo47 commented Mar 15, 2016

Did someone change something between when I first posted this and now? It seems to working now for some reason after git pull and rebuilding. The first time I tried this it didn't work after doing it 7-8 times.

AFTER the rebuild it worked immediately and I can start the game

@isage
Copy link
Contributor

@isage isage commented Mar 16, 2016

Yes, as I've said, we added render path for opengl < 3.2, but i still need that glxinfo, because you should get ogl 3.3 on your system

@ItalianPlumbo47
Copy link
Author

@ItalianPlumbo47 ItalianPlumbo47 commented Mar 16, 2016

glxinfo | grep OpenGL [21:06:44]
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 11.1.2
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 11.1.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.1.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

@isage
Copy link
Contributor

@isage isage commented Mar 16, 2016

Yep, that's definitely mesa-related bug. I'll look into it.

@isage
Copy link
Contributor

@isage isage commented Mar 17, 2016

@zero17333 could you try adding after https://github.com/falltergeist/falltergeist/blob/master/src/Graphics/Renderer.cpp#L107

SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 0);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0);

And see, it you'll get 3.3 profile instead of 3.0

@ItalianPlumbo47
Copy link
Author

@ItalianPlumbo47 ItalianPlumbo47 commented Mar 18, 2016

I added those lines between

SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_CORE);

and

SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);

and I got:

[CRITICAL] Init OpenGL - [FAIL]

It was definitely in Renderer.cpp and it was on lines 108 and 109

@isage
Copy link
Contributor

@isage isage commented Mar 18, 2016

Yep, i've already tested this myself. Anyway, after #457 is merged you should finally get 3.2 context on mesa.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.