Previously, it was assumed that a function argument is either AC or
AC[i], and it was converted to AC or AC+i respectively. The code is
changed to support any number of dimensions and subscripts, using
array size information from AC's type. If AC is an array of array
(atomic_uint AC[N][M][R]), the following index calculations are done.
AC -> AC.arrayIndex
AC[i] -> AC.arrayIndex + i*M*R
AC[i][j] -> AC.arrayIndex + i*M*R + j*R
AC[i][j][k] -> AC.arrayIndex + i*M*R + j*R + k
A test is added to exercise these various forms of indexing:
AtomicCounterBufferTest31.AtomicCounterArrayOfArray
Bug: angleproject:3566
Change-Id: I1e181a7363463d1d0ee4916f35006ed7c58e0f7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1739488
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by:
Tim Van Patten <timvp@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| gles1 | Loading commit data... | |
| media | Loading commit data... | |
| AtomicCounterBufferTest.cpp | Loading commit data... | |
| AttributeLayoutTest.cpp | Loading commit data... | |
| BPTCCompressedTextureTest.cpp | Loading commit data... | |
| BindGeneratesResourceTest.cpp | Loading commit data... | |
| BindUniformLocationTest.cpp | Loading commit data... | |
| BlendFuncExtendedTest.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... | |
| ContextLostTest.cpp | Loading commit data... | |
| CopyCompressedTextureTest.cpp | Loading commit data... | |
| CopyTexImageTest.cpp | Loading commit data... | |
| CopyTexture3DTest.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... | |
| DepthStencilTest.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... | |
| ExplicitContextTest.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... | |
| GeometryShaderTest.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... | |
| LinkAndRelinkTest.cpp | Loading commit data... | |
| MaxTextureSizeTest.cpp | Loading commit data... | |
| MemoryObjectTest.cpp | Loading commit data... | |
| MemorySizeTest.cpp | Loading commit data... | |
| MipmapTest.cpp | Loading commit data... | |
| MultiDrawTest.cpp | Loading commit data... | |
| MultisampleCompatibilityTest.cpp | Loading commit data... | |
| MultisampleTest.cpp | Loading commit data... | |
| MultithreadingTest.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... | |
| ParallelShaderCompileTest.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... | |
| RenderbufferMultisampleTest.cpp | Loading commit data... | |
| RendererTest.cpp | Loading commit data... | |
| RequestExtensionTest.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... | |
| SamplersTest.cpp | Loading commit data... | |
| SemaphoreTest.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... | |
| TextureExternalUpdateTest.cpp | Loading commit data... | |
| TextureMultisampleTest.cpp | Loading commit data... | |
| TextureRectangleTest.cpp | Loading commit data... | |
| TextureTest.cpp | Loading commit data... | |
| TextureUploadFormatTest.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... | |
| VulkanExternalImageTest.cpp | Loading commit data... | |
| VulkanFormatTablesTest.cpp | Loading commit data... | |
| VulkanUniformUpdatesTest.cpp | Loading commit data... | |
| WebGLCompatibilityTest.cpp | Loading commit data... | |
| WebGLFramebufferTest.cpp | Loading commit data... | |
| WebGLReadOutsideFramebufferTest.cpp | Loading commit data... |