Fix buffer size in manual zeroing Workgroup aliased memory
authorCaio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Fri, 29 Jan 2021 04:33:37 +0000 (20:33 -0800)
committerAlexander Galazin <alexander.galazin@arm.com>
Mon, 15 Feb 2021 13:46:11 +0000 (14:46 +0100)
The buffer A needs to be large enough to fit the largest case when
using the smallest type, which is an array of uint8_t to cover an
array of 4 struct {dvec4, dvec4}.  Update the buffer size to properly
cover the entire array.

Component: Vulkan
VK-GL-CTS Issue: 2524

Affected tests:
- dEQP-VK.compute.workgroup_memory_explicit_layout.zero.*

Change-Id: I098b037314fb87fbe03769a0a4fe79edcf46143e

external/vulkancts/modules/vulkan/compute/vktComputeWorkgroupMemoryExplicitLayoutTests.cpp

index c3a5764..d670ffc 100644 (file)
@@ -905,7 +905,7 @@ void ZeroTest::initPrograms(SourceCollections& sourceCollections) const
 
        // Large enough to cover the largest B block even if just 8-bit elements.
        // Small enough to fit in the minimum shared memory size limit even if with uvec4.
-       src << "shared A { " << getDataTypeName(m_caseDef.zeroElementType) << " arr[128]; } zero;\n";
+       src << "shared A { " << getDataTypeName(m_caseDef.zeroElementType) << " arr[256]; } zero;\n";
 
        src << "struct st {\n"
                << "    " << getDataTypeName(m_caseDef.fieldType[0]) << " x;\n";