Fix test_vulkan_interop_buffer validation errors for Int8 storage shader (#2603)

Fixes vulkan validation layer error:

Vulkan validation layer: Validation Error: [
VUID-VkShaderModuleCreateInfo-pCode-08740 ] | MessageID = 0x6e224e9 |
vkCreateComputePipelines(): pCreateInfos[0].stage SPIR-V Capability Int8
was declared, but one of the following requirements is required
(VkPhysicalDeviceVulkan12Features::shaderInt8). The Vulkan spec states:
If pCode is a pointer to SPIR-V code, and pCode declares any of the
capabilities listed in the SPIR-V Environment appendix, one of the
corresponding requirements must be satisfied
(https://vulkan.lunarg.com/doc/view/1.3.275.0/linux/1.3-extensions/vkspec.html#VUID-VkShaderModuleCreateInfo-pCode-08740)
This commit is contained in:
Marcin Hajder
2026-02-17 17:45:07 +01:00
committed by GitHub
parent 3262ea3f45
commit 764b77ad83
5 changed files with 62 additions and 7 deletions

View File

@@ -1586,7 +1586,7 @@ struct BufferTestBase : public VulkanTestBase
{
BufferTestBase(cl_device_id device, cl_context context,
cl_command_queue queue, cl_int nelems)
: VulkanTestBase(device, context, queue, nelems)
: VulkanTestBase(device, context, queue, nelems, true)
{}
int test_buffer_common(bool use_fence)

View File

@@ -37,11 +37,13 @@ inline void params_reset()
struct VulkanTestBase
{
VulkanTestBase(cl_device_id device, cl_context context,
cl_command_queue queue, cl_int nelems)
cl_command_queue queue, cl_int nelems,
bool useShaderInt8 = false)
: device(device), context(context), num_elems(nelems)
{
vkDevice.reset(new VulkanDevice(
getAssociatedVulkanPhysicalDevice(device, useValidationLayers)));
getAssociatedVulkanPhysicalDevice(device, useValidationLayers),
getDefaultVulkanQueueFamilyToQueueCountMap(), useShaderInt8));
cl_platform_id platform;
cl_int error = clGetDeviceInfo(device, CL_DEVICE_PLATFORM,