| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Continuation of https://src.chromium.org/viewvc/chrome?view=rev&revision=188681
BUG=190824
TBR=piman@chromium.org, jschuh@chromium.org
Review URL: https://codereview.chromium.org/12912006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188689 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Just a style change; no changes in behavior.
R=enne,danakj
Review URL: https://chromiumcodereview.appspot.com/12543025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187504 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Style-only change. Make the DirectRenderer class adopt chromium style.
R=enne,jamesr
NOTRY=true
Review URL: https://chromiumcodereview.appspot.com/12545019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186997 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Style-only change. Apply chromium style to the Renderer class.
R=jamesr,enne
Review URL: https://chromiumcodereview.appspot.com/12630005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186859 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Style-only change. Make the ResourceProvider class match chromium style.
R=piman
Review URL: https://chromiumcodereview.appspot.com/12468009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186653 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ Some of the necessary changes to the renderer for software compositing.
BUG=124671, 161008
Review URL: https://chromiumcodereview.appspot.com/12379055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186310 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changed edge antialiasing flags in TileDrawQuad to edge flags and moved to SharedQuadState.
The quad cannot tell anymore if it needs antialiasing or not. The renderer will make that decision.
Moved blending decision from GLRenderer::drawQuad to GLRenderer::draw*Quad functions.
BUG=169163
Review URL: https://chromiumcodereview.appspot.com/12328098
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185934 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
duplicated ones.
Review URL: https://codereview.chromium.org/12041062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182345 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also fixes a transform bug when a render pass is being
backed by a texture with larger-than-necessary resolution.
BUG=124671,171055
Review URL: https://chromiumcodereview.appspot.com/12090080
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180050 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The occlusion tracker has been using the drawableContentRect() which is not
useful compared to the clipRect() unless queries go outside the bounds of
the layer (which they would not). Also, the tests would override and fake
out the layer drawableContentRect() instead of just making a clipRect()
with an appropriate tree hierarchy.
The unit tests are now more real, and set up clipping in legitimite ways,
and drawableContentRect() is no longer used.
This removes most of the usage of the drawableContentRect() outside of tests,
making it easier to remove it entirely in the future if we like.
Tested by all the occlusion tracker unit tests in cc_unittests.
TBR=cdn@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11871008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177974 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
vector and deque.
These classes used methods to match the webcore classes and ease
migration. Now they are at odds with the STL versions of these containers.
Rename the methods, and change arguments from indexes to iterators, to
match the STL containers.
isEmpty() => empty()
last() => back()
first() => front()
Peek() => at()
append() => push_back()
insert(index, value) => insert(iterator, value)
remove(index) => erase(iterator) and erase(iterator, iterator)
take(index) => take(iterator)
takeFront() => take_front()
takeBack() => take_back()
Review URL: https://chromiumcodereview.appspot.com/11418108
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175722 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=123444
Review URL: https://chromiumcodereview.appspot.com/11618026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174466 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This makes CompositorFrame contain one of two payloads: DelegatedFrameData for ubercomp and GLFrameData for the Aura model. This also adds CompositorFrameMetadata containing information useful for positioning subwindows relative to the webpage scroll position.
The message is sent when a new switch --enable-compositor-frame-message is set. This is enabled by default on Android and also suppresses Android-specific UpdateFrameInfo messages, which will be superceded by CompositorFrameMetadata.
BUG=152337,161945
Review URL: https://chromiumcodereview.appspot.com/11316128
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173634 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
All cc test harnesses now live in the cc namespace. Any cc unittest or
pixeltest itself is in an anonymous namespace under cc. This patch removes all
instances of the WebKitTest namespace from cc.
R=jamesr@chromium.org
BUG=none
Review URL: https://chromiumcodereview.appspot.com/11474050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173391 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
View system.
This patch introduces a new feature to the compositor:
- A setting to enable cleaning the framebuffer, disabled by default. This prevents destroying data below us when rendering non-rectangular views (e.g. during a rotation).
A second required feature will be added by a later patch:
- A device scissor rect that intersects any scissor calculation. Used to ensure we never render outside where the Android View System tells us.
There are also some issues with the Android View side regarding the restoration of the GL state. This patch introduces a temporary workaround by reading and manually restoring the state changed by the compositor. This will go out as soon as the problem is fixed in the Android side.
BUG=161409,154180
Review URL: https://chromiumcodereview.appspot.com/11316310
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173324 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pools were used in the past and were planned to be used to
call deleteOwnedResources. We have moved the responsibility
of deleting resources to the structure that created them
(for example, the PrioritizedResourceManager now deletes
contents textures, instead of calling deleteOwnedResources).
BUG=164947
Review URL: https://codereview.chromium.org/11578019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173212 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This moves:
- WebKit::WebCompositorOutputSurface to cc::OutputSurface
- WebKit::WebCompositorOutputSurfaceClient to cc::OutputSurfaceClient
- Webkit::WebCompositorSoftwareOutputDevice to cc::SoftwareOutputDevice
They become new files in cc/ so they are chromified style. This affects
the various call-sites. This allows us to pass cc::CompositorFrame
directly, without any need for WebCompositorFrame.
BUG=146080
Depends on: https://bugs.webkit.org/show_bug.cgi?id=103967
Review URL: https://codereview.chromium.org/11348371
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171847 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is far too confusing to deal with OutputSurface code when half the time it is
called a GraphicsContext incorrectly. Cleaning this up so I can think about the
code properly as I upstream the Ubercomp CL.
R=jamesr,piman
BUG=146080
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=171403
Review URL: https://codereview.chromium.org/11450019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171410 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cc_unittests is failing. Looks like something conflicted with this.
> cc: Finish the rename from cc::GraphicsContext to cc::OutputSurface
>
> It is far too confusing to deal with OutputSurface code when half the time it is
> called a GraphicsContext in correctly. Cleaning this up so I can think about the
> code properly as I upstream the Ubercomp CL.
>
> NOTRY=true
> R=jamesr,piman
> BUG=146080
>
>
> Review URL: https://chromiumcodereview.appspot.com/11450019
TBR=danakj@chromium.org
Review URL: https://codereview.chromium.org/11439026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171406 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is far too confusing to deal with OutputSurface code when half the time it is
called a GraphicsContext in correctly. Cleaning this up so I can think about the
code properly as I upstream the Ubercomp CL.
NOTRY=true
R=jamesr,piman
BUG=146080
Review URL: https://chromiumcodereview.appspot.com/11450019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171403 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=159972
Review URL: https://codereview.chromium.org/11308153
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169609 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We may sometimes want to turn off the scissoring optimization. At this time
scissoring is used as both an optimization and for correctness when a layer is
clipped. This patch separates those concepts and rearranges scissoring logic
in an attempt to minimize how often scissoring state changes; scissoring
changes very likely cause graphics pipeline to flush which is definitely
undesirable.
BUG=160358
Review URL: https://chromiumcodereview.appspot.com/11362220
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169142 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This follows the same pattern as DrawQuad and SharedQuadState. The Create()
method takes no parameters, allowing the IPC code to create an empty RenderPass.
Then we have SetNew() and SetAll() methods to set the the properties of the
RenderPass when creating a new one, or when recreating one via IPC,
respectively.
Covered by existing tests.
BUG=152337
TBR=aelias
Review URL: https://chromiumcodereview.appspot.com/11413106
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168998 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
SharedQuadState was a struct previously, but required all the data to be passed
to its create() method. This makes the Create() method take no parameters, as
DrawQuads work now. And we add a SetAll() method, similar again to DrawQuad.
We remove the "id" value from ShardQuadState. This shouldn't be needed for
serialization. We can instead just use the pointers in the quads as an id
directly, and compare them against each other to see when we need to create a
new shared quad state. This is sufficient since all quads that share an
instance of SharedQuadState are appended to be adjacent in the quad list.
Covered by existing tests.
TBR=aelias
BUG=152337
Depends on: https://codereview.chromium.org/11411050
Review URL: https://chromiumcodereview.appspot.com/11416088
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168960 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I've replaced the create() and constructor on each class with a SetNew() method:
void SetNew(const SharedQuadState* shared_quad_state,
gfx::Rect rect,
...);
This method sets everything in the base class, based on the subclass'
interpretation of the minimal parameters given to it. This is used when
creating a new quad of this type - hence the name. The "..." represents
all the quad-type-specific arguments.
I've also added a new SetAll() method, that takes all of the data held by this
quad type, and simply passes on the appropriate things to the super class:
void SetAll(const SharedQuadState* shared_quad_state,
gfx::Rect rect,
gfx::Rect opaque_rect,
gfx::Rect visible_rect,
bool needs_blending,
...);
This method is used for deserializing, or other cases where you have all the
data for the quad well defined, and want to set every field at once. The
"..." represents all the quad-type-specific arguments.
Added tests for SetAll() in cc_unittests:DrawQuadTest.*
TBR=aelias
BUG=152337
Review URL: https://chromiumcodereview.appspot.com/11411050
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168903 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, TileDrawQuad assumed that texels were 1:1 with geometry, so it only
needed an offset into the texture to calculate the UVs. For impl-side painting
where multiple contents scales might be in play, a given texture rect isn't going
to be 1:1 with geometry rects and also will not be necessarily integer aligned.
Also, some things (like edge antialiasing) still need to know the texture size
so that it can do half-texel offsets, so this new texture rect needs to stay in
"texel space" rather than 0-1 "uv space".
R=danakj@chromium.org
BUG=155209
Review URL: https://chromiumcodereview.appspot.com/11348109
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168723 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we will use the opaqueRect (already present on DrawQuad) to tell when things
are opaque or not.
Each Quad constructor that can be opaque take an opaqueRect. Generally,
callers set it equal to the quadRect when contentsOpaque(). TiledLayerImpl can
set it to a smaller rect sometimes since it has more knowledge.
This made the scrollbar code a bit nicer for the thumb so that it doesn't need
to set needs_blending anymore, as the thumb can be marked non-opaque.
DebugBorderQuad sets an empty opaqueRect now, so it doesn't need to set
needs_blending.
Covered by existing tests.
BUG=152337
R=enne
Review URL: https://chromiumcodereview.appspot.com/11412044
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168387 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For now, we don't want to make plumbing through the WebKit API for all these
settings. So they are marked with a TODO to move into chromium. When we are
no longer going through the WebKit API from chromium, we can set these settings
in chromium, instead of reading the command-line parameters in cc.
Depends on: https://bugs.webkit.org/show_bug.cgi?id=102146
R=jamesr
BUG=160771
Review URL: https://chromiumcodereview.appspot.com/11361223
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167750 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
Review URL: https://chromiumcodereview.appspot.com/11366199
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167479 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=144576,144577
TEST=cc_unittests
R=enne@chromium.org,jamesr@chromium.org,danakj@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11410022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167073 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Ding, dong...
BUG=154451
Review URL: https://chromiumcodereview.appspot.com/11410021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167071 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=152904
Review URL: https://chromiumcodereview.appspot.com/11232051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166627 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make sure we have a comment at the end of the namespace for each .cc file and
that there are two spaces between the closing brace and the comment.
R=enne
Review URL: https://chromiumcodereview.appspot.com/11275153
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166005 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
attempt 2
BUG=152904
Review URL: https://chromiumcodereview.appspot.com/11232051
TBR=aelias@chromium.org
Review URL: https://codereview.chromium.org/11369071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165907 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=152904
Review URL: https://chromiumcodereview.appspot.com/11232051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165872 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rename ResourceProvider::upload() to ResourceProvider::setPixels() and
PrioritizedTexture::upload() to PrioritizedTexture::setPixels().
BUG=
TEST=cc_unittests
Review URL: https://chromiumcodereview.appspot.com/11368043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165632 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Might be causing webkit_unit_tests to fail on mac/win
BUG=152904
Review URL: https://codereview.chromium.org/11232051
TBR=jamesr@chromium.org
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165501 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=152904
Review URL: https://codereview.chromium.org/11232051
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165476 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This covers layers, layer tree hosts, and related classes. *phew*
I intentionally avoided anything to do with scrolling or page scale. Those
should be changed to be Vectors and need a bit more thought. This change
should be pretty mindless.
It converts to gfx Rect, Size, Vector, and Point classes. No change is
made for FloatPoint3D or FloatQuad yet.
I've added cc/geometry.h as a place for free functions that don't exist
on gfx types yet, and that we should port over in the future.
No change in behaviour; covered by existing tests.
BUG=147395
R=enne
Review URL: https://codereview.chromium.org/11264056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165434 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This depends on the gfx::Vector2d class from https://codereview.chromium.org/11269022/
Covered by existing tests, just changing data types.
BUG=147395
R=enne
Review URL: https://codereview.chromium.org/11266030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165225 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is undefined behavior to cast a RenderPass* into a TestRenderPass* if the
object pointed to is not a TestRenderPass, so remove this pattern.
BUG=None
Review URL: https://chromiumcodereview.appspot.com/11235053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163624 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed reland of https://chromiumcodereview.appspot.com/11189043/
TBR=jam@chromium.org,jamesr@chromium.org
BUG=155413
Review URL: https://codereview.chromium.org/11231054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163429 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the single value with a ManagedMemoryPolicy structure
which has the limit in bytes when visible and when not visible,
and also has a priority cutoff when visible and when not visible.
In CCRendererClient, separate the methods for specifying and
enforcing a memory policy. This is so that one may decrease the
consumption of a renderer that has grown over time, without
disallowing growth in the future.
BUG=134750
Review URL: https://chromiumcodereview.appspot.com/11196038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163420 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=155413
TEST=cc_unittests
R=enne@chromium.org,jamesr@chromium.org
TBR=jamesr@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11233025
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163225 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=155413
TEST=cc_unittests
R=enne@chromium.org,jamesr@chromium.org
TBR=jamesr@chromium.org
Review URL: https://codereview.chromium.org/11228017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163205 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=155413
TEST=cc_unittests
R=enne@chromium.org,jamesr@chromium.org
TBR=jamesr@chromium.org
Review URL: https://codereview.chromium.org/11225022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163196 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
This reverts commit 184fac5add06d5f4670fa6be4a4d3b39232d51bb.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163059 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=155413
Review URL: https://codereview.chromium.org/11189043
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163052 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Exception: Missing input files:
c:\b\build\slave\cr-win-rel\build\src\cc\CCTextureUpdateQueue.h
Relanding with this file removed as well.
BUG=155413
TEST=cc_unittests
TBR=enne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11227005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163028 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
| |
Build fails with "gclient hooks failed" error.
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162988 0039d316-1c4b-4281-b951-d872f2087c98
|