This patch moves the robust resource init logic to the GL front-end. Instead of initializing texture resources immediately on creation in D3D11, it defers the clear until before a draw call in some cases, or skips the update if we can determine if a texture (or other resource) has been fully initialized. Currently lazy init is only implemented for Textures, Renderbuffers, and Surfaces. Various places where lazy resource init is triggered: * Framebuffer operations (Draw, Blit, CopyTexImage, Clear, ReadPixels) * Texture operations (SubImage, GenerateMipmap, CopyTexImage) Some efficiency gains remain to be implemented, such as when a SubImage call fills the entire object. Similarly for Blit, and a few other operations. In these cases we can skip lazy init as an optimization. Edge cases with EGLImage are mostly untested. BUG=angleproject:2107 Change-Id: I2bf3a69b1eae0d4feeb5b17daca23451f1037be8 Reviewed-on: https://chromium-review.googlesource.com/576058 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:Corentin Wallez <cwallez@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| media | Loading commit data... | |
| AtomicCounterBufferTest.cpp | Loading commit data... | |
| BindGeneratesResourceTest.cpp | Loading commit data... | |
| BindUniformLocationTest.cpp | Loading commit data... | |
| BlendMinMaxTest.cpp | Loading commit data... | |
| BlitFramebufferANGLETest.cpp | Loading commit data... | |
| BufferDataTest.cpp | Loading commit data... | |
| BuiltinVariableTest.cpp | Loading commit data... | |
| ClearTest.cpp | Loading commit data... | |
| ClientArraysTest.cpp | Loading commit data... | |
| ColorMaskTest.cpp | Loading commit data... | |
| ComputeShaderTest.cpp | Loading commit data... | |
| CopyCompressedTextureTest.cpp | Loading commit data... | |
| CopyTexImageTest.cpp | Loading commit data... | |
| CopyTextureTest.cpp | Loading commit data... | |
| CubeMapTextureTest.cpp | Loading commit data... | |
| D3D11EmulatedIndexedBufferTest.cpp | Loading commit data... | |
| D3D11FormatTablesTest.cpp | Loading commit data... | |
| D3D11InputLayoutCacheTest.cpp | Loading commit data... | |
| D3DImageFormatConversionTest.cpp | Loading commit data... | |
| D3DTextureTest.cpp | Loading commit data... | |
| DXT1CompressedTextureTest.cpp | Loading commit data... | |
| DXTSRGBCompressedTextureTest.cpp | Loading commit data... | |
| DXTSRGBCompressedTextureTestData.inl | Loading commit data... | |
| DebugMarkerTest.cpp | Loading commit data... | |
| DebugTest.cpp | Loading commit data... | |
| DepthStencilFormatsTest.cpp | Loading commit data... | |
| DifferentStencilMasksTest.cpp | Loading commit data... | |
| DiscardFramebufferEXTTest.cpp | Loading commit data... | |
| DrawBuffersTest.cpp | Loading commit data... | |
| DrawElementsTest.cpp | Loading commit data... | |
| ETCTextureTest.cpp | Loading commit data... | |
| ErrorMessages.cpp | Loading commit data... | |
| FenceSyncTests.cpp | Loading commit data... | |
| FloatingPointSurfaceTest.cpp | Loading commit data... | |
| FramebufferMixedSamplesTest.cpp | Loading commit data... | |
| FramebufferMultiviewTest.cpp | Loading commit data... | |
| FramebufferRenderMipmapTest.cpp | Loading commit data... | |
| FramebufferTest.cpp | Loading commit data... | |
| GLSLTest.cpp | Loading commit data... | |
| ImageTest.cpp | Loading commit data... | |
| IncompleteTextureTest.cpp | Loading commit data... | |
| IndexBufferOffsetTest.cpp | Loading commit data... | |
| IndexedPointsTest.cpp | Loading commit data... | |
| InstancingTest.cpp | Loading commit data... | |
| LineLoopTest.cpp | Loading commit data... | |
| MaxTextureSizeTest.cpp | Loading commit data... | |
| MipmapTest.cpp | Loading commit data... | |
| MultisampleCompatibilityTest.cpp | Loading commit data... | |
| MultiviewDrawTest.cpp | Loading commit data... | |
| ObjectAllocationTest.cpp | Loading commit data... | |
| OcclusionQueriesTest.cpp | Loading commit data... | |
| PBOExtensionTest.cpp | Loading commit data... | |
| PackUnpackTest.cpp | Loading commit data... | |
| PathRenderingTest.cpp | Loading commit data... | |
| PbufferTest.cpp | Loading commit data... | |
| PointSpritesTest.cpp | Loading commit data... | |
| ProgramBinaryTest.cpp | Loading commit data... | |
| ProgramInterfaceTest.cpp | Loading commit data... | |
| ProgramParameterTest.cpp | Loading commit data... | |
| ProgramPipelineTest.cpp | Loading commit data... | |
| ProvokingVertexTest.cpp | Loading commit data... | |
| ReadPixelsTest.cpp | Loading commit data... | |
| RendererTest.cpp | Loading commit data... | |
| RobustBufferAccessBehaviorTest.cpp | Loading commit data... | |
| RobustClientMemoryTest.cpp | Loading commit data... | |
| RobustResourceInitTest.cpp | Loading commit data... | |
| SRGBFramebufferTest.cpp | Loading commit data... | |
| SRGBTextureTest.cpp | Loading commit data... | |
| ShaderStorageBufferTest.cpp | Loading commit data... | |
| SimpleOperationTest.cpp | Loading commit data... | |
| SixteenBppTextureTest.cpp | Loading commit data... | |
| StateChangeTest.cpp | Loading commit data... | |
| SwizzleTest.cpp | Loading commit data... | |
| SyncQueriesTest.cpp | Loading commit data... | |
| TextureMultisampleTest.cpp | Loading commit data... | |
| TextureRectangleTest.cpp | Loading commit data... | |
| TextureTest.cpp | Loading commit data... | |
| TimerQueriesTest.cpp | Loading commit data... | |
| TransformFeedbackTest.cpp | Loading commit data... | |
| UniformBufferTest.cpp | Loading commit data... | |
| UniformTest.cpp | Loading commit data... | |
| UnpackAlignmentTest.cpp | Loading commit data... | |
| UnpackRowLength.cpp | Loading commit data... | |
| VertexAttributeTest.cpp | Loading commit data... | |
| ViewportTest.cpp | Loading commit data... | |
| WebGLCompatibilityTest.cpp | Loading commit data... | |
| WebGLFramebufferTest.cpp | Loading commit data... | |
| WebGLReadOutsideFramebufferTest.cpp | Loading commit data... |