| Summary: | Shaders in kqtquickcharts 5.74.0 don't work with OpenGL ES3 | ||
|---|---|---|---|
| Product: | [Frameworks and Libraries] kqtquickcharts | Reporter: | Bernhard Rosenkränzer <bero> |
| Component: | general | Assignee: | Sebastian Gottfried <sebastian.gottfried> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | ahiemstra |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/frameworks/kquickcharts/commit/eeb4ab08ef9fc14b64202bd42ffc2b83bd98ecf9 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Bernhard Rosenkränzer
2020-09-12 23:03:29 UTC
Not too familiar with OpenGL shaders, but looks to me like something defines [sorry, previous comment submitted prematurely - dog tried to jump on my lap and hit the keyboard ;) ] So, looks like something defines LEGACY_STAGE_INOUT even for ES3, or the "attribute highp float _qt_order;" needs to go into the ifdef Looking at it a bit more, the problem is that the code injected by qtquick (src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp, around line 192) isn't compatible with the gles3 boilerplate put in by kqtquickcharts. Forching the use of header_es2.glsl instead of header_es3.glsl even when OpenGL ES 3.x is supported (comment out the GLES3 chunk in SDFShader::setShaders) "fixes" the problem. Yeah Qt does not support proper GLES3 at all. I ran into that when trying to set this up, but I seem to recall I did not even get a GLES3 context, just a 2.1, which is probably why I left the check in there. Git commit eeb4ab08ef9fc14b64202bd42ffc2b83bd98ecf9 by Arjen Hiemstra. Committed on 14/09/2020 at 08:54. Pushed by ahiemstra into branch 'master'. Remove check for GLES3 in SDFShader Qt doesn't actually support GLES3 and will insert incorrect stuff into the shader if we use GLSL 300. So remove the check for now and instead just always use GLES2. M +1 -5 src/scenegraph/SDFShader.cpp https://invent.kde.org/frameworks/kquickcharts/commit/eeb4ab08ef9fc14b64202bd42ffc2b83bd98ecf9 |