This reverts commit e416c92a. Reason for revert: Reverted parent: https://chromium-review.googlesource.com/c/angle/angle/+/2481612 Original change's description: > Vulkan: Fold deferred clears into current clears > > If there are clears prior to a glClear() call, those clears were > flushed (starting a new render pass) and then the clear call's clears > would be applied (essentially modifying the loadOps of said render > pass). > > The main downside of the above is that the current glClear() clears > don't get a chance to be deferred. This was observed in Chrome which > clears an attachment with an emulated format, then switches > framebuffers. > > Additionally, if the render pass had already been started, the deferred > clears could have become inlined instead of breaking the render pass. > Although, it's unlikely for there to be deferred clears when the render > pass is already open. > > This change first identifies which clears need to go through the draw > path (scissored, masked or as workaround for driver bug). It merges the > rest of the clears (that don't need the draw path) with the deferred > clears. It then checks deferred clears and applies them by either: > > - vkCmdClearAttachments if mid RP > - Start a new render pass and use loadOps, if any draw-based clear needs > to follow. > - Modify current RP loadOps / defer the clear > > Afterwards, the draw-based clears are applied. > > Bug: angleproject:4836 > Change-Id: Id4992c78983b199734508c9d4bb18ed3195c91ec > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2455167 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> TBR=syoussefi@chromium.org,jmadill@chromium.org,cclao@google.com Change-Id: I85733b3594409df9b96e3d5b34933522c97c42cf No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:4836 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2481613Reviewed-by:Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| overlay | Loading commit data... | |
| renderer | Loading commit data... | |
| AttributeMap.cpp | Loading commit data... | |
| AttributeMap.h | Loading commit data... | |
| BinaryStream.h | Loading commit data... | |
| BinaryStream_unittest.cpp | Loading commit data... | |
| BlobCache.cpp | Loading commit data... | |
| BlobCache.h | Loading commit data... | |
| BlobCache_unittest.cpp | Loading commit data... | |
| Buffer.cpp | Loading commit data... | |
| Buffer.h | Loading commit data... | |
| Caps.cpp | Loading commit data... | |
| Caps.h | Loading commit data... | |
| Compiler.cpp | Loading commit data... | |
| Compiler.h | Loading commit data... | |
| Config.cpp | Loading commit data... | |
| Config.h | Loading commit data... | |
| Config_unittest.cpp | Loading commit data... | |
| Constants.h | Loading commit data... | |
| Context.cpp | Loading commit data... | |
| Context.h | Loading commit data... | |
| Context.inl.h | Loading commit data... | |
| Context_gl.cpp | Loading commit data... | |
| Context_gl_1_0_autogen.h | Loading commit data... | |
| Context_gl_1_1_autogen.h | Loading commit data... | |
| Context_gl_1_2_autogen.h | Loading commit data... | |
| Context_gl_1_3_autogen.h | Loading commit data... | |
| Context_gl_1_4_autogen.h | Loading commit data... | |
| Context_gl_1_5_autogen.h | Loading commit data... | |
| Context_gl_2_0_autogen.h | Loading commit data... | |
| Context_gl_2_1_autogen.h | Loading commit data... | |
| Context_gl_3_0_autogen.h | Loading commit data... | |
| Context_gl_3_1_autogen.h | Loading commit data... | |
| Context_gl_3_2_autogen.h | Loading commit data... | |
| Context_gl_3_3_autogen.h | Loading commit data... | |
| Context_gl_4_0_autogen.h | Loading commit data... | |
| Context_gl_4_1_autogen.h | Loading commit data... | |
| Context_gl_4_2_autogen.h | Loading commit data... | |
| Context_gl_4_3_autogen.h | Loading commit data... | |
| Context_gl_4_4_autogen.h | Loading commit data... | |
| Context_gl_4_5_autogen.h | Loading commit data... | |
| Context_gl_4_6_autogen.h | Loading commit data... | |
| Context_gles_1_0.cpp | Loading commit data... | |
| Context_gles_1_0_autogen.h | Loading commit data... | |
| Context_gles_2_0_autogen.h | Loading commit data... | |
| Context_gles_3_0_autogen.h | Loading commit data... | |
| Context_gles_3_1_autogen.h | Loading commit data... | |
| Context_gles_3_2_autogen.h | Loading commit data... | |
| Context_gles_ext_autogen.h | Loading commit data... | |
| Debug.cpp | Loading commit data... | |
| Debug.h | Loading commit data... | |
| Device.cpp | Loading commit data... | |
| Device.h | Loading commit data... | |
| Display.cpp | Loading commit data... | |
| Display.h | Loading commit data... | |
| EGLSync.cpp | Loading commit data... | |
| EGLSync.h | Loading commit data... | |
| Error.cpp | Loading commit data... | |
| Error.h | Loading commit data... | |
| Error.inc | Loading commit data... | |
| ErrorStrings.h | Loading commit data... | |
| Fence.cpp | Loading commit data... | |
| Fence.h | Loading commit data... | |
| Fence_unittest.cpp | Loading commit data... | |
| FrameCapture.cpp | Loading commit data... | |
| FrameCapture.h | Loading commit data... | |
| FrameCapture_mock.cpp | Loading commit data... | |
| Framebuffer.cpp | Loading commit data... | |
| Framebuffer.h | Loading commit data... | |
| FramebufferAttachment.cpp | Loading commit data... | |
| FramebufferAttachment.h | Loading commit data... | |
| GLES1Renderer.cpp | Loading commit data... | |
| GLES1Renderer.h | Loading commit data... | |
| GLES1Shaders.inc | Loading commit data... | |
| GLES1State.cpp | Loading commit data... | |
| GLES1State.h | Loading commit data... | |
| HandleAllocator.cpp | Loading commit data... | |
| HandleAllocator.h | Loading commit data... | |
| HandleAllocator_unittest.cpp | Loading commit data... | |
| Image.cpp | Loading commit data... | |
| Image.h | Loading commit data... | |
| ImageIndex.cpp | Loading commit data... | |
| ImageIndex.h | Loading commit data... | |
| ImageIndexIterator_unittest.cpp | Loading commit data... | |
| Image_unittest.cpp | Loading commit data... | |
| IndexRangeCache.cpp | Loading commit data... | |
| IndexRangeCache.h | Loading commit data... | |
| InfoLog.h | Loading commit data... | |
| LoggingAnnotator.cpp | Loading commit data... | |
| LoggingAnnotator.h | Loading commit data... | |
| MemoryObject.cpp | Loading commit data... | |
| MemoryObject.h | Loading commit data... | |
| MemoryProgramCache.cpp | Loading commit data... | |
| MemoryProgramCache.h | Loading commit data... | |
| OWNERS | Loading commit data... | |
| Observer.cpp | Loading commit data... | |
| Observer.h | Loading commit data... | |
| Observer_unittest.cpp | Loading commit data... | |
| Overlay.cpp | Loading commit data... | |
| Overlay.h | Loading commit data... | |
| OverlayWidgets.cpp | Loading commit data... | |
| OverlayWidgets.h | Loading commit data... | |
| Overlay_autogen.cpp | Loading commit data... | |
| Overlay_autogen.h | Loading commit data... | |
| Overlay_font_autogen.cpp | Loading commit data... | |
| Overlay_font_autogen.h | Loading commit data... | |
| Platform.cpp | Loading commit data... | |
| Program.cpp | Loading commit data... | |
| Program.h | Loading commit data... | |
| ProgramExecutable.cpp | Loading commit data... | |
| ProgramExecutable.h | Loading commit data... | |
| ProgramLinkedResources.cpp | Loading commit data... | |
| ProgramLinkedResources.h | Loading commit data... | |
| ProgramPipeline.cpp | Loading commit data... | |
| ProgramPipeline.h | Loading commit data... | |
| Program_unittest.cpp | Loading commit data... | |
| Query.cpp | Loading commit data... | |
| Query.h | Loading commit data... | |
| RefCountObject.h | Loading commit data... | |
| Renderbuffer.cpp | Loading commit data... | |
| Renderbuffer.h | Loading commit data... | |
| ResourceManager.cpp | Loading commit data... | |
| ResourceManager.h | Loading commit data... | |
| ResourceManager_unittest.cpp | Loading commit data... | |
| ResourceMap.h | Loading commit data... | |
| ResourceMap_unittest.cpp | Loading commit data... | |
| Sampler.cpp | Loading commit data... | |
| Sampler.h | Loading commit data... | |
| Semaphore.cpp | Loading commit data... | |
| Semaphore.h | Loading commit data... | |
| Shader.cpp | Loading commit data... | |
| Shader.h | Loading commit data... | |
| SizedMRUCache.h | Loading commit data... | |
| SizedMRUCache_unittest.cpp | Loading commit data... | |
| State.cpp | Loading commit data... | |
| State.h | Loading commit data... | |
| Stream.cpp | Loading commit data... | |
| Stream.h | Loading commit data... | |
| Surface.cpp | Loading commit data... | |
| Surface.h | Loading commit data... | |
| Surface_unittest.cpp | Loading commit data... | |
| Texture.cpp | Loading commit data... | |
| Texture.h | Loading commit data... | |
| Thread.cpp | Loading commit data... | |
| Thread.h | Loading commit data... | |
| TransformFeedback.cpp | Loading commit data... | |
| TransformFeedback.h | Loading commit data... | |
| TransformFeedback_unittest.cpp | Loading commit data... | |
| Uniform.cpp | Loading commit data... | |
| Uniform.h | Loading commit data... | |
| VaryingPacking.cpp | Loading commit data... | |
| VaryingPacking.h | Loading commit data... | |
| VaryingPacking_unittest.cpp | Loading commit data... | |
| Version.h | Loading commit data... | |
| Version.inc | Loading commit data... | |
| VertexArray.cpp | Loading commit data... | |
| VertexArray.h | Loading commit data... | |
| VertexArray_unittest.cpp | Loading commit data... | |
| VertexAttribute.cpp | Loading commit data... | |
| VertexAttribute.h | Loading commit data... | |
| VertexAttribute.inc | Loading commit data... | |
| WorkerThread.cpp | Loading commit data... | |
| WorkerThread.h | Loading commit data... | |
| WorkerThread_unittest.cpp | Loading commit data... | |
| angletypes.cpp | Loading commit data... | |
| angletypes.h | Loading commit data... | |
| angletypes.inc | Loading commit data... | |
| angletypes_unittest.cpp | Loading commit data... | |
| capture_gles_1_0_autogen.cpp | Loading commit data... | |
| capture_gles_1_0_autogen.h | Loading commit data... | |
| capture_gles_1_0_params.cpp | Loading commit data... | |
| capture_gles_2_0_autogen.cpp | Loading commit data... | |
| capture_gles_2_0_autogen.h | Loading commit data... | |
| capture_gles_2_0_params.cpp | Loading commit data... | |
| capture_gles_3_0_autogen.cpp | Loading commit data... | |
| capture_gles_3_0_autogen.h | Loading commit data... | |
| capture_gles_3_0_params.cpp | Loading commit data... | |
| capture_gles_3_1_autogen.cpp | Loading commit data... | |
| capture_gles_3_1_autogen.h | Loading commit data... | |
| capture_gles_3_1_params.cpp | Loading commit data... | |
| capture_gles_3_2_autogen.cpp | Loading commit data... | |
| capture_gles_3_2_autogen.h | Loading commit data... | |
| capture_gles_3_2_params.cpp | Loading commit data... | |
| capture_gles_ext_autogen.cpp | Loading commit data... | |
| capture_gles_ext_autogen.h | Loading commit data... | |
| capture_gles_ext_params.cpp | Loading commit data... | |
| entry_points_utils.h | Loading commit data... | |
| es3_copy_conversion_formats.json | Loading commit data... | |
| es3_copy_conversion_table_autogen.cpp | Loading commit data... | |
| es3_format_type_combinations.json | Loading commit data... | |
| features.h | Loading commit data... | |
| format_map_autogen.cpp | Loading commit data... | |
| format_map_data.json | Loading commit data... | |
| format_map_desktop.cpp | Loading commit data... | |
| formatutils.cpp | Loading commit data... | |
| formatutils.h | Loading commit data... | |
| frame_capture_replay_autogen.cpp | Loading commit data... | |
| frame_capture_utils.cpp | Loading commit data... | |
| frame_capture_utils.h | Loading commit data... | |
| frame_capture_utils_autogen.cpp | Loading commit data... | |
| frame_capture_utils_autogen.h | Loading commit data... | |
| gen_copy_conversion_table.py | Loading commit data... | |
| gen_format_map.py | Loading commit data... | |
| gen_overlay_fonts.py | Loading commit data... | |
| gen_overlay_widgets.py | Loading commit data... | |
| gl_enum_utils.cpp | Loading commit data... | |
| gl_enum_utils.h | Loading commit data... | |
| gl_enum_utils_autogen.cpp | Loading commit data... | |
| gl_enum_utils_autogen.h | Loading commit data... | |
| histogram_macros.h | Loading commit data... | |
| overlay_widgets.json | Loading commit data... | |
| queryconversions.cpp | Loading commit data... | |
| queryconversions.h | Loading commit data... | |
| queryutils.cpp | Loading commit data... | |
| queryutils.h | Loading commit data... | |
| trace.h | Loading commit data... | |
| validationEGL.cpp | Loading commit data... | |
| validationEGL.h | Loading commit data... | |
| validationES.cpp | Loading commit data... | |
| validationES.h | Loading commit data... | |
| validationES1.cpp | Loading commit data... | |
| validationES1.h | Loading commit data... | |
| validationES1_autogen.h | Loading commit data... | |
| validationES2.cpp | Loading commit data... | |
| validationES2.h | Loading commit data... | |
| validationES2_autogen.h | Loading commit data... | |
| validationES3.cpp | Loading commit data... | |
| validationES3.h | Loading commit data... | |
| validationES31.cpp | Loading commit data... | |
| validationES31.h | Loading commit data... | |
| validationES31_autogen.h | Loading commit data... | |
| validationES32.cpp | Loading commit data... | |
| validationES32.h | Loading commit data... | |
| validationES32_autogen.h | Loading commit data... | |
| validationES3_autogen.h | Loading commit data... | |
| validationESEXT.cpp | Loading commit data... | |
| validationESEXT.h | Loading commit data... | |
| validationESEXT_autogen.h | Loading commit data... | |
| validationGL1.cpp | Loading commit data... | |
| validationGL11.cpp | Loading commit data... | |
| validationGL11_autogen.h | Loading commit data... | |
| validationGL12.cpp | Loading commit data... | |
| validationGL12_autogen.h | Loading commit data... | |
| validationGL13.cpp | Loading commit data... | |
| validationGL13_autogen.h | Loading commit data... | |
| validationGL14.cpp | Loading commit data... | |
| validationGL14_autogen.h | Loading commit data... | |
| validationGL15.cpp | Loading commit data... | |
| validationGL15_autogen.h | Loading commit data... | |
| validationGL1_autogen.h | Loading commit data... | |
| validationGL2.cpp | Loading commit data... | |
| validationGL21.cpp | Loading commit data... | |
| validationGL21_autogen.h | Loading commit data... | |
| validationGL2_autogen.h | Loading commit data... | |
| validationGL3.cpp | Loading commit data... | |
| validationGL31.cpp | Loading commit data... | |
| validationGL31_autogen.h | Loading commit data... | |
| validationGL32.cpp | Loading commit data... | |
| validationGL32_autogen.h | Loading commit data... | |
| validationGL33.cpp | Loading commit data... | |
| validationGL33_autogen.h | Loading commit data... | |
| validationGL3_autogen.h | Loading commit data... | |
| validationGL4.cpp | Loading commit data... | |
| validationGL41.cpp | Loading commit data... | |
| validationGL41_autogen.h | Loading commit data... | |
| validationGL42.cpp | Loading commit data... | |
| validationGL42_autogen.h | Loading commit data... | |
| validationGL43.cpp | Loading commit data... | |
| validationGL43_autogen.h | Loading commit data... | |
| validationGL44.cpp | Loading commit data... | |
| validationGL44_autogen.h | Loading commit data... | |
| validationGL45.cpp | Loading commit data... | |
| validationGL45_autogen.h | Loading commit data... | |
| validationGL46.cpp | Loading commit data... | |
| validationGL46_autogen.h | Loading commit data... | |
| validationGL4_autogen.h | Loading commit data... |