[TextureMapper] A semi-transparent parent layer is rendered as a opaque layer for children layers Since r267711 (Bug 90078) enabled a depth buffer for preserve-3d, a semi-transparent parent layer is rendered as a opaque layer. So, it hides children layers.
Created attachment 410038 [details] test case
Created attachment 410043 [details] [Screenshot] WinCairo before r267711
Created attachment 410044 [details] [Screenshot] WinCairo after r267711
attachment#409968 [details] (Bug 217080 Comment 0) is another test case demonstrating the issue.
Created attachment 410045 [details] [Screenshot] attachment#409968 [details] WinCairo before r267711
Created attachment 410046 [details] [Screenshot] attachment#409968 [details] WinCairo after r267711
Created attachment 410055 [details] test caes of sterically intersecting sibling semi-transparent layers Because TextureMapperLayer sorts siblings by z order (in TextureMapperLayer::sortByZOrder), sibling semi-transparent layers are blended as expected in most cases. However, if sibling semi-transparent layers are sterically intersecting, some semi-transparent layers can hide background. To solve this issue perfectly, TextureMapper needs OIT support. Bug 217080 – [TextureMapper] Order Independent Transparency support
Created attachment 410069 [details] [Screenshot] attachment#410055 [details] WinCairo before r267711
Created attachment 410070 [details] [Screenshot] attachment#410055 [details] WinCairo after r267711
Specifying glDepthMask(GL_FALSE) can stop writing into the depth buffer. https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glDepthMask.xml
Created attachment 410089 [details] WIP patch This patch checks only options.opacity. This patch works only for opacity property, but for rgba().
Created attachment 410090 [details] test case using opacity property
<rdar://problem/70015221>
Created attachment 461850 [details] parent with box-shadow This is another example. https://codepen.io/polypane/pen/ZExZzrp https://polypane.app/css-3d-transform-examples/
*** Bug 244509 has been marked as a duplicate of this bug. ***