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

OpenGL errors on Windows with Intel HD4000 #2571

Closed
deveee opened this issue Jul 11, 2016 · 25 comments
Closed

OpenGL errors on Windows with Intel HD4000 #2571

deveee opened this issue Jul 11, 2016 · 25 comments

Comments

@deveee
Copy link
Member

deveee commented Jul 11, 2016

The game looks generally fine, but some errors are printed to the console. The stable 0.9.2 version doesn't show any errors, but this may be ralated to release/debug build. I didn't look at the reason yet. Here is the stdout.log:

[info   ] [FileManager]: Data files will be fetched from: 'data/'
[info   ] [FileManager]: User directory is 'C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/'.
[info   ] [FileManager]: Addons files will be stored in 'C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/../addons/'.
[info   ] [FileManager]: Screenshots will be stored in 'C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/screenshots/'.
[info   ] [FileManager]: User-defined grand prix will be stored in 'C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/grandprix/'.
[info   ] [FileManager]: Asset 0 will be loaded from 'data/challenges/'.
[info   ] [FileManager]: Asset 1 will be loaded from 'data/gfx/'.
[info   ] [FileManager]: Asset 2 will be loaded from 'data/grandprix/'.
[info   ] [FileManager]: Asset 3 will be loaded from 'data/gui/'.
[info   ] [FileManager]: Asset 4 will be loaded from 'data/library/'.
[info   ] [FileManager]: Asset 5 will be loaded from 'data/models/'.
[info   ] [FileManager]: Asset 6 will be loaded from 'data/music/'.
[info   ] [FileManager]: Asset 7 will be loaded from 'data/replay/'.
[info   ] [FileManager]: Asset 8 will be loaded from 'data/tracks/'.
[info   ] [FileManager]: Asset 9 will be loaded from 'data/sfx/'.
[info   ] [FileManager]: Asset 10 will be loaded from 'data/shaders/'.
[info   ] [FileManager]: Asset 11 will be loaded from 'data/skins/'.
[info   ] [FileManager]: Asset 12 will be loaded from 'data/textures/'.
[info   ] [FileManager]: Asset 13 will be loaded from 'data/ttf/'.
[info   ] [FileManager]: Asset 14 will be loaded from 'data/po/'.
[verbose  ] translation: GetLocaleInfo langname returns 'pl'.
[verbose  ] translation: GetLocaleInfo tryname returns 'PL'.
[verbose  ] translation: Env var LANGUAGE = 'pl_PL'.
[verbose  ] translation: Language 'Polish (Poland)'.
[warn   ] tinygettext: jbo.po: warning: ignoring, unknown language
[warn   ] tinygettext: no.po: warning: ignoring, unknown language
[warn   ] tinygettext: no_no.po: warning: ignoring, unknown language
[warn   ] tinygettext: sc.po: warning: ignoring, unknown language
[warn   ] tinygettext: sco.po: warning: ignoring, unknown language
[warn   ] tinygettext: jbo.po: warning: ignoring, unknown language
[warn   ] tinygettext: no.po: warning: ignoring, unknown language
[warn   ] tinygettext: no_no.po: warning: ignoring, unknown language
[warn   ] tinygettext: sc.po: warning: ignoring, unknown language
[warn   ] tinygettext: sco.po: warning: ignoring, unknown language
[warn   ] [IrrDriver Temp Logger]: Level 3: Compression mode not supported.

[warn   ] [IrrDriver Temp Logger]: Level 3: Error: Could not load built-in Font. Did you compile without the BMP loader?

[info   ] IrrDriver: OpenGL version: 4.0
[info   ] IrrDriver: OpenGL vendor: Intel
[info   ] IrrDriver: OpenGL renderer: Intel(R) HD Graphics 4000
[info   ] IrrDriver: OpenGL version string: 4.0.0 - Build 10.18.10.4276
[info   ] GLDriver: ARB Buffer Storage Present
[info   ] GLDriver: ARB Base Instance Present
[info   ] GLDriver: ARB Draw Indirect Present
[info   ] GLDriver: ARB Arrays of Arrays Present
[info   ] GLDriver: ARB Texture Storage Present
[info   ] GLDriver: ARB Shader Atomic Counters Present
[info   ] GLDriver: ARB Multi Draw Indirect Present
[info   ] GLDriver: ARB Uniform Buffer Object Present
[info   ] GLDriver: ARB Explicit Attrib Location Present
[info   ] GLDriver: Geometry Shaders Present
[info   ] irr_driver: GLSL supported.
[info   ] Freetype Environment: Loading fonts...
[info   ] Freetype Environment: DPI for Normal Font is 25.
[info   ] Freetype Environment: DPI for Title Font is 51.
[info   ] Freetype Environment: DPI for Digit Font is 37.
[info   ] ScalableFont::loadTTF: Created 15 glyphs supporting 16 characters for high-res digits font Sigmar using 1 glyph page(s).
[info   ] ScalableFont::loadTTF: Created 101 glyphs supporting 166 characters for bold title font Ubuntu using 1 glyph page(s).
[info   ] ScalableFont::loadTTF: Created 98 glyphs supporting 101 characters for normal font Ubuntu using 1 glyph page(s).
[info   ] shader: Compiling shader : texturedquad.vert
[info   ] shader: Compiling shader : texturedquad.frag
[info   ] shader: Compiling shader : texturedquad.vert
[info   ] shader: Compiling shader : uniformcolortexturedquad.frag
[info   ] shader: Compiling shader : colortexturedquad.vert
[info   ] shader: Compiling shader : colortexturedquad.frag
[info   ] addons: Using cached addons.xml.
[info   ] HTTPRequest: Downloading http://addons.supertuxkart.net/dl/images/857358965734d813e4cd1.jpg
[info   ] GrandPrixManager: Loading Grand Prix files from data/grandprix/
[info   ] GrandPrixManager: Loading Grand Prix files from C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/grandprix/
[info   ] shader: Compiling shader : coloredquad.vert
[info   ] shader: Compiling shader : coloredquad.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : utils/encode_normal.frag
[info   ] shader: Compiling shader : object_pass1.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : utils/encode_normal.frag
[info   ] shader: Compiling shader : objectref_pass1.frag
[info   ] shader: Compiling shader : grass_pass.vert
[info   ] shader: Compiling shader : utils/encode_normal.frag
[info   ] shader: Compiling shader : objectref_pass1.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : utils/encode_normal.frag
[info   ] shader: Compiling shader : normalmap.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : utils/encode_normal.frag
[info   ] shader: Compiling shader : instanced_object_pass1.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : utils/encode_normal.frag
[info   ] shader: Compiling shader : instanced_objectref_pass1.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_grass.vert
[info   ] shader: Compiling shader : utils/encode_normal.frag
[info   ] shader: Compiling shader : instanced_objectref_pass1.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : utils/encode_normal.frag
[info   ] shader: Compiling shader : instanced_normalmap.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : utils/decodeNormal.frag
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : utils/DiffuseIBL.frag
[info   ] shader: Compiling shader : utils/SpecularIBL.frag
[info   ] shader: Compiling shader : IBL.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : utils/decodeNormal.frag
[info   ] shader: Compiling shader : utils/SpecularBRDF.frag
[info   ] shader: Compiling shader : utils/DiffuseBRDF.frag
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : utils/SunMRP.frag
[info   ] shader: Compiling shader : sunlight.frag
[info   ] shader: Compiling shader : pointlight.vert
[info   ] shader: Compiling shader : utils/decodeNormal.frag
[info   ] shader: Compiling shader : utils/SpecularBRDF.frag
[info   ] shader: Compiling shader : utils/DiffuseBRDF.frag
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : pointlight.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : linearizedepth.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : utils/decodeNormal.frag
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : ssao.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : bilateralH.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : bilateralV.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : utils/rgb_conversion.frag
[info   ] shader: Compiling shader : object_pass2.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : objectref_pass2.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : object_unlit.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : splatting.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : objectpass_spheremap.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : detailed_object_pass2.frag
[info   ] shader: Compiling shader : grass_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : grass_pass2.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : utils/rgb_conversion.frag
[info   ] shader: Compiling shader : instanced_object_pass2.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : instanced_objectref_pass2.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_object_unlit.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : instanced_objectpass_spheremap.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : instanced_detailed_object_pass2.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_grass.vert
[info   ] shader: Compiling shader : utils/getLightFactor.frag
[info   ] shader: Compiling shader : instanced_grass_pass2.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : glow_object.vert
[info   ] shader: Compiling shader : glow_object.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : glow.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : transparent.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : passthrough.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : utils/getRGBfromCIEXxy.frag
[info   ] shader: Compiling shader : utils/getCIEXYZ.frag
[info   ] shader: Compiling shader : tonemap.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : mlaa_color1.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : mlaa_blend2.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : mlaa_neigh3.frag
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[verbose  ] RaceManager: Nb of karts=4, ghost karts:0 ai:3 players:1

[info   ] Singleton: Destroyed singleton.
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : importance_sampling_specular.frag
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[info   ] shader: Compiling shader : shadow.vert
[info   ] shader: Compiling shader : shadow.geom
[info   ] shader: Compiling shader : shadow.frag
[info   ] shader: Compiling shader : shadow.vert
[info   ] shader: Compiling shader : shadow.geom
[info   ] shader: Compiling shader : shadowref.frag
[info   ] shader: Compiling shader : shadow_grass.vert
[info   ] shader: Compiling shader : shadow.geom
[info   ] shader: Compiling shader : instanced_shadowref.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanciedshadow.vert
[info   ] shader: Compiling shader : instanced_shadow.geom
[info   ] shader: Compiling shader : shadow.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanciedshadow.vert
[info   ] shader: Compiling shader : instanced_shadow.geom
[info   ] shader: Compiling shader : instanced_shadowref.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanciedgrassshadow.vert
[info   ] shader: Compiling shader : instanced_shadow.geom
[info   ] shader: Compiling shader : instanced_shadowref.frag
[info   ] shader: Compiling shader : rsm.vert
[info   ] shader: Compiling shader : rsm.frag
[info   ] shader: Compiling shader : rsm.vert
[info   ] shader: Compiling shader : splatting_rsm.frag
[info   ] shader: Compiling shader : utils/getworldmatrix.vert
[info   ] shader: Compiling shader : instanced_rsm.vert
[info   ] shader: Compiling shader : instanced_rsm.frag
[info   ] shader: Compiling shader : slicedscreenquad.vert
[info   ] shader: Compiling shader : rhpassthrough.geom
[info   ] shader: Compiling shader : rh.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : utils/decodeNormal.frag
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : gi.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : utils/decodeNormal.frag
[info   ] shader: Compiling shader : utils/SpecularBRDF.frag
[info   ] shader: Compiling shader : utils/DiffuseBRDF.frag
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : utils/SunMRP.frag
[info   ] shader: Compiling shader : sunlightshadow.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : fog.frag
[info   ] shader: Compiling shader : sky.vert
[info   ] shader: Compiling shader : sky.frag
[info   ] shader: Compiling shader : pointlight.vert
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : pointlightscatter.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : gaussian6v.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : gaussian6h.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : transparentfog.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : dof.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : colorize.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : godfade.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : gaussian3v.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : gaussian3h.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : godray.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : utils/getCIEXYZ.frag
[info   ] shader: Compiling shader : utils/getRGBfromCIEXxy.frag
[info   ] shader: Compiling shader : bloom.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : bloomblend.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : lensblend.frag
[info   ] shader: Compiling shader : pointemitter.vert
[info   ] shader: Compiling shader : particle.vert
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : particle.frag
[info   ] shader: Compiling shader : particlesimheightmap.vert
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[info   ] shader: Compiling shader : flipparticle.vert
[info   ] shader: Compiling shader : utils/getPosFromUVDepth.frag
[info   ] shader: Compiling shader : particle.frag
[info   ] Singleton: Destroyed singleton.
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
@deveee
Copy link
Member Author

deveee commented Jul 14, 2016

In release mode it's fine because:

#ifdef DEBUG
#if !defined(__APPLE__)
#define ARB_DEBUG_OUTPUT
#endif
#endif

And at least particles heightmap seems to be affected because weather particles don't work as expected (there is a while when rain falls, then a while when it doesn't fall, then again it falls etc.)

@Elderme
Copy link
Contributor

Elderme commented Jul 23, 2016

I'm trying to understand the GL_INVALID_OPERATION (I cannot reproduce the issue). I've looked up in OpenGL specifications when glDrawArrays can generate a GL_INVALID_OPERATION, but everything seems to be ok, I cannot understand why it throws an error (and why only when face = 0?).

I've tried to upload data in sampleBuffer in Skybox::generateSpecularCubemap using a different way:
https://github.com/Elderme/stk-code/tree/issue_2571

Can you try this branch, and tell me if it changes something?

@Benau
Copy link
Contributor

Benau commented Jul 24, 2016

Using this branch in my 4770k onboard:

GL_INVALID_OPERATION only comes once when level = 0 and face = 0 in glDrawArrays(GL_TRIANGLES, 0, 3) skybox.cpp:303

and the other is from glDrawArrays(GL_POINTS, 0, m_count); gpu_particles.cpp:496
there is total 55 particle lists, and this happen when i = 46

So in short, 7 GL_INVALID_OPERATIONs were fixed!
Let me know if you want more details

@deveee
Copy link
Member Author

deveee commented Aug 18, 2016

I tried your fix and it looks slightly better now (it displays only one error in importance_sampling_specular.frag). Stdout.log in attachment.

Actually both importance_sampling_specular.frag and particlesimheightmap.vert are using uniform samplerBuffer, so maybe it's related to this feature.

[info   ] [FileManager]: Data files will be fetched from: 'data/'
[info   ] [FileManager]: User directory is 'C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/'.
[info   ] [FileManager]: Addons files will be stored in 'C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/../addons/'.
[info   ] [FileManager]: Screenshots will be stored in 'C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/screenshots/'.
[info   ] [FileManager]: User-defined grand prix will be stored in 'C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/grandprix/'.
[info   ] [FileManager]: Asset 0 will be loaded from 'data/challenges/'.
[info   ] [FileManager]: Asset 1 will be loaded from 'data/gfx/'.
[info   ] [FileManager]: Asset 2 will be loaded from 'data/grandprix/'.
[info   ] [FileManager]: Asset 3 will be loaded from 'data/gui/'.
[info   ] [FileManager]: Asset 4 will be loaded from 'data/library/'.
[info   ] [FileManager]: Asset 5 will be loaded from 'data/models/'.
[info   ] [FileManager]: Asset 6 will be loaded from 'data/music/'.
[info   ] [FileManager]: Asset 7 will be loaded from 'data/replay/'.
[info   ] [FileManager]: Asset 8 will be loaded from 'data/tracks/'.
[info   ] [FileManager]: Asset 9 will be loaded from 'data/sfx/'.
[info   ] [FileManager]: Asset 10 will be loaded from 'data/shaders/'.
[info   ] [FileManager]: Asset 11 will be loaded from 'data/skins/'.
[info   ] [FileManager]: Asset 12 will be loaded from 'data/textures/'.
[info   ] [FileManager]: Asset 13 will be loaded from 'data/ttf/'.
[info   ] [FileManager]: Asset 14 will be loaded from 'data/po/'.
[verbose  ] translation: GetLocaleInfo langname returns 'pl'.
[verbose  ] translation: GetLocaleInfo tryname returns 'PL'.
[verbose  ] translation: Env var LANGUAGE = 'pl_PL'.
[verbose  ] translation: Language 'Polish (Poland)'.
[warn   ] tinygettext: jbo.po: warning: ignoring, unknown language
[warn   ] tinygettext: no.po: warning: ignoring, unknown language
[warn   ] tinygettext: no_no.po: warning: ignoring, unknown language
[warn   ] tinygettext: sc.po: warning: ignoring, unknown language
[warn   ] tinygettext: sco.po: warning: ignoring, unknown language
[warn   ] tinygettext: jbo.po: warning: ignoring, unknown language
[warn   ] tinygettext: no.po: warning: ignoring, unknown language
[warn   ] tinygettext: no_no.po: warning: ignoring, unknown language
[warn   ] tinygettext: sc.po: warning: ignoring, unknown language
[warn   ] tinygettext: sco.po: warning: ignoring, unknown language
[warn   ] [IrrDriver Temp Logger]: Level 3: Compression mode not supported.

[warn   ] [IrrDriver Temp Logger]: Level 3: Error: Could not load built-in Font. Did you compile without the BMP loader?

[info   ] IrrDriver: OpenGL version: 4.0
[info   ] IrrDriver: OpenGL vendor: Intel
[info   ] IrrDriver: OpenGL renderer: Intel(R) HD Graphics 4000
[info   ] IrrDriver: OpenGL version string: 4.0.0 - Build 10.18.10.4276
[info   ] GLDriver: ARB Buffer Storage Present
[info   ] GLDriver: ARB Base Instance Present
[info   ] GLDriver: ARB Draw Indirect Present
[info   ] GLDriver: ARB Arrays of Arrays Present
[info   ] GLDriver: ARB Texture Storage Present
[info   ] GLDriver: ARB Shader Atomic Counters Present
[info   ] GLDriver: ARB Multi Draw Indirect Present
[info   ] GLDriver: ARB Uniform Buffer Object Present
[info   ] GLDriver: ARB Explicit Attrib Location Present
[info   ] GLDriver: Geometry Shaders Present
[info   ] irr_driver: GLSL supported.
[info   ] shader: Compiling shader : texturedquad.vert
[info   ] shader: Compiling shader : texturedquad.frag
[info   ] shader: Compiling shader : texturedquad.vert
[info   ] shader: Compiling shader : uniformcolortexturedquad.frag
[info   ] shader: Compiling shader : colortexturedquad.vert
[info   ] shader: Compiling shader : colortexturedquad.frag
[info   ] addons: Using cached addons.xml.
[info   ] HTTPRequest: Downloading https://addons.supertuxkart.net/dl/images/857358965734d813e4cd1.jpg
[info   ] GrandPrixManager: Loading Grand Prix files from data/grandprix/
[info   ] GrandPrixManager: Loading Grand Prix files from C:\Users\Ja\AppData\Roaming/supertuxkart/0.8.2/grandprix/
[info   ] shader: Compiling shader : coloredquad.vert
[info   ] shader: Compiling shader : coloredquad.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : object_pass1.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : objectref_pass1.frag
[info   ] shader: Compiling shader : grass_pass.vert
[info   ] shader: Compiling shader : objectref_pass1.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : normalmap.frag
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_object_pass1.frag
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_objectref_pass1.frag
[info   ] shader: Compiling shader : instanced_grass.vert
[info   ] shader: Compiling shader : instanced_objectref_pass1.frag
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_normalmap.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : IBL.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : sunlight.frag
[info   ] shader: Compiling shader : pointlight.vert
[info   ] shader: Compiling shader : pointlight.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : linearizedepth.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : ssao.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : bilateralH.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : bilateralV.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : object_pass2.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : objectref_pass2.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : object_unlit.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : splatting.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : objectpass_spheremap.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : detailed_object_pass2.frag
[info   ] shader: Compiling shader : grass_pass.vert
[info   ] shader: Compiling shader : grass_pass2.frag
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_object_pass2.frag
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_objectref_pass2.frag
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_object_unlit.frag
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_objectpass_spheremap.frag
[info   ] shader: Compiling shader : instanced_object_pass.vert
[info   ] shader: Compiling shader : instanced_detailed_object_pass2.frag
[info   ] shader: Compiling shader : instanced_grass.vert
[info   ] shader: Compiling shader : instanced_grass_pass2.frag
[info   ] shader: Compiling shader : glow_object.vert
[info   ] shader: Compiling shader : glow_object.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : glow.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : transparent.frag
[info   ] HTTPRequest: Downloading https://addons.supertuxkart.net/dl/images/2030464435579b69650be77.png
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : passthrough.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : tonemap.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : mlaa_color1.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : mlaa_blend2.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : mlaa_neigh3.frag
[verbose  ] RaceManager: Nb of karts=4, ghost karts:0 ai:3 players:1

[warn   ] material: initParticlesEffect: Unknown condition '' for material 'sea.png'
[info   ] Singleton: Destroyed singleton.
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : importance_sampling_specular.frag
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[info   ] shader: Compiling shader : shadow.vert
[info   ] shader: Compiling shader : shadow.geom
[info   ] shader: Compiling shader : shadow.frag
[info   ] shader: Compiling shader : shadow.vert
[info   ] shader: Compiling shader : shadow.geom
[info   ] shader: Compiling shader : shadowref.frag
[info   ] shader: Compiling shader : shadow_grass.vert
[info   ] shader: Compiling shader : shadow.geom
[info   ] shader: Compiling shader : instanced_shadowref.frag
[info   ] shader: Compiling shader : instanciedshadow.vert
[info   ] shader: Compiling shader : instanced_shadow.geom
[info   ] shader: Compiling shader : shadow.frag
[info   ] shader: Compiling shader : instanciedshadow.vert
[info   ] shader: Compiling shader : instanced_shadow.geom
[info   ] shader: Compiling shader : instanced_shadowref.frag
[info   ] shader: Compiling shader : instanciedgrassshadow.vert
[info   ] shader: Compiling shader : instanced_shadow.geom
[info   ] shader: Compiling shader : instanced_shadowref.frag
[info   ] shader: Compiling shader : rsm.vert
[info   ] shader: Compiling shader : rsm.frag
[info   ] shader: Compiling shader : rsm.vert
[info   ] shader: Compiling shader : splatting_rsm.frag
[info   ] shader: Compiling shader : instanced_rsm.vert
[info   ] shader: Compiling shader : instanced_rsm.frag
[info   ] shader: Compiling shader : slicedscreenquad.vert
[info   ] shader: Compiling shader : rhpassthrough.geom
[info   ] shader: Compiling shader : rh.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : gi.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : sunlightshadow.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : fog.frag
[info   ] shader: Compiling shader : sky.vert
[info   ] shader: Compiling shader : sky.frag
[info   ] shader: Compiling shader : pointlight.vert
[info   ] shader: Compiling shader : pointlightscatter.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : gaussian6v.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : gaussian6h.frag
[info   ] shader: Compiling shader : object_pass.vert
[info   ] shader: Compiling shader : transparentfog.frag
[info   ] shader: Compiling shader : displace.vert
[info   ] shader: Compiling shader : white.frag
[info   ] shader: Compiling shader : displace.vert
[info   ] shader: Compiling shader : displace.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : dof.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : bloom.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : bloomblend.frag
[info   ] shader: Compiling shader : screenquad.vert
[info   ] shader: Compiling shader : lensblend.frag
[info   ] shader: Compiling shader : pointemitter.vert
[info   ] shader: Compiling shader : particle.vert
[info   ] shader: Compiling shader : particle.frag
[info   ] shader: Compiling shader : particlesimheightmap.vert
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_OPERATION
[info   ] HTTPRequest: Downloading https://addons.supertuxkart.net/dl/images/52599893957b1aecb6477a.png
[info   ] HTTPRequest: Downloading https://addons.supertuxkart.net/dl/images/23382723557b1af4ff3663.png
[info   ] Singleton: Destroyed singleton.
[verbose  ] Thread: Start waiting 393.695000
[verbose  ] Thread: Waited 0.639000 seconds for thread to become deleteable.
[verbose  ] Thread: Stop waiting 394.334000
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[warn   ] GLWrap: OpenGL debug callback - API
[warn   ] GLWrap:     Error type : ERROR
[warn   ] GLWrap:     Severity : HIGH
[warn   ] GLWrap:     Message : GL error GL_INVALID_VALUE
[error  ] LeackCheck: leaks detected!!
[error  ] LeackCheck: 

* * * * WARNING * * * * WARNING * * * * MEMORY LEAK! * * * *
[error  ] LeackCheck: 1 watched objects leaking.
[error  ] LeakCheck: Undeleted object at /home/Dokumenty/programowanie/supertuxkart/supertuxkart-git/src/online/request.hpp : 65

@Elderme
Copy link
Contributor

Elderme commented Aug 19, 2016

For the skybox it seems that your driver "prefers" uploading data in sampleBuffer with glMapBuffer instead of glBufferData.
So I've tried a similar modification in ParticleSystemProxy::setHeightmap.

Can you test?
https://github.com/Elderme/stk-code/tree/issue_2571

@deveee
Copy link
Member Author

deveee commented Aug 19, 2016

Unfortunately it doesn't work for me too. @Benau are weather particles broken for you either, or you just see these errors in console?

@Benau
Copy link
Contributor

Benau commented Aug 19, 2016

No idea, i don't notice gameplay so much when testing...

@Benau
Copy link
Contributor

Benau commented Feb 12, 2017

Because GL_ARB_texture_buffer_object is missing in hd graphics * with intel

http://addons.supertuxkart.net:8080/opengl/feature/GL_ARB_texture_buffer_object

but http://addons.supertuxkart.net:8080/opengl/feature/GL_ARB_texture_buffer_object_rgb32 supports

So, either we do if !cvs->GL_ARB_texture_buffer_object return;

or we explicitly use rgb32 texture buffer only (waste 1 float for each buffer)

or use shader storage block (less supports (4.3 feature))

(actually GL_ARB_texture_buffer_object_rgb32 has support from more players)

What do you prefer?

Benau added a commit that referenced this issue Feb 12, 2017
Also allow to use setTextureUnits for texture buffer
@Benau
Copy link
Contributor

Benau commented Feb 12, 2017

For now I do the return trick

Btw https://www.khronos.org/opengl/wiki/Buffer_Texture#Image_formats, it said Note that the three-component formats can only be used in GL 4.0 or with _rgb32.

If we care about space / use a more "straight forward approach", we should stick with ARB_texture_buffer_object?

@deveee
Copy link
Member Author

deveee commented Feb 12, 2017

Could you tell me what exactly needs this extension? I trust you that it's needed. It's just interesting for me, because I was looking at this before and I thoutht that all needed features are available in OpenGL 4.0.

Btw. it was also returning an error in importance sampling specular shader - probably both are related to sampler buffer uniform.

And weather particles work just fine without heightmap, so it's not that big problem to just disable it on windows for intel HD4000.

@Benau
Copy link
Contributor

Benau commented Feb 12, 2017

https://www.khronos.org/opengl/wiki/Buffer_Texture

It said

In GLSL, buffer textures can only be accessed with the texelFetch​ function. This function takes pixel offsets into the texture rather than normalized texture coordinates. The sampler types for buffer textures are gsamplerBuffer

unfortuately seems all intel on windows lack this extension, not even the ext one, but rgb32 present

@Benau
Copy link
Contributor

Benau commented Feb 13, 2017

For your info, even I change internal format to glTexBuffer(GL_TEXTURE_BUFFER, GL_RGB32F, sample_buffer) there is still opengl errors

Probably we can conclude that intel on windows doesn't support texture buffer object at all (or something else?)

Otherwise can we close this?

@deveee
Copy link
Member Author

deveee commented Feb 13, 2017

I looked at this and the ARB_texture_buffer_object looks more like a OpenGL 2.1 extension. There are luminance/intensity formats and not GL_RED/GL_RG.

Also in https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_texture_buffer_object_rgb32.txt they say:

    This extension adds three new buffer texture formats - RGB32F, RGB32I, 
    and RGB32UI.  This partially addresses one of the limitations of buffer 
    textures in the original EXT_texture_buffer_object extension and in 
    OpenGL 3.1, which provide no support for three-component formats.

So it looks like all formats except RGB32F, RGB32I, RGB32UI are available in OpenGL 3.1, and three channel formats were added in GL 4.0 (or as extension). Which seems to have a sense, because RGB32 is something non-typical.

Don't close it yet. I will try to look where the error precisely occurs for me and maybe I will find something.

In worst case we can add something like isSampleBufferWorking to graphics restrictions.

@Benau
Copy link
Contributor

Benau commented Feb 13, 2017

ok

@deveee
Copy link
Member Author

deveee commented Feb 15, 2017

I looked at this yesterday. Here is what I noticed:

  • the check for ARB_texture_buffer_object doesn't have a sense, it should be at least something like isSamplerBufferUsable, i.e. set in graphics restrictions
  • samplerBuffer works on intel HD4000
  • GLES now uses a fallback for heightmap because isARBTextureBufferObjectUsable is false. I didn't check what's the difference in practice, but this indeed seems to have a sense
  • there was something wrong with glActiveTexture calls

Actually in current git version particles heightmap works fine for me. The shader is compiled, glDrawArrays doesn't return invalid operation anymore and the rain in lighthouse looks fine now.

I think that importance sampling specular should work too, but there is still something messed. It has two different textures attached and there are some glBindTexture calls without glActiveTexture set, so maybe this is the reason.

@deveee
Copy link
Member Author

deveee commented Feb 15, 2017

Actually when I changed assignSamplerNames to:

        assignSamplerNames(2, "tex", ST_TRILINEAR_CUBEMAP,
                           3, "samples", ST_TEXTURE_BUFFER);

it doesn't complain anymore and importance sampling specular works fine. But I have no idea why it works ;)

@deveee
Copy link
Member Author

deveee commented Feb 15, 2017

Just to provide more information and as a reminder, because I have no more time today.

The importance sampling specular shader seems to work even if there is an error. I mean, modifications in this shader take effect on the rendered scene. Though it doesn't really confirm if sampler buffer is properly attached to the shader.

And the invalid operation error is generated by glDrawArrays function in generateSpecularCubemap. But what it interesting, it is generated for every first iteration of this loop (when face = 0). Every other iteration (for face = 1, 2, 3, 4, 5) doesn't give any error.

@Benau
Copy link
Contributor

Benau commented Feb 15, 2017

With my hd4600, heightmap is not working at all
icy_soccer_field-2017 02 16_07 33 59
I seem to have more invalid operation than you too, or can we ask in intel forum too for ideas?

@Benau
Copy link
Contributor

Benau commented Feb 15, 2017

And if we use the setTextureUnits function, active texture will be auto-called:

    template<int N, typename... TexIds>
    void setTextureUnitsImpl(GLuint tex_id, TexIds... args)
    {
#if defined(USE_GLES2)
        if (CVS->getGLSLVersion() >= 300)
#else
        if (CVS->getGLSLVersion() >= 330)
#endif
        {
            glActiveTexture(GL_TEXTURE0 + m_texture_units[N]);
            glBindTexture(m_texture_type[N], tex_id);

...

@MTres19
Copy link
Contributor

MTres19 commented Feb 16, 2017

@deveee
Copy link
Member Author

deveee commented Feb 17, 2017

I found one issue, see 251c46d

Now importance sampling specular and particles heightmap work without any errors for me.

@Benau could you check if it works for you?

@Benau
Copy link
Contributor

Benau commented Feb 17, 2017

Yes, it works!
Do we remove checking for TBO too?

@Benau
Copy link
Contributor

Benau commented Feb 17, 2017

hmm maybe not, gles lacks TBO...

@deveee
Copy link
Member Author

deveee commented Feb 17, 2017

Ok, I removed the TBO check: 299a4dc

The fallback function works only with irrlicht particles, so unfortunately GLES must still work without particles heightmap affector :(

@deveee deveee closed this as completed Feb 17, 2017
@MTres19
Copy link
Contributor

MTres19 commented Mar 20, 2017

GL_ARB_texture_buffer_object is supported on Intel, just not advertised. It's available as long as GL ≥ 3.1. See the above link to Intel Communities.

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

No branches or pull requests

4 participants