Command buffer does not support texture swizzling |
|||
Issue descriptionSkia makes use of GL_TEXTURE_SWIZZLE_R, etc when running on a ES 3.0+ context. It seems that this functionality is not supported in the command buffer in ES 3.0 mode. Using the enums produces errors such as this: [92165:92165:1128/152525:ERROR:gles2_cmd_decoder_autogen.h(2920)] [.RenderWorker-0x22e8a7e1b620.GpuRasterization]GL ERROR :GL_INVALID_ENUM : glTexParameteri: pname was GL_TEXTURE_SWIZZLE_R According to kbr@, this functionality was removed from WebGL 2.0 and thus this may not be tested and might have been accidentally broken.
,
Nov 30 2016
This is very slow on ANGLE/Windows. That's why we remove it from WebGL2. It's trivia to add it back in command buffer, but will Skia have the same perf concern as WebGL2 does?
,
Nov 30 2016
We will have the same issue, I have a TODO to not use it when we're running on ANGLE. And we could certainly decide to never use it in Chromium on any OS (at the cost of increased shader compilations). In general, though, Skia has a preference for version and extension strings to accurately describe the functionality of the context. If we are going to have missing features from the ES3 implementation in the command buffer then I'd like to do something like modify the command buffer's reported version string to somehow indicate a non-standard ES3 subset.
,
Nov 30 2016
We can definitely add it to command buffer (and I will do so soon) and leave the decision to Skia to decide what to do on platforms with perf issues. Just want to bring this up.
,
Nov 30 2016
Cool, thanks for the reminder!
,
Dec 2 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/90dcedd24853cdca918845ba57a13d9856c8d24e commit 90dcedd24853cdca918845ba57a13d9856c8d24e Author: zmo <zmo@chromium.org> Date: Fri Dec 02 00:38:05 2016 Add texture swizzle back to command buffer. If it's ES3 context, allow them. If it's WebGL2 context, disallow them. BUG= 669168 TEST=gpu_unittests R=piman@chromium.org CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2543033002 Cr-Commit-Position: refs/heads/master@{#435794} [modify] https://crrev.com/90dcedd24853cdca918845ba57a13d9856c8d24e/gpu/command_buffer/common/gles2_cmd_utils.cc [modify] https://crrev.com/90dcedd24853cdca918845ba57a13d9856c8d24e/gpu/command_buffer/service/feature_info.cc [modify] https://crrev.com/90dcedd24853cdca918845ba57a13d9856c8d24e/gpu/command_buffer/service/gles2_cmd_decoder.cc [modify] https://crrev.com/90dcedd24853cdca918845ba57a13d9856c8d24e/gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc [modify] https://crrev.com/90dcedd24853cdca918845ba57a13d9856c8d24e/gpu/command_buffer/service/gles2_cmd_decoder_unittest.h [modify] https://crrev.com/90dcedd24853cdca918845ba57a13d9856c8d24e/gpu/command_buffer/service/gles2_cmd_decoder_unittest_textures.cc
,
Dec 2 2016
bsalomon: please let me know if there are any other issues blocking you from trying Skia on ES3 command buffer.
,
Dec 2 2016
Will do, thanks! |
|||
►
Sign in to add a comment |
|||
Comment 1 by kbr@chromium.org
, Nov 29 2016