-
Notifications
You must be signed in to change notification settings - Fork 461
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
Add support for OpenGL ES as a shading language #1497
Add support for OpenGL ES as a shading language #1497
Conversation
@amyspark that's great. Thanks a lot for the help. |
@hodoulp status update, the new GPU pipeline returns completely scrambled results under OpenGL ES:
With and without your 1D LUT optimization it still showed the same glitched appearance, so I'm guessing there's an encoding that's not being properly skipped? Do you know where I could have a deeper look at? UPD: A note for future reference, 1D textures also use |
Upon further debugging, I believe the 1D LUT codepath may have a serious bug. I've tested with various input profiles from the ACES configuration and none of them actually trigger the tex1d codepath; however, every profile that does involve a 1D LUT results in those clamp-looking glitches. I've checked with both our OpenGL 4.x pipeline and through Angle, both against current master. |
Did you made any progress on this @amyspark ? You could try to reproduce the issue in |
@remia, no, I haven't made any further progress on this. I hadn't thought of ociodisplay because it doesn't get built with our current configuration (we don't use OpenImageIO in Krita). |
Another option is to use
|
This commit adds two new entries to `GpuLanguage`, `GPU_LANGUAGE_GLSL_ES_1_0` and `GPU_LANGUAGE_GLSL_ES_3_0`. The only meaningful differences w.r.t. stock OpenGL are: - the 1D texture optimization isn't applied to ES, as they are not supported at all; - the texture<N>D() calls are replaced in GLSL ES 3 by a call to texture(). Fixes AcademySoftwareFoundation#1486 Signed-off-by: L. E. Segovia <[email protected]>
eef3c8e
to
0c2a86f
Compare
@remia was spot on; it turns out I was using the legacy pipeline's For verification:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution.
Signed-off-by: L. E. Segovia <[email protected]>
b9f314b
to
34b79a1
Compare
@hodoulp, should I add support for using the classes in oglapphelpers with GLES? |
@amyspark Yes, that would be interesting to have |
Signed-off-by: L. E. Segovia <[email protected]>
34b79a1
to
dfeb978
Compare
@hodoulp, it seems CMake doesn't provide a Find module for the ES equivalent of FindOpenGL, and adding support proper to the app helpers needs to re-detect from the ground up the needed dependencies. It'll be certainly interesting! but for another MR in the future. For now, I'll wrap it up here 😃 |
* Add support for OpenGL ES as a shading language This commit adds two new entries to `GpuLanguage`, `GPU_LANGUAGE_GLSL_ES_1_0` and `GPU_LANGUAGE_GLSL_ES_3_0`. The only meaningful differences w.r.t. stock OpenGL are: - the 1D texture optimization isn't applied to ES, as they are not supported at all; - the texture<N>D() calls are replaced in GLSL ES 3 by a call to texture(). Fixes #1486 Signed-off-by: L. E. Segovia <[email protected]> * GLSL ES: remove ABI break Signed-off-by: L. E. Segovia <[email protected]> * OpenGLBuilder: use switch to check GLSL version Signed-off-by: L. E. Segovia <[email protected]>
* Add support for OpenGL ES as a shading language This commit adds two new entries to `GpuLanguage`, `GPU_LANGUAGE_GLSL_ES_1_0` and `GPU_LANGUAGE_GLSL_ES_3_0`. The only meaningful differences w.r.t. stock OpenGL are: - the 1D texture optimization isn't applied to ES, as they are not supported at all; - the texture<N>D() calls are replaced in GLSL ES 3 by a call to texture(). Fixes #1486 Signed-off-by: L. E. Segovia <[email protected]> * GLSL ES: remove ABI break Signed-off-by: L. E. Segovia <[email protected]> * OpenGLBuilder: use switch to check GLSL version Signed-off-by: L. E. Segovia <[email protected]> Signed-off-by: Patrick Hodoul <[email protected]>
* Add support for OpenGL ES as a shading language This commit adds two new entries to `GpuLanguage`, `GPU_LANGUAGE_GLSL_ES_1_0` and `GPU_LANGUAGE_GLSL_ES_3_0`. The only meaningful differences w.r.t. stock OpenGL are: - the 1D texture optimization isn't applied to ES, as they are not supported at all; - the texture<N>D() calls are replaced in GLSL ES 3 by a call to texture(). Fixes #1486 Signed-off-by: L. E. Segovia <[email protected]> * GLSL ES: remove ABI break Signed-off-by: L. E. Segovia <[email protected]> * OpenGLBuilder: use switch to check GLSL version Signed-off-by: L. E. Segovia <[email protected]> Signed-off-by: Patrick Hodoul <[email protected]> Co-authored-by: amyspark <[email protected]>
This commit adds two new entries to
GpuLanguage
,GPU_LANGUAGE_GLSL_ES_1_0
andGPU_LANGUAGE_GLSL_ES_3_0
.The only meaningful differences w.r.t. stock OpenGL are:
the 1D texture optimization isn't applied to ES, as they are not
supported at all;
the textureD() calls are replaced in GLSL ES 3 by a call to
texture().
Fixes #1486