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

Issue 597438 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug
mus



Sign in to add a comment

NaCl should not depend on ozone

Project Member Reported by fsam...@chromium.org, Mar 23 2016

Issue description

Native GpuMemoryBuffers won't be supported in NaCl, at least in the short term, or possibly ever, so maybe we can just ifdef-out that dependency when compiling the client-side for nacl.
 
We only need ClientNativePixmapFactory::IsConfigurationSupported in the client. Maybe we can tease it out without pulling in the rest of ozone.
Cc: spang@chromium.org
+spang@ for thoughts.
More context: gpu/ipc/common depends on ozone which seems unfortunate. In mus/mus+ash world, clients should not need to know about ozone.
I don't entirely agree.

First: don't you mean "pepper" when you say NaCL? My understanding is that pepper is the embedding API available to a NaCl application and hence how a NaCl application gains access to a GpuMemoryBuffer.

Efficiency dictates that mus clients must be able to create native GpuMemoryBuffer implementation. For example, I would expect pepper flash to do so.

Ozone (necessarily) provides a large amount of the implementation of a native GpuMemoryBuffer on an ozone platform. So some amount of ozone code may have to be dependency-injected into gpu/ipc/common? More-over, I presume that this will be so on other platforms (e.g. the IOSurface implementation on Mac) etc.





Comment 5 by piman@chromium.org, Mar 24 2016

There's no plan to expose native GpuMemoryBuffers to NaCl. Having them be supported by the NaCl sandbox is a very large project (if it's possible at all - the API to manage them, e.g. IOSurface, may not be NaCl compatible).

Pepper Flash doesn't use NaCl. But it also can't use GMBs until we refactor ppapi to talk to the GPU process directly, which is gated on gpu/ipc/common compiling on NaCl.

So the short term route is to avoid compiling the ozone parts on NaCl, and then we can decide whether or not it makes sense to add support to NaCl (but we can talk offline about reasons why I don't think this would happen).

Comment 6 by spang@chromium.org, Mar 24 2016

Unless you can actually allocate a native GMB from pepper, it's useless to have it, and I agree with just sticking an #ifdef OS_NACL on it until that changes.
Owner: fsam...@chromium.org
Status: Assigned (was: Untriaged)
Sounds straightforward enough, I'll pick this up next week and add some ifdefs and remove the ozone dependency in gpu/ipc/common.
It's a bit unfortunate that clients still need to know about Ozone. At some point, during early Mus discussions, we were chatting about the idea of clients not needing to know about platform specifics like ozone.
I guess the only client that needs to know about GMB in a Mus world is Mus itself and so maybe not all clients need to know about this in the future?
Owner: rjkroege@chromium.org
passing to rjkroege@ for triage.
Cc: kylec...@chromium.org
Seems reasonable to just break the dependency.

Sign in to add a comment