Closed
Bug 975764
Opened 10 years ago
Closed 6 months ago
Add mesh-based transformation support to container layers
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: gal, Unassigned)
References
Details
Attachments
(1 file)
12.89 KB,
patch
|
Details | Diff | Splinter Review |
This is useful for advanced over-scroll effects as well as the CSS filter effects spec.
Reporter | ||
Comment 1•10 years ago
|
||
Assignee: nobody → gal
Reporter | ||
Updated•10 years ago
|
Attachment #8380239 -
Flags: feedback?(roc)
Reporter | ||
Comment 2•10 years ago
|
||
Note: I am going to switch the internal representation of the meshes to triangle strips with degenerate triangles between each row.
Reporter | ||
Comment 3•10 years ago
|
||
As indicated in comment 2 a triangle strip is more efficient to represent the meshes. The API will be the same so feel free to give feedback on the API while I test the triangle strip approach.
Comment on attachment 8380239 [details] [diff] [review] API change. Backend support coming separately. Review of attachment 8380239 [details] [diff] [review]: ----------------------------------------------------------------- Sorry about the delay, somehow I lost the request. ::: gfx/layers/Layers.h @@ +661,5 @@ > + > + const void *VertexBuffer() const; > + size_t VertexBufferSize() const; > + > + const void *IndexBuffer() const; Unclear why these return void*. @@ +664,5 @@ > + > + const void *IndexBuffer() const; > + size_t IndexBufferSize() const; > + > + gfx::IntSize GetDimensions() const { return mDim; } All these members need documentation. especially regarding the sizes and meaning of the buffers. @@ +1697,5 @@ > * on this layer. > * Returns true if this will use an intermediate surface. This is largely > * backend-dependent, but it affects the operation of GetEffectiveOpacity(). > */ > + bool UseIntermediateSurface() { return mForceIntermediateSurface || !!mLayerMesh; } Instead, have ComputeEffectiveTransforms set mForceIntermediateSurface if mLayerMesh is present @@ +1756,5 @@ > // The resolution scale inherited from the parent layer. This will already > // be part of mTransform. > float mInheritedXScale; > float mInheritedYScale; > + bool mForceIntermediateSurface; I'm not sure why you renamed this. mUseIntermediateSurface was set iff we decided to use an intermediate surface. I'm not sure why you're changing that. @@ +1761,3 @@ > bool mSupportsComponentAlphaChildren; > bool mMayHaveReadbackChild; > + nsRefPtr<Mesh> mLayerMesh; Move this up with the other pointers.
Attachment #8380239 -
Flags: feedback?(roc)
Comment 5•2 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months, so the assignee is being reset.
Assignee: gal → nobody
Updated•2 years ago
|
Severity: normal → S3
Updated•6 months ago
|
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•