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

Issue 598050 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Apr 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature



Sign in to add a comment

Fix CHROMIUM image APIs.

Project Member Reported by erikc...@chromium.org, Mar 25 2016

Issue description

CreateImageCHROMIUM takes an "internalformat" parameter. This doesn't make any sense, since many consumers of CreateImageCHROMIUM never need to bind the image to a texture, and if they do, they can specify "internalformat" during the Bind call.

This means that when ResourceProvider::LazyCreateImage calls CreateImageCHROMIUM, it needs to make up an "internalformat", even though the result may never be bound to a texture. The function GLInternalFormat() gets used to maps from (cc::ResourceFormat "format" -> GLenum "internalformat"). The result is that ResourceProvider sends GL_BGRA as the "internalformat" to CreateImageCHROMIUM [for IOSurfaces on Mac], which is nonsense. 

See https://bugs.chromium.org/p/chromium/issues/detail?id=595948#c4 for my proposed API changes.



 
Components: Internals>GPU
Sounds like a problem in the compositor rather than a problem with the CHROMIUM_image extension. Can we just fix the compositor?

CHROMIUM_image is based on the equivalent EGL image extensions (EGL_KHR_image_base [1], OES_EGL_image_external [2], etc.) and has been structured to match them as closely as possible. I think we should keep that design. The internalformat is specified when creating an image and not when binding it to a texture when using these extensions.

[1] https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image_base.txt
[2] https://www.khronos.org/registry/gles/extensions/OES/OES_EGL_image_external.txt
Cc: ccameron@chromium.org
Labels: -Type-Bug Type-Feature
Owner: erikc...@chromium.org
Status: Assigned (was: Untriaged)
erikchen: did reveman's answer address this, or is there more to do?
Status: WontFix (was: Assigned)
There's nothing I'd like to do at this point in time.

Sign in to add a comment