contextProvider->grContext() is null in conformance2 test |
||||||
Issue description
In the WebGLRenderingContextBase class's contructor, I inject the following printf:
if (contextProvider->grContext())
fprintf(stderr, "this grContext is not null\n");
else
fprintf(stderr, "this grContext is null\n");
What I found is that running WebGL1 conformance test, it says grContext is not null, but running WebGL2 conformance test, it says grContext is null.
,
Jul 7 2016
,
Jul 7 2016
Yes, this needs file will need to be updated: https://cs.chromium.org/chromium/src/gpu/skia_bindings/gl_bindings_skia_cmd_buffer.cc
,
Jul 18 2016
,
Jul 18 2016
Raise to 1 because this is blocking WebGL2 being fully conformant on any platforms, and we are planning to push to at least conformant on Linux NVidia before Siggraph (this weekend). Brian, can you take a shot at this?
,
Jul 18 2016
Yep, looking at it.
,
Jul 18 2016
We've got a bit of a problem here. GLES2Interface is reporting a version of ES 3.0 but it doesn't actually have ES 3.0 support. It is missing at least the following APIs: glVertexAttribDivisor glFlushMappedBufferRange glDrawArraysInstanced glDrawElementesInstanced
,
Jul 18 2016
They must have the extension version, glVertexAttribDivisorANGLE, glDrawArraysInstancedANGLE, glDrawElementesInstancedANGLE. For glFlushMappedBufferRange(), I actually forgot to put it in. Doing it right now.
,
Jul 18 2016
I think there are two paths forward here. 1) Finish the ES3 implementation in GLES2Interface and then update the bindings to Skia like this: https://codereview.chromium.org/2157063002 2) Limit Skia to a ES 2.0 functionality (plus whatever extensions are available), like this: https://codereview.chromium.org/2154373002
,
Jul 18 2016
Mo, saw your note after writing comment #9. I'll update https://codereview.chromium.org/2157063002 to use the ANGLE entries and wait on FlushMappedBufferRange.
,
Jul 18 2016
For this week it would be safer to restrict Skia to ES 2.0 in Chromium. After we are passing the WebGL 2.0 conformance tests, let's try to turn on the ES 3.0 code path. Skia's use of this has surely not been tested in Chromium. gles2_c_lib_autogen.h probably needs aliases for some of its function pointers.
,
Jul 18 2016
That does indeed sound safer. When GLES2Inteface is in ES 3.0 mode does it still advertise extensions that have become core during the transition from 2.0 to 3.0? I assume so but just want to check that we won't regress something by losing access to 2.0 extension functionality.
,
Jul 18 2016
Thanks for digging into this. I agree let's not test the ES3 path at this moment. Let's do path 2. As for extensions in ES3, I don't think we bypass the extension collection code in feature_info.cc in ES3, so you should still have them.
,
Aug 11 2016
Marking this bug fixed as https://codereview.chromium.org/2154373002 has landed. |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by kbr@chromium.org
, Jul 7 2016Components: Internals>Skia