Changeset 270103 in webkit
- Timestamp:
- Nov 20, 2020 3:48:29 AM (2 years ago)
- Location:
- trunk
- Files:
-
- 4 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/platform/gtk/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png (modified) (previous)
-
Source/WebCore/ChangeLog (modified) (1 diff)
-
Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r270102 r270103 1 2020-11-20 Fujii Hironori <Hironori.Fujii@sony.com> 2 3 [TextureMapper] Hidden surface removal issue for nested transform-style:perserve-3d in Snow Stack demo 4 https://bugs.webkit.org/show_bug.cgi?id=218969 5 6 Reviewed by Carlos Garcia Campos. 7 8 * platform/gtk/transforms/3d/point-mapping/3d-point-mapping-deep-expected.png: Rebaselined. 9 1 10 2020-11-20 Chris Lord <clord@igalia.com> 2 11 -
trunk/Source/WebCore/ChangeLog
r270102 r270103 1 2020-11-20 Fujii Hironori <Hironori.Fujii@sony.com> 2 3 [TextureMapper] Hidden surface removal issue for nested transform-style:perserve-3d in Snow Stack demo 4 https://bugs.webkit.org/show_bug.cgi?id=218969 5 6 Reviewed by Carlos Garcia Campos. 7 8 r267711 enabled a depth buffer for a perserve-3d layer, but it 9 didn't work nicely for nested perserve-3d, for example Snow Stack 10 demo. It needs a intermediate surface to properly render 11 interchangeably nested perserve-3d and non perserve-3d layers, for 12 example transforms/3d/point-mapping/3d-point-mapping-deep.html. 13 This change supports only simply nested perserve-3d layers such 14 like Snow Stack demo. 15 16 * platform/graphics/texmap/TextureMapperLayer.cpp: 17 (WebCore::TextureMapperLayer::paintSelfAndChildren): Added 18 Preserves3DScope to call beginPreserves3D and endPreserves3D. 19 1 20 2020-11-20 Chris Lord <clord@igalia.com> 2 21 -
trunk/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
r270071 r270103 41 41 IntSize offset; 42 42 TextureMapperLayer* backdropLayer { nullptr }; 43 bool preserves3D { false }; 43 44 }; 44 45 … … 224 225 return; 225 226 226 if (m_state.preserves3D) 227 options.textureMapper.beginPreserves3D(); 227 struct Preserves3DScope { 228 Preserves3DScope(TextureMapperPaintOptions& passedOptions, bool passedEnable) 229 : options(passedOptions) 230 , enable(passedEnable) 231 { 232 if (enable) { 233 options.preserves3D = true; 234 options.textureMapper.beginPreserves3D(); 235 } 236 } 237 ~Preserves3DScope() 238 { 239 if (enable) { 240 options.preserves3D = false; 241 options.textureMapper.endPreserves3D(); 242 } 243 } 244 TextureMapperPaintOptions& options; 245 bool enable; 246 } scopedPreserves3D(options, m_state.preserves3D && !options.preserves3D); 228 247 229 248 if (m_state.backdropLayer && !options.backdropLayer) { … … 239 258 paintSelf(options); 240 259 241 if (m_children.isEmpty()) { 242 if (m_state.preserves3D) 243 options.textureMapper.endPreserves3D(); 244 return; 245 } 260 if (m_children.isEmpty()) 261 return; 246 262 247 263 bool shouldClip = m_state.masksToBounds && !m_state.preserves3D; … … 267 283 if (shouldClip) 268 284 options.textureMapper.endClip(); 269 if (m_state.preserves3D)270 options.textureMapper.endPreserves3D();271 285 } 272 286
Note: See TracChangeset
for help on using the changeset viewer.