In DEBUG version, when using OpenGL back-ends, ANGLE may meet an
INVALID_OPERATION error from driver when attemping to update an
attribute which is disabled and using a client memory pointer.
This patch fixes this bug by skipping such vertex attributes when
updating them to driver. With this patch the process to update
vertex attributes should be:
(1) For enabled attributes using client memory pointer:
update by streaming mode in streamAttributes()
(2) For disabled attributes using client memory pointer:
just label them dirty and skip them
(3) For attributes using buffer objects:
update with vertexAttrib*Pointer
BUG=angleproject:1942
Change-Id: I57043e5904eb4a342fa22d449d98a957010170d6
Reviewed-on: https://chromium-review.googlesource.com/456747
Commit-Queue: Geoff Lang <geofflang@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... | |
| FenceSyncTests.cpp | Loading commit data... | |
| FloatingPointSurfaceTest.cpp | Loading commit data... | |
| FramebufferMixedSamplesTest.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... | |
| 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... | |
| ProvokingVertexTest.cpp | Loading commit data... | |
| ReadPixelsTest.cpp | Loading commit data... | |
| RendererTest.cpp | Loading commit data... | |
| RobustClientMemoryTest.cpp | Loading commit data... | |
| RobustResourceInitTest.cpp | Loading commit data... | |
| SRGBFramebufferTest.cpp | Loading commit data... | |
| SRGBTextureTest.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... | |
| 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... |