| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
bug:10399469
Because the stencil setup can issue draws, it *must* come before the
GL state setup.
Change-Id: I52a36213549fc60b091a90cbb923a1f0d35f9a65
|
|
|
|
|
|
| |
Bug #10347089
Change-Id: I70f5a3933e848632473acc6636c88be5dc6ac430
|
|
|
|
| |
Change-Id: I47b89b3085cefab6daac9194e7bfd3c140b37fa2
|
|
|
|
| |
Change-Id: I31f68a07aa7cf0490d2572e24e4c5ac2066a1151
|
|
|
|
| |
Change-Id: I8ab17cbae3a9a4cc3c3202b8277d49f27bdf1fec
|
|
|
|
|
|
|
|
| |
Bug #10075732
Hardware layers could survive across EGL terminate events.
Change-Id: Ie8565d55cb29fe6625fa1584d695edfecd37ab5e
|
|
|
|
|
|
|
|
|
| |
Bug #10347089
If an app clears its path cache before stopping background tasks, it could
get into an infinite loop in PathCache::trim().
Change-Id: Ieb865b762e7b00aebaba0c023769c2db286a94f5
|
|
|
|
| |
Change-Id: I44e06d5d15cd899a0522c62d7c0d042170665abb
|
|
|
|
|
|
|
|
| |
Oops! kBW_Format was omitted from a couple of switch statements,
resulting in glyphs in that format being invisible.
Bug: 10206452
Change-Id: Ib2aa52250aeeecc0de1b1b78e3d0f568f368c73e
|
|
|
|
|
|
| |
Bug #8634346
Change-Id: I995c5205c2959d8e4da638ae47fedcda92eb1b36
|
|
|
|
|
|
| |
Also remove dead code from OpenGLRenderer.cpp
Change-Id: I7eb54ca19e77ee3c32f1fe9513a031e6b2e115cf
(cherry picked from commit 5c7d5ab878b26f855175a3305a14ac12fcacf25e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bug #10185769
The assets atlas contains assets that need to be blended and assets
that do not need to be blended. With a single merge id, currently
set to be the pointer to the atlas itself, draw ops merging could
generate batches of commands containing both opaque and translucent
assets. The blend state was chosen from only one of the assets in
the batch, leading either to inefficiencies (blending large opaque
assets) or incorrect behaviors (not blending translucent assets.)
This change introduces two new merge ids in the atlas: an opaque
key and a blend key. These keys are simple booleans set to false
and true respectively (the values do not matter really.) Their
memory addresses are used as the merge ids when createing draw ops
batches, allowing all opaque ops to be batched together and all
translucent ops to be batched together.
Change-Id: I114dba0533c44987e53864b471ccb28c811f2025
|
|
|
|
| |
Change-Id: I73127fc7369643b94d4a49f31a516b50c74b54ac
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
By having quickReject round out the window-space geometry bounds, we
prevent the AA perimeter (which falls outside the local bounds passed
in) from drawing outside the clip.
Change-Id: I8ee36be9039a9c47906815ee2f0dbaa5eb910b82
|
| |
| |
| |
| |
| |
| | |
See external bug #58344
Change-Id: Iecd6c41fc8076cd76add2335d3442a6dd8878f12
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Quite a few things going on in this commit:
- Enable bitmap strikes by default in Paint objects.
The SkPaint parameter that enables bitmap strikes was not previously
included in DEFAULT_PAINT_FLAGS. This effectively disabled bitmap
fonts. Oops! It's for the best, though, as additional work was needed
in Skia to make bitmap fonts work anyway.
- Complain if TEXTURE_BORDER_SIZE is not 1.
Our glyph cache code does not currently handle any value other than 1
here, including zero. I've added a little C preprocessor check to
prevent future engineers (including especially future-me) from
thinking that they can change this value without updating the related
code.
- Add GL_RGBA support to hwui's FontRenderer and friends
This also happened to involve some refactoring for convenience and
cleanliness.
Bug: 9577689
Change-Id: I0abd1e5a0d6623106247fb6421787e2c2f2ea19c
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The 9patch format allows to define more empty quads than this, remove
the use of a single int to index empty quads and replace it with a
lookup in the 9patch resource data structure.
Change-Id: I148ee5d9e0c96822b534a344e15c9d88078db7c2
|
|\ \ |
|
| |/
| |
| |
| | |
Change-Id: I103d7d63b17289d599c2c08dcc442cfba9b8e51d
|
|/
|
|
|
|
|
|
|
|
|
|
| |
An array of indices local to a layer would only be necessary if
we changed the way we resolve T-junctions. Since we only ever
draw quads, let's just use the indices we use everywhere else.
This change also uses the global indices array to render list
of colored rectangles to save on the number of vertices generated
CPU-side.
Change-Id: Ia6d1970b0e9247805af5a114ca2a84b5d0b7c282
|
|\ |
|
| |
| |
| |
| |
| | |
bug:9070351
Change-Id: I1c54e1bea1b84b1619cce27b14f189b42cab7062
|
|/
|
|
|
|
|
| |
setMatrix() was crashing in native code, only with hw acceleration on.
concat() would throw a NullPointerException. It now ignores null matrices.
Change-Id: Iebd8b410a957d2ba501570c6fbb3f680ff4a1a23
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bug:9621717
Because we're no longer holding onto Bitmaps Java side during
DisplayList lifetime, use global refs to keep the backing byte arrays
around.
Adds back bitmap buffer passing + native ref management removed by
3b748a44c6bd2ea05fe16839caf73dbe50bd7ae9
Adds back globalRef-ing removed by
f890fab5a6715548e520a6f010a3bfe7607ce56e
Change-Id: Ia59ba42f05bea6165aec2b800619221a8083d580
|
|\
| |
| |
| |
| |
| |
| | |
glCopyTexImage2D Bug #9425270" into jb-mr2-dev
* commit '55e789dbc782be0dcaf1d4bae5f32e9e2f674152':
Fix out of range glCopyTexImage2D Bug #9425270
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #9425270
A better solution would be to use glCopyTexImage2D whenever possible but
this change would be a little more dangerous.
Change-Id: Ib1aaceda39d838716285ef97f356721416822dbb
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #9589379
If the atlas is terminated/reinitialized and a view does not invalidate
in between it might end up using a stale AssetAtlas::Entry. This change
is similar to how 9patch meshes are cached in DrawPatchOp: we simply
track the generation ID of the cache to make sure we always use the
latest data.
Change-Id: Ib5abb3769d2ce0eabe9adc04e320ca27c422019e
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This change adds refcounting of Res_png_9patch instances, the native
data structure used to represent 9-patches. The Dalvik NinePatch class
now holds a native pointer instead of a Dalvik byte[]. This pointer
is used whenever we need to draw the 9-patch (software or hardware.)
Since we are now tracking garbage collection of NinePatch objects
libhwui's PatchCache must keep a list of free blocks in the VBO
used to store the meshes.
This change also removes unnecessary instances tracking from
GLES20DisplayList. Bitmaps and 9-patches are refcounted at the
native level and do not need to be tracked by the Dalvik layer.
Change-Id: Ib8682d573a538aaf1945f8ec5a9bd5da5d16f74b
|
| |
| |
| |
| |
| |
| |
| | |
Save a bit of memory in meshs generated from native code
Avoid an extra if/else when drawing with hardware accelration on
Change-Id: I31a4550bde4d2c27961710ebcc92b66cd71153cc
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This allows merged, clipped operations to behave correctly within a
savelayer, even if the base viewport has a large offset.
Additionally, disregard opaqueness when within a
complexclip/savelayer, as the coverage can't be trusted.
Change-Id: Ic908b82a4bb410bc7fac1b4295f4874ed166efc5
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Prevents crashes :)
Change-Id: I62103ce97490613142321f080b82c2edaed67a95
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change also fixes the way batched bitmaps were handled
inside a layer. The layer is now correctly dirtied to minimize
the amount of pixels to blend.
Fix alpha, mode and opaque computations for DrawPatchOp.
Change-Id: I1b6cd581c0f0db66c1002bb4fb1a9811e55bfa78
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | | |
Change-Id: Iaf78985ee5558e0b5d32d7bc1cd039eaffc820e5
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I75e91797e8270f902f67bdd7bb526cccc23adc6b
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: I7edb04dd30ee6fd823099e72788169cc185e70f2
|
|\ \ \ \
| |/ / /
| | / /
| |/ /
|/| | |
|
| | |
| | |
| | |
| | | |
Change-Id: I9f43eec0fe23a65dcc1cf9cd0ac1f5e8907786a7
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reduces state changes when we draw 9patches and text together,
which happens *a lot*. Also disable the NV profiling extension by
default since it doesn't play nice with display lists deferrals.
To enable it set debug.hwui.nv_profiling to true.
Change-Id: I518b44b7d294e5def10c78911ceb9f01ae401609
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug #9464403
Change-Id: I26a5f0c17eb27d096717b444d3e18ad1d2b5a43c
|
|\ \ \ |
|