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 <13498015+amyspark@users.noreply.github.com>
eef3c8e to
0c2a86f
Compare
|
@remia was spot on; it turns out I was using the legacy pipeline's For verification:
|
Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>
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 <13498015+amyspark@users.noreply.github.com>
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 <13498015+amyspark@users.noreply.github.com> * GLSL ES: remove ABI break Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com> * OpenGLBuilder: use switch to check GLSL version Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com>
* 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 <13498015+amyspark@users.noreply.github.com> * GLSL ES: remove ABI break Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com> * OpenGLBuilder: use switch to check GLSL version Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com> Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com>
* 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 <13498015+amyspark@users.noreply.github.com> * GLSL ES: remove ABI break Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com> * OpenGLBuilder: use switch to check GLSL version Signed-off-by: L. E. Segovia <13498015+amyspark@users.noreply.github.com> Signed-off-by: Patrick Hodoul <Patrick.Hodoul@autodesk.com> Co-authored-by: amyspark <13498015+amyspark@users.noreply.github.com>




This commit adds two new entries to
GpuLanguage,GPU_LANGUAGE_GLSL_ES_1_0andGPU_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