| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of tying contexts together through the parenting mechanism, we can allow
the client to produce the front buffer of an offscreen context into a mailbox,
and use that in the "parent" context.
It simplifies the code and the semantics wrt lost contexts, and we want to use
mailboxes anyway.
BUG=164095
Review URL: https://chromiumcodereview.appspot.com/15798014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@204194 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This saves a round-trip. We don't need client-side info (e.g. shm buffer) any
more before context initialization, so we can do the initialization completely
on the renderer side before returning the resource, saving one sync round-trip.
A side benefit is that now we can guarantee we only call SetParent after
initialization, simplifying transient states.
BUG=164095
Review URL: https://chromiumcodereview.appspot.com/15679013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203464 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed to allow Pepper to use mailboxes rather than parenting to
integrate with the compositor.
BUG=164095
Review URL: https://chromiumcodereview.appspot.com/12581004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186869 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GetLastToken is potentially more up to date then GetLastState().token
but is also potentially slower. Functions that need to know the last token
can call GetLastToken. Functions that need to know error/get will still
call GetLastState
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12040090
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178763 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added a thread safe way to duplicate a shared memory handle for the GPU process.
Removed synchronous IPC to set the command buffer shared state buffer.
Removed CreateTransferBuffer IPC. Removed request_id arg from transfer buffer IPCs. It wasn't being used.
BUG=166229
Review URL: https://chromiumcodereview.appspot.com/11640008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174303 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Made the registration and deletion of transfer buffers async.
>
> Added an IPC to request multiple transfer buffer IDs up front.
>
> Every renderer command buffer proxy gets some IPCs immediately after initialization.
>
> Removed request_id arg from CreateTransferBuffer. It wasn't being used.
>
> Review URL: https://chromiumcodereview.appspot.com/11308296
TBR=apatrick@chromium.org
Review URL: https://codereview.chromium.org/11578020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173018 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added an IPC to request multiple transfer buffer IDs up front.
Every renderer command buffer proxy gets some IPCs immediately after initialization.
Removed request_id arg from CreateTransferBuffer. It wasn't being used.
Review URL: https://chromiumcodereview.appspot.com/11308296
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172805 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make WebGraphicsContext3DCommandBufferImpl aways use CommandBufferProxyImpl
instead of the more abstract CommandBufferProxy. Then remove methods used
only by WebGraphicsContext3DCommandBufferImpl from CommandBufferProxy.
BUG=157175
Review URL: https://chromiumcodereview.appspot.com/11267035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164564 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible GetTransferBuffer was never called, or that it failed due to a GPU process crash, so don't crash when the transfer buffer isn't in the cache.
BUG=https://code.google.com/p/chrome-os-partner/issues/detail?id=14476
Review URL: https://chromiumcodereview.appspot.com/11270036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@164174 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
to the content namespace.
Review URL: https://codereview.chromium.org/11227033
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163359 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL was inherited from dmichael's CL:
PPAPI: Lock around GLES2 entry in to the proxy
This might not cover all the ways 3D could go wrong in a multithreaded situation (I don't understand it well enough to know). It also probably locks a bit more than is necessary. But so far it works, and makes Var reference counting (and pretty much everything else) usable on background threads. Probably good enough for M23 experimentation.
http://codereview.chromium.org/10960046/
BUG=116317, 92909
TEST=build with enable_pepper_threading=1. PPAPI 3D example works. Zombie Track Meat, Tumbler, and other 3d stuff works in the NaCl IPC proxy.
Review URL: https://chromiumcodereview.appspot.com/11054024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@161956 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This does a couple of things:
- It defines a new wrapper for passing any kind of handle through the PPAPI proxy (SerializedHandle).
- It updates nacl_ipc_adapter to have a more general way to pick apart messages based on their static types (which include the types of all the params).
- It adds support for PPB_Graphics2D and PPB_Graphics3D to the NaCl IPC proxy (e.g., NaCl SDK examples pi_generator and tumbler work in the new proxy with this patch).
The downside is it requires pulling parts of ppapi/shared_impl and ppapi/proxy in to the NaCl Win64 build.
BUG=116317
TEST=
Review URL: https://chromiumcodereview.appspot.com/10828023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153531 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=112299
TEST=None
Review URL: https://chromiumcodereview.appspot.com/10541185
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142869 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Theory of operation: command buffer 1 calls InsertSyncPoint, it returns an ID,
command buffer 2 calls WaitSyncPoint on that ID (even if on another channel).
The wait is pipelined.
InsertSyncPoint is handled on the IO thread in the GPU process, so it's
presumably fast, but its effect is ordered wrt the other messages.
Some benefits of the approach:
- once InsertSyncPoint returns the ID, the sync point is already enqueued to be
eventually retired, so it makes it very hard to cause deadlocks by incorrect
operation on the client side.
- the wait will return if the command buffer that inserted the sync point gets
destroyed.
This primitive should be enough for guaranteeing browser->renderer ordering.
Additional changes are needed to safely handle renderer->browser ordering
(especially in case of buggy/malicious renderer).
BUG=112299
TEST=manual (With other patches)
Review URL: https://chromiumcodereview.appspot.com/10510013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140653 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Accidiently had the wrong number of brackets which did not produce the desired
behavior while iterating over previous issue 10387182. This change makes it do
the right thing.
BUG=none
TEST=manually
Review URL: https://chromiumcodereview.appspot.com/10421007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@138374 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
embedder has deleted the PluginInstance
In cross-process navigation we swap out PluginInstances and delete the swapped out instance.
PpapiCommandBufferProxy is sitting in WebGraphicsContext3DCommandBufferImpl, and is unaware of the destruction.
It attempts to talk to the embedder to flush over and over again and hangs the guest renderer.
With this change, the renderer's compositor will realize that the context is lost, and will drop it.
BUG=none
TEST=manually.
Review URL: https://chromiumcodereview.appspot.com/10387182
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137981 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
spammy when in use with the browser plugin.
BUG=none
TEST=manually
Review URL: https://chromiumcodereview.appspot.com/10384065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136213 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
That way once the refactoring of WebGraphicsContext3DCommandBufferImpl is complete,
the guest renderers will be able to use the same class.
BUG=120664
TEST=manually
Review URL: http://codereview.chromium.org/9904005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130252 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
signature as CommandBufferProxy).
Added a ReportChannelError method to call the closure.
This is used by the guest renderer to recover from a lost context.
BUG=120664
TEST=manually
Review URL: http://codereview.chromium.org/9844023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129526 0039d316-1c4b-4281-b951-d872f2087c98
|
|
that it is more general (does not depend on a dispatcher) and can be used elsewhere.
BUG=none
TEST=manually
Review URL: http://codereview.chromium.org/9420028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125596 0039d316-1c4b-4281-b951-d872f2087c98
|