New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 810252 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 790033
Owner: ----
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug
Proj-VR
Proj-XR



Sign in to add a comment

blitFramebuffer in command buffer and pass through command buffer behaviour different in some situations

Project Member Reported by shaobo....@intel.com, Feb 8 2018

Issue description

In current implementation, chromium will create OpenGL ES 2.0 context for WebGL 1.0 and OpenGL ES 3.0 context for WebGL 2.0 when enable pass through command buffer but it always creates OpenGL ES 3.0 context when command buffer works. This may cause different behaviour.

For example,  issue 804628 , a WebGL 1.0 sample of WebVR. WebVR called blitFramebuffer in chromium to transfer canvas contents and when enable pass through command buffer, chromium created OpenGL ES 2.0 context and it called API provided by ANGLE_framebuffer_blit extension. This extension reports INVALID_OPERATION error when mask includes COLOR_BUFFER_BIT and the source
and destination color format to not match. So this WebVR sample fails(GL_RGB and GL_RGBA). But when command buffer works, chromium created OpenGL ES 3.0 context and it called API provided by OpenGL ES 3.0 core feature that releases the restriction about color formats. So the WebVR samples could work properly.

I don't know whether it needs to fix. If it needs, I have two proposals, 
1. Querying feature info and add validations in command buffer for blitFramebuffer extensions.

2. Like this CL(https://chromium-review.googlesource.com/c/chromium/src/+/905873), register an new blitFramebufferES2 API, querying feature info and call this API if context is OpenGL ES2. This API will call corresponds OpenGL ES 2.0 API or fail this blitFramebuffer call if no extension supported. But it seems it may fail some share context operation on mac.

 

Comment 1 by kbr@chromium.org, Feb 8 2018

Cc: geoffl...@chromium.org bajones@chromium.org
Components: Blink>WebVR Internals>GPU>ANGLE Blink>WebGL
Mergedinto: 790033
Status: Duplicate (was: Untriaged)
Components: Blink>WebXR

Sign in to add a comment