Commit 0bb02368 by Frank Henigman Committed by Commit Bot

Vulkan: add SCALED vertex formats to table.

Add SCALED formats, which correspond to non-normalized integers, to Vulkan format table. Adjust test expectations accordingly. For now these new formats only work when the native Vulkan supports them. BUG=angleproject:2405 Change-Id: Ia6fdcbec61774536e6396cf713e46f28f49585c1 Reviewed-on: https://chromium-review.googlesource.com/1110710 Commit-Queue: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org>
parent 0265e1ec
......@@ -37,16 +37,22 @@
"R8_SNORM": "VK_FORMAT_R8_SNORM",
"R8_UINT": "VK_FORMAT_R8_UINT",
"R8_SINT": "VK_FORMAT_R8_SINT",
"R8_USCALED": "VK_FORMAT_R8_USCALED",
"R8_SSCALED": "VK_FORMAT_R8_SSCALED",
"R8_SRGB": "VK_FORMAT_R8_SRGB",
"R8G8_UNORM": "VK_FORMAT_R8G8_UNORM",
"R8G8_SNORM": "VK_FORMAT_R8G8_SNORM",
"R8G8_UINT": "VK_FORMAT_R8G8_UINT",
"R8G8_SINT": "VK_FORMAT_R8G8_SINT",
"R8G8_USCALED": "VK_FORMAT_R8G8_USCALED",
"R8G8_SSCALED": "VK_FORMAT_R8G8_SSCALED",
"R8G8_SRGB": "VK_FORMAT_R8G8_SRGB",
"R8G8B8_UNORM": "VK_FORMAT_R8G8B8_UNORM",
"R8G8B8_SNORM": "VK_FORMAT_R8G8B8_SNORM",
"R8G8B8_UINT": "VK_FORMAT_R8G8B8_UINT",
"R8G8B8_SINT": "VK_FORMAT_R8G8B8_SINT",
"R8G8B8_USCALED": "VK_FORMAT_R8G8B8_USCALED",
"R8G8B8_SSCALED": "VK_FORMAT_R8G8B8_SSCALED",
"R8G8B8_SRGB": "VK_FORMAT_R8G8B8_SRGB",
"B8G8R8_UNORM": "VK_FORMAT_B8G8R8_UNORM",
"B8G8R8_SNORM": "VK_FORMAT_B8G8R8_SNORM",
......@@ -57,6 +63,8 @@
"R8G8B8A8_SNORM": "VK_FORMAT_R8G8B8A8_SNORM",
"R8G8B8A8_UINT": "VK_FORMAT_R8G8B8A8_UINT",
"R8G8B8A8_SINT": "VK_FORMAT_R8G8B8A8_SINT",
"R8G8B8A8_USCALED": "VK_FORMAT_R8G8B8A8_USCALED",
"R8G8B8A8_SSCALED": "VK_FORMAT_R8G8B8A8_SSCALED",
"R8G8B8A8_SRGB": "VK_FORMAT_R8G8B8A8_SRGB",
"B8G8R8A8_UNORM": "VK_FORMAT_B8G8R8A8_UNORM",
"B8G8R8A8_SNORM": "VK_FORMAT_B8G8R8A8_SNORM",
......@@ -79,21 +87,29 @@
"A2B10G10R10_SINT_PACK32": "VK_FORMAT_A2B10G10R10_SINT_PACK32",
"R16_UNORM": "VK_FORMAT_R16_UNORM",
"R16_SNORM": "VK_FORMAT_R16_SNORM",
"R16_USCALED": "VK_FORMAT_R16_USCALED",
"R16_SSCALED": "VK_FORMAT_R16_SSCALED",
"R16_UINT": "VK_FORMAT_R16_UINT",
"R16_SINT": "VK_FORMAT_R16_SINT",
"R16_FLOAT": "VK_FORMAT_R16_SFLOAT",
"R16G16_UNORM": "VK_FORMAT_R16G16_UNORM",
"R16G16_SNORM": "VK_FORMAT_R16G16_SNORM",
"R16G16_USCALED": "VK_FORMAT_R16G16_USCALED",
"R16G16_SSCALED": "VK_FORMAT_R16G16_SSCALED",
"R16G16_UINT": "VK_FORMAT_R16G16_UINT",
"R16G16_SINT": "VK_FORMAT_R16G16_SINT",
"R16G16_FLOAT": "VK_FORMAT_R16G16_SFLOAT",
"R16G16B16_UNORM": "VK_FORMAT_R16G16B16_UNORM",
"R16G16B16_SNORM": "VK_FORMAT_R16G16B16_SNORM",
"R16G16B16_USCALED": "VK_FORMAT_R16G16B16_USCALED",
"R16G16B16_SSCALED": "VK_FORMAT_R16G16B16_SSCALED",
"R16G16B16_UINT": "VK_FORMAT_R16G16B16_UINT",
"R16G16B16_SINT": "VK_FORMAT_R16G16B16_SINT",
"R16G16B16_FLOAT": "VK_FORMAT_R16G16B16_SFLOAT",
"R16G16B16A16_UNORM": "VK_FORMAT_R16G16B16A16_UNORM",
"R16G16B16A16_SNORM": "VK_FORMAT_R16G16B16A16_SNORM",
"R16G16B16A16_USCALED": "VK_FORMAT_R16G16B16A16_USCALED",
"R16G16B16A16_SSCALED": "VK_FORMAT_R16G16B16A16_SSCALED",
"R16G16B16A16_UINT": "VK_FORMAT_R16G16B16A16_UINT",
"R16G16B16A16_SINT": "VK_FORMAT_R16G16B16A16_SINT",
"R16G16B16A16_FLOAT": "VK_FORMAT_R16G16B16A16_SFLOAT",
......
......@@ -757,8 +757,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R16G16B16A16_SSCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RGBA16_SSCALED_ANGLEX;
textureFormatID = angle::Format::ID::R16G16B16A16_SSCALED;
vkTextureFormat = VK_FORMAT_R16G16B16A16_SSCALED;
bufferFormatID = angle::Format::ID::R16G16B16A16_SSCALED;
vkBufferFormat = VK_FORMAT_R16G16B16A16_SSCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R16G16B16A16_UINT:
{
......@@ -783,8 +790,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R16G16B16A16_USCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RGBA16_USCALED_ANGLEX;
textureFormatID = angle::Format::ID::R16G16B16A16_USCALED;
vkTextureFormat = VK_FORMAT_R16G16B16A16_USCALED;
bufferFormatID = angle::Format::ID::R16G16B16A16_USCALED;
vkBufferFormat = VK_FORMAT_R16G16B16A16_USCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R16G16B16_FLOAT:
{
......@@ -820,8 +834,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R16G16B16_SSCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RGB16_SSCALED_ANGLEX;
textureFormatID = angle::Format::ID::R16G16B16_SSCALED;
vkTextureFormat = VK_FORMAT_R16G16B16_SSCALED;
bufferFormatID = angle::Format::ID::R16G16B16_SSCALED;
vkBufferFormat = VK_FORMAT_R16G16B16_SSCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R16G16B16_UINT:
{
......@@ -846,8 +867,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R16G16B16_USCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RGB16_USCALED_ANGLEX;
textureFormatID = angle::Format::ID::R16G16B16_USCALED;
vkTextureFormat = VK_FORMAT_R16G16B16_USCALED;
bufferFormatID = angle::Format::ID::R16G16B16_USCALED;
vkBufferFormat = VK_FORMAT_R16G16B16_USCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R16G16_FLOAT:
{
......@@ -883,8 +911,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R16G16_SSCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RG16_SSCALED_ANGLEX;
textureFormatID = angle::Format::ID::R16G16_SSCALED;
vkTextureFormat = VK_FORMAT_R16G16_SSCALED;
bufferFormatID = angle::Format::ID::R16G16_SSCALED;
vkBufferFormat = VK_FORMAT_R16G16_SSCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R16G16_UINT:
{
......@@ -909,8 +944,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R16G16_USCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RG16_USCALED_ANGLEX;
textureFormatID = angle::Format::ID::R16G16_USCALED;
vkTextureFormat = VK_FORMAT_R16G16_USCALED;
bufferFormatID = angle::Format::ID::R16G16_USCALED;
vkBufferFormat = VK_FORMAT_R16G16_USCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R16_FLOAT:
{
......@@ -946,8 +988,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R16_SSCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_R16_SSCALED_ANGLEX;
textureFormatID = angle::Format::ID::R16_SSCALED;
vkTextureFormat = VK_FORMAT_R16_SSCALED;
bufferFormatID = angle::Format::ID::R16_SSCALED;
vkBufferFormat = VK_FORMAT_R16_SSCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R16_UINT:
{
......@@ -972,8 +1021,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R16_USCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_R16_USCALED_ANGLEX;
textureFormatID = angle::Format::ID::R16_USCALED;
vkTextureFormat = VK_FORMAT_R16_USCALED;
bufferFormatID = angle::Format::ID::R16_USCALED;
vkBufferFormat = VK_FORMAT_R16_USCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R32G32B32A32_FIXED:
// This format is not implemented in Vulkan.
......@@ -1243,8 +1299,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R8G8B8A8_SSCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RGBA8_SSCALED_ANGLEX;
textureFormatID = angle::Format::ID::R8G8B8A8_SSCALED;
vkTextureFormat = VK_FORMAT_R8G8B8A8_SSCALED;
bufferFormatID = angle::Format::ID::R8G8B8A8_SSCALED;
vkBufferFormat = VK_FORMAT_R8G8B8A8_SSCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R8G8B8A8_TYPELESS:
// This format is not implemented in Vulkan.
......@@ -1281,8 +1344,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
break;
case angle::Format::ID::R8G8B8A8_USCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RGBA8_USCALED_ANGLEX;
textureFormatID = angle::Format::ID::R8G8B8A8_USCALED;
vkTextureFormat = VK_FORMAT_R8G8B8A8_USCALED;
bufferFormatID = angle::Format::ID::R8G8B8A8_USCALED;
vkBufferFormat = VK_FORMAT_R8G8B8A8_USCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R8G8B8_SINT:
{
......@@ -1307,8 +1377,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R8G8B8_SSCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RGB8_SSCALED_ANGLEX;
textureFormatID = angle::Format::ID::R8G8B8_SSCALED;
vkTextureFormat = VK_FORMAT_R8G8B8_SSCALED;
bufferFormatID = angle::Format::ID::R8G8B8_SSCALED;
vkBufferFormat = VK_FORMAT_R8G8B8_SSCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R8G8B8_UINT:
{
......@@ -1337,8 +1414,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
break;
case angle::Format::ID::R8G8B8_USCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RGB8_USCALED_ANGLEX;
textureFormatID = angle::Format::ID::R8G8B8_USCALED;
vkTextureFormat = VK_FORMAT_R8G8B8_USCALED;
bufferFormatID = angle::Format::ID::R8G8B8_USCALED;
vkBufferFormat = VK_FORMAT_R8G8B8_USCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R8G8_SINT:
{
......@@ -1363,8 +1447,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R8G8_SSCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RG8_SSCALED_ANGLEX;
textureFormatID = angle::Format::ID::R8G8_SSCALED;
vkTextureFormat = VK_FORMAT_R8G8_SSCALED;
bufferFormatID = angle::Format::ID::R8G8_SSCALED;
vkBufferFormat = VK_FORMAT_R8G8_SSCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R8G8_UINT:
{
......@@ -1389,8 +1480,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R8G8_USCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_RG8_USCALED_ANGLEX;
textureFormatID = angle::Format::ID::R8G8_USCALED;
vkTextureFormat = VK_FORMAT_R8G8_USCALED;
bufferFormatID = angle::Format::ID::R8G8_USCALED;
vkBufferFormat = VK_FORMAT_R8G8_USCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R8_SINT:
{
......@@ -1415,8 +1513,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R8_SSCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_R8_SSCALED_ANGLEX;
textureFormatID = angle::Format::ID::R8_SSCALED;
vkTextureFormat = VK_FORMAT_R8_SSCALED;
bufferFormatID = angle::Format::ID::R8_SSCALED;
vkBufferFormat = VK_FORMAT_R8_SSCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R8_UINT:
{
......@@ -1441,8 +1546,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
}
case angle::Format::ID::R8_USCALED:
// This format is not implemented in Vulkan.
{
internalFormat = GL_R8_USCALED_ANGLEX;
textureFormatID = angle::Format::ID::R8_USCALED;
vkTextureFormat = VK_FORMAT_R8_USCALED;
bufferFormatID = angle::Format::ID::R8_USCALED;
vkBufferFormat = VK_FORMAT_R8_USCALED;
dataInitializerFunction = nullptr;
break;
}
case angle::Format::ID::R9G9B9E5_SHAREDEXP:
// This format is not implemented in Vulkan.
......
......@@ -216,8 +216,45 @@
2606 VULKAN ANDROID : dEQP-GLES2.functional.debug_marker.random = SKIP
2606 VULKAN ANDROID : dEQP-GLES2.functional.debug_marker.supported = SKIP
2609 VULKAN ANDROID : dEQP-GLES2.functional.texture.mipmap.cube.generate.* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_unsigned_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_unsigned_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.first.byte_first* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.normalize.user_ptr_0_0_short3* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.normalize.user_ptr_0_0_unsigned_short3* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_17_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_2_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_32_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_17_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_2_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_32_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_32_17_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_32_2_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_32_32_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_4_17_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_4_2_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_4_32_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_unsigned_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_unsigned_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_17_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_2_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_32_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_32_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_3_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_4_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_4_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_6_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_8_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_0_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_0_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_17_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_2_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_32_byte* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_32_short* = SKIP
2405 VULKAN ANDROID : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_4_short* = SKIP
// Windows Linux and Mac failures
1028 WIN LINUX MAC : dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8 = FAIL
......@@ -271,46 +308,6 @@
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_0_fixed* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_32_fixed* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_8_fixed* = SKIP
// unnormalized byte/short vertex data
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_unsigned_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.input_types.3_unsigned_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.first.byte_first* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_17_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_2_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_32_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_17_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_2_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_32_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_32_17_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_32_2_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_32_32_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_4_17_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_4_2_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_4_32_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_unsigned_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_unsigned_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_17_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_2_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_32_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_32_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_3_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_4_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_4_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_6_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_8_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_0_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_0_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_17_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_2_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_32_byte* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_32_short* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_4_short* = SKIP
2598 VULKAN : dEQP-GLES2.functional.rasterization.primitives.line* = SKIP
2599 VULKAN : dEQP-GLES2.functional.rasterization.limits.points = SKIP
2600 VULKAN : dEQP-GLES2.functional.state_query.shader.uniform_value_sampler = SKIP
......@@ -337,23 +334,24 @@
// Vulkan AMD Windows specific failures
2602 VULKAN WIN AMD : dEQP-GLES2.functional.buffer.write.* = SKIP
// TODO(fjhenigman): try these again once vertex format support is farther along
// TODO(fjhenigman): Try these again once vertex format support is farther along.
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_32_float* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_32_float* = SKIP
// TODO(fjhenigman): try these again once vertex format support is farther along
// TODO(fjhenigman): Try these again once vertex format support is farther along.
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.first.float_first24* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.first.float_first6* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_32* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_4* = SKIP
// TODO(fjhenigman): try these again once vertex format support is farther along
// TODO(fjhenigman): Try these again once vertex format support is farther along.
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.normalize.user_ptr_0_0_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.normalize.user_ptr_0_0_short* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.normalize.user_ptr_0_0_unsigned_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.normalize.user_ptr_0_0_unsigned_short* = SKIP
// AMD is known to require proper alignment which is probably why 17 is a bad number for it
// TODO(fjhenigman): Implement realigning.
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_0_float2_0_float2_17 = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_0_float2_17* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_0_float2_32_float2_17 = SKIP
......@@ -367,3 +365,26 @@
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_8_float2_17* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_8_float2_32_float2_17 = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_8_float2_8_float2_17 = SKIP
// TODO(fjhenigman): Try these again once vertex format support is farther along.
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.first.byte_first* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_17_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_2_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_1_32_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_17_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_2_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_17_32_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_short* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_unsigned_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.output_types.user_ptr_0_0_unsigned_short* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_17_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_32_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_32_short* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_3_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.strides.buffer_0_6_short* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_0_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_0_short* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_17_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_32_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_32_short* = SKIP
......@@ -388,17 +388,21 @@ void AttributeLayoutTest::GetTestCases(void)
// 5. stride != size
mTestCases.push_back({Float(B0, 0, 16, mCoord), Float(B1, 0, 12, mColor)});
// 6-7. normalized byte/short
// 6-9. byte/short
if (IsVulkan() && (IsAndroid() || (IsWindows() && IsAMD())))
{
// empty test cases preserve the numbering
mTestCases.push_back({});
mTestCases.push_back({});
mTestCases.push_back({});
mTestCases.push_back({});
}
else
{
// TODO(fjhenigman): Enable these once vertex format conversion is implemented.
// anglebug.com/2405
mTestCases.push_back({SByte(M0, 0, 20, mCoord), UByte(M0, 10, 20, mColor)});
mTestCases.push_back({SShort(M0, 0, 20, mCoord), UShort(M0, 8, 20, mColor)});
mTestCases.push_back({NormSByte(M0, 0, 8, mCoord), NormUByte(M0, 4, 8, mColor)});
mTestCases.push_back({NormSShort(M0, 0, 20, mCoord), NormUShort(M0, 8, 20, mColor)});
}
......@@ -411,23 +415,19 @@ void AttributeLayoutTest::GetTestCases(void)
return;
}
// 8. one buffer, sequential
mTestCases.push_back({Float(B0, 0, 8, mCoord), Float(B0, 96, 12, mColor)});
// 10. one buffer, sequential
mTestCases.push_back({Fixed(B0, 0, 8, mCoord), Float(B0, 96, 12, mColor)});
// 9. one buffer, interleaved
mTestCases.push_back({Float(B0, 0, 20, mCoord), Float(B0, 8, 20, mColor)});
// 11. one buffer, interleaved
mTestCases.push_back({Fixed(B0, 0, 20, mCoord), Float(B0, 8, 20, mColor)});
// 10. memory and buffer, float and integer
// 12. memory and buffer, float and integer
mTestCases.push_back({Float(M0, 0, 8, mCoord), SByte(B0, 0, 12, mColor)});
// 11. buffer and memory, unusual offset and stride
// 13. buffer and memory, unusual offset and stride
mTestCases.push_back({Float(B0, 11, 13, mCoord), Float(M0, 23, 17, mColor)});
// 12-13. unnormalized
mTestCases.push_back({Fixed(M0, 0, 20, mCoord), UByte(M0, 16, 20, mColor)});
mTestCases.push_back({SShort(M0, 0, 20, mCoord), UShort(M0, 8, 20, mColor)});
// 14-15. remaining ES3 types
// 14-15. remaining ES3 formats
if (es3)
{
mTestCases.push_back({SInt(M0, 0, 40, mCoord), UInt(M0, 16, 40, mColor)});
......@@ -468,42 +468,21 @@ class AttributeLayoutBufferIndexed : public AttributeLayoutTest
TEST_P(AttributeLayoutNonIndexed, Test)
{
Run(true);
if (IsWindows() && IsAMD() && IsOpenGL())
{
std::cout << "test skipped on Windows ATI OpenGL: non-indexed non-zero vertex start"
<< std::endl;
return;
}
ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && IsOpenGL());
Run(false);
}
TEST_P(AttributeLayoutMemoryIndexed, Test)
{
Run(true);
if (IsWindows() && IsAMD() && (IsOpenGL() || GetParam() == ES2_D3D11_FL9_3()))
{
std::cout << "test skipped on Windows ATI OpenGL and D3D11_9_3: indexed non-zero vertex start"
<< std::endl;
return;
}
ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && (IsOpenGL() || IsD3D11_FL93()));
Run(false);
}
TEST_P(AttributeLayoutBufferIndexed, Test)
{
Run(true);
if (IsWindows() && IsAMD() && (IsOpenGL() || GetParam() == ES2_D3D11_FL9_3()))
{
std::cout << "test skipped on Windows ATI OpenGL and D3D11_9_3: indexed non-zero vertex start"
<< std::endl;
return;
}
ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && (IsOpenGL() || IsD3D11_FL93()));
Run(false);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment