Test workgroup size setting combinations
authorDavid Neto <dneto@google.com>
Thu, 10 Aug 2017 15:29:24 +0000 (11:29 -0400)
committerAlexander Galazin <Alexander.Galazin@arm.com>
Fri, 15 Sep 2017 13:44:16 +0000 (09:44 -0400)
commit1144f11f972318827d37f8e9fccf61fd90dcb3e3
tree3b8278e341425be8b54d471b2a80ec238c37b828
parent88cd9dbfed8aac584cb93b8208d3e109cdff8813
Test workgroup size setting combinations

Vulkan shader validation rules include:

 For each compute shader entry point, either a LocalSize execution mode
 or an object decorated with the WorkgroupSize decoration must be
 specified.

Glslang always emits an "OpExecutionMode %main LocalSize 1 1 1".
We should be able to specify workgroup size with a spec constant
uvec3, and remove OpExecutionMode for LocalSize.

This patch tests 3 combinations:
  literal local size, no spec constant workgroup size
  literal local size, and spec constant workgroup size
  no literal local size, and spec constant workgroup size

Affects:

dEQP-VK.spirv_assembly.instruction.compute.opnop.*

VK-GL-CTS issue: 629

Compoonents: Vulkan

Change-Id: I5401cac9e569bf1ed77920015ba085b6a8f28a11
13 files changed:
android/cts/master/vk-master.txt
android/cts/nyc/src/vk-master.txt
android/cts/nyc/vk-master.txt
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderTestUtil.cpp
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmComputeShaderTestUtil.hpp
external/vulkancts/modules/vulkan/spirv_assembly/vktSpvAsmInstructionTests.cpp
external/vulkancts/mustpass/1.0.0/src/master.txt
external/vulkancts/mustpass/1.0.0/vk-default.txt
external/vulkancts/mustpass/1.0.1/src/master.txt
external/vulkancts/mustpass/1.0.1/vk-default.txt
external/vulkancts/mustpass/1.0.2/src/master.txt
external/vulkancts/mustpass/1.0.2/vk-default.txt
external/vulkancts/mustpass/1.0.3/vk-default.txt