commit | b95a9d798050499a8720ec4ada9a70a2093e24f0 | [log] [tgz] |
---|---|---|
author | Pyry Haulos <phaulos@google.com> | Wed Mar 08 13:05:00 2017 -0800 |
committer | Pyry Haulos <phaulos@google.com> | Thu Mar 09 15:28:57 2017 -0800 |
tree | d350529be607943d6385b2bcc0a915e87eedc223 | |
parent | 7fc7fd51fb1a7b00aa6fa6639dd036724b883338 [diff] |
Refactor vktShaderExecutor ShaderExecutor Vulkan port had several issues: * Lifetime of ShaderExecutor was designed to extend from TestCase to TestInstance. This was done in order to allow generating shader sources at TestCase and later reuse same object to do actual execution when Vulkan device was available. Result was total lifetime mess and leak of Vulkan objects beyond TestInstance lifetime. * Whole UniformSetup system was badly designed mess that provided functionality for just a few tests. Following cleanups and fixes have been made: * ShaderExecutor objects are now expected to be live only when Vulkan device is available, i.e. only within vkt::TestInstance. Shader source generation part has been moved into a separate utility. * UniformSetup mess is removed and replaced with much leaner and extensible way to supply additional resources. Descriptor set 1 is reserved for test case specific resources and those can be provided by supplying custom descriptor layout and descriptor set. Tests using old UniformSetup system have been adjusted accordingly. There is still room for additional improvements, such as moving much of pipeline construction from ShaderExecutor::execute() into constructors, but these can be done in follow-up CLs. Affects following test groups: dEQP-VK.glsl.builtin.* dEQP-VK.glsl.opaque_type_indexing. dEQP-VK.texture.explicit_lod.* VK-GL-CTS issue: 182 Components: Vulkan Change-Id: Icfc45a36cb4651f39f12608842ef347a55353d84
This repository contains a GPU testing suite called dEQP (drawElements Quality Program). dEQP contains tests for several graphics APIs, including OpenGL ES, EGL, and Vulkan.
Up-to-date documentation for the dEQP is available at Android Open Source Project site.
This repository includes Khronos Vulkan CTS under external/vulkancts
directory. For more information see Vulkan CTS README.