Reserve ensures the underlying buffer is the correct size, but
iterating across it is not necessarily valid. Use resize() instead
to ensure that the iterator access is valid
Change-Id: I35ff5f4416bb94cf4ce2c6acf72ffd17ab3e523a
Now the theta = 0 should be on +x axis.
And cos(theta) should correctly represent x value.
Without this fix, the poly theta (from atan2) can be wrongly rotated 90 degrees.
Also, make sure the incoming polygon is CW for the shadow system.
This fix visual artifacts in recent regression for spot shadows.
bug:13553955
Change-Id: I9bbf54db094e7f133326da4dae4610962da849c1
Once the RS::init failed, go through the original single thread path,
this will avoid blocking the main thread(ANR), but we also should have
some implement in RenderScript component.
Change-Id: I3a21395ffd5bc144c15254893f425b1dd2643ba4
Signed-off-by: Shenghua Lu <shenghua.lu@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Projected RenderNodes are now wrapped with a ClipRect or masked
SaveLayer, so that they are clipped to the outline of the projection
receiver surface.
Change-Id: I1d4afc1bb5d638d650bc0b1dac51a498f216773e
bug:14259972
Ensure that translationZ is applied for true3dTransform property
transformations, even if the node doesn't have any other
transformation properties set.
Additionally, use fuzzy compare for translationZ, similar to
rotationX/Y, since they're expenive to leave set in rounding error
cases.
Change-Id: Idafa4423cc7751a8f433237b1f576aa7abb74f6e
Bug: 14052927
destroyCanvasAndSurface() needs a fence as when it returns the
underlying BufferQueue is going to be released from under
the render thread.
Change-Id: I0147a1d5ec5adf0239c761ef22f65cd8c8a137df
bug:9321162
mDestroyed is no longer useful, as RenderNode is ref counted (not to
mention having its lifecycle significantly redesigned).
Change-Id: I429b9dd7740362c85d6416fbae567f0d47098e4e
Bug: 13952590
It was attempting to flush state changes after the canvas was
destroyed, which caused layer updates to crash.
Due to the removal of SetDisplayListData, the sync mode isn't able
to do anything ever, so remove it.
Change-Id: I1e18ce288d81fd47cc6e612afda9476f75ecef2e
Bug: 13914116
Fixes lifecycle issues around setEnabled where ThreadedRenderer
was reporting as being enabled before it had a Surface. This is
incorrect.
Also fix some EGL lifecycle issues
Change-Id: I12ebb279707f9b533a570b61d68735d858b560bf
This change dedupes the various properties that were represented both
in TransformationInfo, and RenderProperties on the native side.
RenderNode (and its associated properties) are now permanently
attached to a View in SW or HW. The native copy of these properties
are their sole representation.
Alpha to come in a later CL.
Also fixed issue with copying RenderNode's transform, and added
support of deleting RenderNodes in software rendering.
Change-Id: Ideb6e7f32b780e87aa1c32637c368356b3eee3a1
The method is in libhwui.so but used by libandroid_runtime.so
(via android_view_GLES20Canvas.cpp). If the compiler decides not to
inline this method, the linker won't be able to resolve the dependency
when it has hidden visibility.
The problem is found when testing GCC 4.9.
Change-Id: I3b4d096c7767f0bef0796886dfb2c5ba2ecff48c