This reverts commit 2219b18c. Reason for revert: Failing to compile on ASAN builders: https://ci.chromium.org/p/chromium/builders/try/linux-libfuzzer-asan-rel/134782 Currently blocking roll. Original change's description: > Vulkan:Optimize SecondaryCommandBuffers > > Optimize performance of SecondaryCommandBuffers and enable them as the > default build option. > To disable this set angle_enable_custom_vulkan_cmd_buffers=false in > your build args. > > This CL enhances the PoolAllocator to have a "fast" mode that can > be enabled at class creation. This mode uses an alignment of 1 byte and > enables a fastAllocation() call that avoids some bookkeeping overhead. > The SecondaryCommandBuffer uses this fastAllocation() function. > Furthermore the fast path of fast allocate, using the current page, > is inlined for maximum speed. > Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate > blocks so that the commands occur linearly in memory. This speeds up > processing with improved cache coherency and minimizes overhead when > recording commands. > Also the core Draw functions and their state updates are all inlined > as well as the common functions to initialize commands and to copy > command pointer data. > > This change also includes some new, custom commands. One is > imageBarrier that is a specialized version of pipelineBarrier that only > performs a single image layout transition. > There are customized versions of various Draw commands to minimize > copying of parameters. > There are also specialized commands to bind[Graphics|Compute]Pipeline > that have the pipeline type built in to the command. > More custom commands and command data size optimizations will be made > in follow-on commits. > > Bug: angleproject:3136 > Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418 > Commit-Queue: Tobin Ehlis <tobine@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org Change-Id: I1c0bfe864ff343eb8ea6c88556523f8715c981d5 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:3136 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535998Reviewed-by:Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| 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_gles_1_0.cpp | Loading commit data... | |
| Context_gles_1_0_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.inl | Loading commit data... | |
| ErrorStrings.h | Loading commit data... | |
| Fence.cpp | Loading commit data... | |
| Fence.h | Loading commit data... | |
| Fence_unittest.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... | |
| HandleRangeAllocator.cpp | Loading commit data... | |
| HandleRangeAllocator.h | Loading commit data... | |
| HandleRangeAllocator_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... | |
| LoggingAnnotator.cpp | Loading commit data... | |
| LoggingAnnotator.h | Loading commit data... | |
| MemoryProgramCache.cpp | Loading commit data... | |
| MemoryProgramCache.h | Loading commit data... | |
| Observer.cpp | Loading commit data... | |
| Observer.h | Loading commit data... | |
| Observer_unittest.cpp | Loading commit data... | |
| Path.cpp | Loading commit data... | |
| Path.h | Loading commit data... | |
| Platform.cpp | Loading commit data... | |
| Program.cpp | Loading commit data... | |
| Program.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... | |
| 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.inl | 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.inl | Loading commit data... | |
| Workarounds.h | 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.inl | 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... | |
| formatutils.cpp | Loading commit data... | |
| formatutils.h | Loading commit data... | |
| gen_copy_conversion_table.py | Loading commit data... | |
| gen_format_map.py | Loading commit data... | |
| histogram_macros.h | Loading commit data... | |
| queryconversions.cpp | Loading commit data... | |
| queryconversions.h | Loading commit data... | |
| queryutils.cpp | Loading commit data... | |
| queryutils.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... | |
| validationES3_autogen.h | Loading commit data... | |
| validationESEXT.h | Loading commit data... | |
| validationESEXT_autogen.h | Loading commit data... |