| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will give us more options than completing all swaps successfully, or losing context
BUG=476966
TBR=torne - approved interface change
Committed: https://crrev.com/c794eda78e9ba3c46b550b433e9fe5a248d40104
Cr-Commit-Position: refs/heads/master@{#331906}
Review URL: https://codereview.chromium.org/1084173004
Cr-Commit-Position: refs/heads/master@{#331989}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://codereview.chromium.org/1084173004/)
Reason for revert:
Looks like this broke compilation on http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Ozone%20Builder/builds/17401.
Speculatively reverting for now. If confirmed, will file a bug with details, otherwise re-revert.
Cheers,
your's sheriff
Original issue's description:
> Adding status to swap buffers completion
>
> This will give us more options than completing all swaps successfully, or losing context
>
> BUG=476966
> TBR=torne - approved interface change
>
> Committed: https://crrev.com/c794eda78e9ba3c46b550b433e9fe5a248d40104
> Cr-Commit-Position: refs/heads/master@{#331906}
TBR=alexst@chromium.org,danakj@chromium.org,dnicoara@chromium.org,nasko@chromium.org,piman@chromium.org,spang@chromium.org,torne@chromium.org,dcheng@chromium.org,achaulk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=476966
Review URL: https://codereview.chromium.org/1166463004
Cr-Commit-Position: refs/heads/master@{#331939}
|
|
|
|
|
|
|
|
|
|
|
| |
This will give us more options than completing all swaps successfully, or losing context
BUG=476966
TBR=torne - approved interface change
Review URL: https://codereview.chromium.org/1084173004
Cr-Commit-Position: refs/heads/master@{#331906}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes the BrowserCompositorOutputSurfaceProxy class. It adds
a UpdateVSyncParameters callback to CommandBufferProxyImpl similar to
its sibling SwapBuffersCompleted callback.
R=sievers
BUG=329552
Review URL: https://codereview.chromium.org/939373002
Cr-Commit-Position: refs/heads/master@{#317337}
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The geometry headers were moved from /ui/gfx/ to ui/gfx/geometry, so
we are updating the include paths to fix this.
BUG=395370
TEST=compiles
TBR=sky@chromium.org,danakj@chromium.org
Review URL: https://codereview.chromium.org/832953002
Cr-Commit-Position: refs/heads/master@{#309873}
|
|
|
|
|
|
|
|
|
|
|
| |
We only pass ValueState updates via IPC if the Gpu Service has
signalled that a Valuebuffer is subscribed to the respective target.
BUG=422978
Review URL: https://codereview.chromium.org/780133002
Cr-Commit-Position: refs/heads/master@{#308389}
|
|
|
|
|
|
|
|
|
|
| |
Required for the SubscribeUniform WebGL extension.
BUG=422978
Review URL: https://codereview.chromium.org/634313002
Cr-Commit-Position: refs/heads/master@{#306555}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch was automatically generated by applying clang fixit hints
generated by the plugin to the source tree.
BUG=417463
TBR=avi@chromium.org
Review URL: https://codereview.chromium.org/671663002
Cr-Commit-Position: refs/heads/master@{#300461}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a refactor of the CHROMIUM_image extension that allows
the compositor to map/unmap GpuMemoryBuffers on worker threads
and potentially also allocate these buffers on worker threads.
CreateImageCHROMIUM now takes an opaque ClientBuffer as first
parameter. ClientBuffer is implementation specific and in the
case of chromium a gfx::GpuMemoryBuffer. Or more specifically
a content::GpuMemoryBufferImpl when used with the content layer.
This allows the compositor to allocate and use GpuMemoryBuffers
without a GLES2Interface.
A GpuMemoryBufferManager interface has been introduced. This
interface provides a mechanism for the compositor to allocate
GpuMemoryBuffer instances in the renderer and browser process.
BUG=418553
Review URL: https://codereview.chromium.org/634083002
Cr-Commit-Position: refs/heads/master@{#299360}
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also makes it unnecessary to signal a sync point
callback for swap completion for browser
compositor surfaces which is skipped now.
BUG=417945
Review URL: https://codereview.chromium.org/628703005
Cr-Commit-Position: refs/heads/master@{#298972}
|
|
|
|
|
|
|
|
| |
BUG=417463
Review URL: https://codereview.chromium.org/630853003
Cr-Commit-Position: refs/heads/master@{#298453}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This functionality can be implemented with sync point callbacks.
Now that swap completion is entirely an implementation detail
of the OutputSurface this also allows for eliminating some
IPC message redundancy. Ideally SwapCompletion would be unsolicited
and also include LatencyInfo (where needed/supported).
Also remove the message pattern matching logic in gpu_channel.cc
for Flush/Echo. This kind of matching does not work reliably,
since OnMessageReceived races with HandleMessage
(i.e. the next msg might or might not be in deferred_messages_).
Also, the original motivation in bug 407529 is described
as making sure SwapBuffers gets handled immediately,
which was separately fixed by merging the LatencyInfo with
the Flush IPC.
BUG=417945
Review URL: https://codereview.chromium.org/619453002
Cr-Commit-Position: refs/heads/master@{#297869}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GpuCommandBufferMsg_SetLatencyInfo is used to send current frame's latencyinfo
to gpu. We can piggyback the latencyinfo in GpuCommandBufferMsg_AsyncFlush so
eliminate the extra IPC.
BUG=404650
TEST=check trace that now GLRenderer::SwapBuffers only sends 2 IPC messages,
i.e. AsyncFlush and Echo. And LatencyInfo tracking is still working.
Review URL: https://codereview.chromium.org/564903002
Cr-Commit-Position: refs/heads/master@{#294895}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This IPC is used by the renderer to notify the browser when
a GPU memory buffer instance is deleted. This allows the browser
to maintain proper lifetime management of GPU memory buffers for
which ownership can't be passed with IPC.
This also renames the GpuCommandBufferMsg_DestroyGpuMemoryBuffer
IPC to GpuCommandBufferMsg_UnregisterGpuMemoryBuffer to not
be confused with real GPU memory buffer destruction, which
doesn't necessarily happen at when the GLImage is destroyed.
BUG=
Review URL: https://codereview.chromium.org/409723003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284941 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GpuMemoryBuffer type.
This adds a new GpuMemoryBuffer type that can be used to create
a GpuMemoryBuffer from an existing X11 pixmap.
This removes Create/DeleteImage IPC and reduces complexity
significantly as it allows the ImageManager to be moved to
the decoder and simply track images.
A new platform dependent GpuMemoryBufferFactory interface
is introduced to allow this new type of buffer to be created
on the GPU service side. To avoid the need for any global
variables, this factory instance is also responsible for
creating GLImage instances.
The old factory interface used by android_webview is renamed
InProcessGpuMemoryBufferFactory until it can be removed in
favor of this new interface.
BUG=368716
TEST=gpu_unittests, gl_tests --gtest_filter=GpuMemoryBufferTest.Lifecycle
Review URL: https://codereview.chromium.org/331723003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@284097 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As of r277056, the gpu memory manager is no longer using
managed memory stats produced. This patch removes the managed
memory stats calculation from the tile manager. As well, this
patch removes ununsed gpu managed memory stats plumbing.
BUG=377065
Review URL: https://codereview.chromium.org/342483007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278294 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Orignal goal of this CL is to make
InProcessCommandBuffer::CreateGpuMemoryBuffer and
DestroyGpuMemoryBuffer thread safe. Before this, Create runs
on the client thread and Destroy runs on the service thread
without any kind of synchronization. This change makes the
division closer to the cross-process implementation, moving
parts of the implementation from GpuControlService to
GpuControl/InProcessViewRenderer.
As a result, GpuControlService no longer needs to inherit
GpuControl. And GLES2Decoder has enough information to
decide on all gpu::Capabilities.
Need to implement the bare minimum client GpuControl for
gl_tests and gles2_conform_test. This currently involves
some boilerplate and duplication.
BUG=362346
Review URL: https://codereview.chromium.org/235563002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267753 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids a timing-sensitive bug where the pattern of non-Host-allocated
route IDs are in conflict with non-Host-initiated-first-IPC.
BUG=360276
TEST=trybot and manual testing.
R=fischman@chromium.org, palmer@chromium.org, piman@chromium.org
Review URL: https://codereview.chromium.org/227433010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262553 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
These let the proxy wait for commands to complete without spinning on a GetStateFast message.
BUG=349632
Review URL: https://codereview.chromium.org/215033004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262246 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Much refactoring of VDA/VEA. Issues:
* Encoders will need to be able to synchronize with the 3D command buffer to
support encoding from textures.
* The IPC interface from GpuVideo{Decode,Encode}AcceleratorHost to
GpuVideo{Decode,Encode}Accelerator collapses the creation and initialization
IPC calls into one to save a round-trip. Unfortunately this synchronous IPC
happens in the constructor, making the interface unwieldy (and requiring that
initialization parameters be passed both on construction and initialization).
Solutions:
* Make the VEA a client of the command buffer. Harmonize
GpuVideo{Decode,Encode}AcceleratorHost implementations to make codepaths
parallel (and easier to reason about).
* Move the synchronous IPC calls in the constructor of GpuV{D,E}AH into the
Initialize() call, and remove the requirement that the initialization
parameters be passed in the constructor.
* Make VEA::Initialize() a 'bool' function call, as it is done in VDA, to allow
Initialize() to be used synchronously.
* (minor) remove SupportsWeakPtr from VDA interface.
BUG=269312
TEST=local build, run, unittests on CrOS snow
Review URL: https://codereview.chromium.org/185403020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261365 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead add a simple GpuControl interface to attach a GLImage-wrapped
SurfaceTexture ref to a texture which will provide the
necessary hooks.
BUG=282700,309162
R=palmer@chromium.org, piman@chromium.org, reveman@chromium.org
Review URL: https://codereview.chromium.org/147463002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@247334 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL removes the LatecyInfo merging from the following path:
Compsitor to GPU:
CommandBufferProxyImpl::SetLatencyInfo()
-> (GpuCommandBufferMsg_SetLatencyInfo)
-> GpuCommandBufferStub::OnSetLatencyInfo()
-> ImageTransportHelper::SetLatencyInfo()
-> XXXImageTransportSurface:SetLatencyInfo()
After swap buffers:
XXXImageTransportSurface::SwapBuffers()
-> (GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params/
GpuHostMsg_AcceleratedSurfacePostSubBuffer_Params/
GpuHostMsg_FrameDrawn)
-> RenderWidgetHostView
BUG=246034
TEST=unittests pass.
Tested on Pixel. chrome://tracing shows correct InputLatency tracking for
various inputs.
Review URL: https://codereview.chromium.org/123563002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245260 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds and uses a GL command buffer command for DiscardBackbufferCHROMIUM
instead of having a WebGraphicsContext3D entry point + common/ IPC message.
This is used to deallocate, if possible, the backbuffer when no longer in use.
BUG=181120
Review URL: https://codereview.chromium.org/104823005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240583 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Extract GPU memory usage statistics and pass it to DevTools.
BUG=326497
Review URL: https://codereview.chromium.org/110883005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240084 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://codereview.chromium.org/27212002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@234868 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves the memory allocation / stats structs from content to gpu:: and
eliminates many redundant copies of this information in different parts of the
stack. This also moves the stats sending and allocation callbacks to
gpu::ContextSupport / gpu::GpuControl to get rid of the bounce through
WebKit::WebGraphicsContext3D.
The new flow for cc to register for memory allocation changes and pass stats to
the manager is this:
cc:: registers for MemoryAllocationChanged callbacks and sends stats via the
gpu::ContextSupport interface. Memory allocations are represented by a
gpu::MemoryAllocation struct and memory statistics are sent in a
gpu::ManagedMemoryStats struct.
The implementation of gpu::ContextSupport (gpu::gles2::GLES2Implementation)
forwards the calls to gpu::GpuControl. content::CommandBufferProxyImpl's
implementation of these maps the calls to content IPCs that drive the memory
manager implementation.
This patch gets rid of the following things:
*) WebKit::WebGraphicsMemory(Allocation|Stats) go away. These were used only
because cc was not able to depend on the previous locations of the
allocation/stats structs in content::. Now that these structs are in gpu::, the
compositor (which is the only thing using these) can see them directly
*) WebGraphicsContext3D::sendManagedMemoryStatsCHROMIUM /
setMemoryAllocationChangedCallbackCHROMIUM go away.
*) cc:ManagedMemoryPolicy's cutoff fields are now
gpu::MemoryAllocation::PriorityCutoff enums instead of an (inconsistently named)
copy.
*) GpuMemoryAllocationForBrowser goes away and is managed directly in content.
gpu::GpuMemoryAllocationForRenderer is renamed to just gpu::MemoryAllocation
*) Many proxies and converters go away.
cc::ManagedMemoryPolicy sticks around in this patch, even though it's largely
the same as gpu::MemoryAllocation, since it's sometimes used by code that
doesn't go through the gpu memory allocation path - such as android_webview -
and it has some additional state (num_resource_limit) that's not applicable to a
general gpu::MemoryAllocation. Chris tells me this struct is due for
simplification as well, so maybe it'll make sense to fold it in in a future
patch.
Diffstat:
53 files changed, 345 insertions(+), 713 deletions(-)
BUG=181120
R=piman,ccameron
Review URL: https://codereview.chromium.org/45243002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231527 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a multi-process framework for reading/writing directly to
memory that the 3D graphics hardware can use for rendering without
any costly copying having to be done on the GPU process side.
A GpuMemoryBuffer is a type of shared memory that can be accessed
by the GPU. The high level procedure required to allocate this type
of memory is almost exactly the same as that for standard shared
memory. Only the browser process can allocated the memory and it
needs to be shared and registered with the GPU process before it can
be used.
This also adds a GpuMemoryBuffer type that is backed by standard
shared memory for testing purposes.
TEST=gpu_unittests --gtest_filter=MockGpuMemoryBufferTest.Lifecycle
BUG=261649
Review URL: https://codereview.chromium.org/19762004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@230248 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the unused SurfaceCapturer interface. Per discussion we will
not be using this for desktop capture.
BUG=NONE
TEST=local build, trybots
R=cdn@chromium.org, piman@chromium.org, sheu@chromium.org
Review URL: https://codereview.chromium.org/26313003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229229 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit d1ec3f7f30d07132bf0f75e4938d50a508bc7637.
Attempt at re-landing this previous change. Moves LatencyInfo from ui/base to ui/events.
TBR=sky@chromium.org,jamesr@chromium.org,jschuh@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/24257011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224769 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
> Move ui/base/latency_info* to ui/events
>
> Latest in a sequence of changes to extract ui/gfx as its own component and sever ties on ui/base from various should-be-lower-level components.
>
> TBR=jamesr@chromium.org, sky@chromium.org
>
> BUG=none
>
> Review URL: https://codereview.chromium.org/23464099
TBR=ben@chromium.org
Review URL: https://codereview.chromium.org/24141009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224503 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Latest in a sequence of changes to extract ui/gfx as its own component and sever ties on ui/base from various should-be-lower-level components.
TBR=jamesr@chromium.org, sky@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/23464099
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@224496 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This removes passing allowed_extensions all the way through, since it
was ignored anyways. It also initializes the workarounds from the
commandline during FeatureInfo construction so it can be used to
make decisions before the first context is created and initialized.
Review URL: https://chromiumcodereview.appspot.com/23660006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221438 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
contents directly from a surface. This change:
* Adds the SurfaceCapturer interface
* Adds GLSurfaceCapturer{,Host}, which expose the interface across IPC from
the GPU process to the browser process.
BUG=260210
BUG=221441
TEST=local build, run on CrOS snow
Review URL: https://chromiumcodereview.appspot.com/22935009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@220369 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reland the patch with a fix for the StartupTest crashes observed on "Mac 10.6
Perf(2)".
BUG=232449
> gpu: Propagate lost context signal to all contexts
>
> When any individual command buffer context encounters a context lost
> event, propagate the context lost status to all other contexts if
> gfx::GLContext::LosesAllContextsOnContextLost() is true. This allows
> all command buffer clients to get notified of GPU resets. This is
> useful with virtual contexts because the reset is generally picked
> up by a random virtual context.
>
> Also, if virtual contexts are being used, all contexts should avoid
> doing GL object cleanup during teardown because the real context has
> already been lost at that point.
>
> BUG=232449
> TEST=https://www.khronos.org/registry/webgl/conformance-suites/1.0.1/extra/lots-of-polys-example.html
>
> Review URL: https://chromiumcodereview.appspot.com/17550012
Review URL: https://chromiumcodereview.appspot.com/18836003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210977 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=229660
TBR=darin@chromium.org
Review URL: https://codereview.chromium.org/18868005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210626 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Speculative revert to try to fix 256903
BUG=256903
> gpu: Propagate lost context signal to all contexts
>
> When any individual command buffer context encounters a context lost
> event, propagate the context lost status to all other contexts if
> gfx::GLContext::LosesAllContextsOnContextLost() is true. This allows
> all command buffer clients to get notified of GPU resets. This is
> useful with virtual contexts because the reset is generally picked
> up by a random virtual context.
>
> Also, if virtual contexts are being used, all contexts should avoid
> doing GL object cleanup during teardown because the real context has
> already been lost at that point.
>
> BUG=232449
> TEST=https://www.khronos.org/registry/webgl/conformance-suites/1.0.1/extra/lots-of-polys-example.html
>
> Review URL: https://chromiumcodereview.appspot.com/17550012
TBR=skyostil@chromium.org
Review URL: https://codereview.chromium.org/18647004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@210011 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When any individual command buffer context encounters a context lost
event, propagate the context lost status to all other contexts if
gfx::GLContext::LosesAllContextsOnContextLost() is true. This allows
all command buffer clients to get notified of GPU resets. This is
useful with virtual contexts because the reset is generally picked
up by a random virtual context.
Also, if virtual contexts are being used, all contexts should avoid
doing GL object cleanup during teardown because the real context has
already been lost at that point.
BUG=232449
TEST=https://www.khronos.org/registry/webgl/conformance-suites/1.0.1/extra/lots-of-polys-example.html
Review URL: https://chromiumcodereview.appspot.com/17550012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209673 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
available.
BUG=249925
Review URL: https://chromiumcodereview.appspot.com/16983007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208376 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
cc::TextureLayers through cc::TextureMailbox.
BUG=161008
R=piman
TBR=jschuh,ben
Review URL: https://chromiumcodereview.appspot.com/15001027
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205010 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"operator T*"
Linux fixes
BUG=110610
TBR=darin
Review URL: https://chromiumcodereview.appspot.com/16294003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@203624 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 structure would be useful in ui/surface, which can't depend on cc/.
BUG=
Review URL: https://chromiumcodereview.appspot.com/14999012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@202772 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* GpuVideoDecodeAccelerator clears its reference to its parent
GpuCommandBufferStub on GpuVideoDecodeAccelerator::OnWillDestroy(),
then only removes its IPC channel route on destruction if the stub
reference is valid. This means the route is never actually removed,
and so we leak the IPC route. Modify OnWillDestroy() to immediately
delete the GpuVideoDecodeAccelerator object and remove the route.
* GpuCommandBufferStub owns the GpuVideoDecodeAccelerator objects it
creates, but does not destroy them when they are destroyed through the
AcceleratedVideoDecoderMsg_Destroy IPC. This causes a leak of
GpuVDA objects as long as the GpuCommandBufferStub is alive. Allow
the OnDestroy() callback for AcceleratedVideoDecoderMsg_Destroy to
destroy the GpuVDA directly, and remove the explicit owned list of
GpuVDA objects from GpuCommandBufferStub to avoid double-deletion.
BUG=234465
TEST=local build, run on CrOS snow, desktop Linux
Review URL: https://chromiumcodereview.appspot.com/14444002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@196923 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This allows the LatencyInfo struct to pass from the compositor to the gpu process and up to the browser. It only works completely with the passthrough image transport surface at the moment, because that doesn't require passing data through some extra components.
BUG=155367
Review URL: https://chromiumcodereview.appspot.com/12614013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193864 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=180463
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/13689003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@193397 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
never used(!)
Review URL: https://chromiumcodereview.appspot.com/13521007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192463 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prevents a dangling reference in the GpuChannel message router to a
video decoder that has been destroyed, if the GpuCommandBufferStub does
not receive a GpuCommandBufferMsg_DestroyVideoDecoder for the video
decoder.
BUG=196648
TEST=local build, run on snow, desktop Linux
Change-Id: I2cab1b787e507157a6a9fcb001c5459daf9bc0e3
Review URL: https://chromiumcodereview.appspot.com/12832003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188902 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes the fallback pixel transfer implementation perform
texture uploads when command buffer is idle.
BUG=161337
R=epenner@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12040049
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188558 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL adds a per-profile disk cache for any shaders that are
complied while using the profile. When the profile is first opened
the shaders will be loaded from disk and used to pre-populate the
GPU memory shader cache.
The disk cache takes the load time for From Dust from ~30 seconds
to ~18 seconds on my Linux machine for any loads after the first.
BUG=166763
Review URL: https://chromiumcodereview.appspot.com/12036056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187704 0039d316-1c4b-4281-b951-d872f2087c98
|