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 @@ ...@@ -37,16 +37,22 @@
"R8_SNORM": "VK_FORMAT_R8_SNORM", "R8_SNORM": "VK_FORMAT_R8_SNORM",
"R8_UINT": "VK_FORMAT_R8_UINT", "R8_UINT": "VK_FORMAT_R8_UINT",
"R8_SINT": "VK_FORMAT_R8_SINT", "R8_SINT": "VK_FORMAT_R8_SINT",
"R8_USCALED": "VK_FORMAT_R8_USCALED",
"R8_SSCALED": "VK_FORMAT_R8_SSCALED",
"R8_SRGB": "VK_FORMAT_R8_SRGB", "R8_SRGB": "VK_FORMAT_R8_SRGB",
"R8G8_UNORM": "VK_FORMAT_R8G8_UNORM", "R8G8_UNORM": "VK_FORMAT_R8G8_UNORM",
"R8G8_SNORM": "VK_FORMAT_R8G8_SNORM", "R8G8_SNORM": "VK_FORMAT_R8G8_SNORM",
"R8G8_UINT": "VK_FORMAT_R8G8_UINT", "R8G8_UINT": "VK_FORMAT_R8G8_UINT",
"R8G8_SINT": "VK_FORMAT_R8G8_SINT", "R8G8_SINT": "VK_FORMAT_R8G8_SINT",
"R8G8_USCALED": "VK_FORMAT_R8G8_USCALED",
"R8G8_SSCALED": "VK_FORMAT_R8G8_SSCALED",
"R8G8_SRGB": "VK_FORMAT_R8G8_SRGB", "R8G8_SRGB": "VK_FORMAT_R8G8_SRGB",
"R8G8B8_UNORM": "VK_FORMAT_R8G8B8_UNORM", "R8G8B8_UNORM": "VK_FORMAT_R8G8B8_UNORM",
"R8G8B8_SNORM": "VK_FORMAT_R8G8B8_SNORM", "R8G8B8_SNORM": "VK_FORMAT_R8G8B8_SNORM",
"R8G8B8_UINT": "VK_FORMAT_R8G8B8_UINT", "R8G8B8_UINT": "VK_FORMAT_R8G8B8_UINT",
"R8G8B8_SINT": "VK_FORMAT_R8G8B8_SINT", "R8G8B8_SINT": "VK_FORMAT_R8G8B8_SINT",
"R8G8B8_USCALED": "VK_FORMAT_R8G8B8_USCALED",
"R8G8B8_SSCALED": "VK_FORMAT_R8G8B8_SSCALED",
"R8G8B8_SRGB": "VK_FORMAT_R8G8B8_SRGB", "R8G8B8_SRGB": "VK_FORMAT_R8G8B8_SRGB",
"B8G8R8_UNORM": "VK_FORMAT_B8G8R8_UNORM", "B8G8R8_UNORM": "VK_FORMAT_B8G8R8_UNORM",
"B8G8R8_SNORM": "VK_FORMAT_B8G8R8_SNORM", "B8G8R8_SNORM": "VK_FORMAT_B8G8R8_SNORM",
...@@ -57,6 +63,8 @@ ...@@ -57,6 +63,8 @@
"R8G8B8A8_SNORM": "VK_FORMAT_R8G8B8A8_SNORM", "R8G8B8A8_SNORM": "VK_FORMAT_R8G8B8A8_SNORM",
"R8G8B8A8_UINT": "VK_FORMAT_R8G8B8A8_UINT", "R8G8B8A8_UINT": "VK_FORMAT_R8G8B8A8_UINT",
"R8G8B8A8_SINT": "VK_FORMAT_R8G8B8A8_SINT", "R8G8B8A8_SINT": "VK_FORMAT_R8G8B8A8_SINT",
"R8G8B8A8_USCALED": "VK_FORMAT_R8G8B8A8_USCALED",
"R8G8B8A8_SSCALED": "VK_FORMAT_R8G8B8A8_SSCALED",
"R8G8B8A8_SRGB": "VK_FORMAT_R8G8B8A8_SRGB", "R8G8B8A8_SRGB": "VK_FORMAT_R8G8B8A8_SRGB",
"B8G8R8A8_UNORM": "VK_FORMAT_B8G8R8A8_UNORM", "B8G8R8A8_UNORM": "VK_FORMAT_B8G8R8A8_UNORM",
"B8G8R8A8_SNORM": "VK_FORMAT_B8G8R8A8_SNORM", "B8G8R8A8_SNORM": "VK_FORMAT_B8G8R8A8_SNORM",
...@@ -79,21 +87,29 @@ ...@@ -79,21 +87,29 @@
"A2B10G10R10_SINT_PACK32": "VK_FORMAT_A2B10G10R10_SINT_PACK32", "A2B10G10R10_SINT_PACK32": "VK_FORMAT_A2B10G10R10_SINT_PACK32",
"R16_UNORM": "VK_FORMAT_R16_UNORM", "R16_UNORM": "VK_FORMAT_R16_UNORM",
"R16_SNORM": "VK_FORMAT_R16_SNORM", "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_UINT": "VK_FORMAT_R16_UINT",
"R16_SINT": "VK_FORMAT_R16_SINT", "R16_SINT": "VK_FORMAT_R16_SINT",
"R16_FLOAT": "VK_FORMAT_R16_SFLOAT", "R16_FLOAT": "VK_FORMAT_R16_SFLOAT",
"R16G16_UNORM": "VK_FORMAT_R16G16_UNORM", "R16G16_UNORM": "VK_FORMAT_R16G16_UNORM",
"R16G16_SNORM": "VK_FORMAT_R16G16_SNORM", "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_UINT": "VK_FORMAT_R16G16_UINT",
"R16G16_SINT": "VK_FORMAT_R16G16_SINT", "R16G16_SINT": "VK_FORMAT_R16G16_SINT",
"R16G16_FLOAT": "VK_FORMAT_R16G16_SFLOAT", "R16G16_FLOAT": "VK_FORMAT_R16G16_SFLOAT",
"R16G16B16_UNORM": "VK_FORMAT_R16G16B16_UNORM", "R16G16B16_UNORM": "VK_FORMAT_R16G16B16_UNORM",
"R16G16B16_SNORM": "VK_FORMAT_R16G16B16_SNORM", "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_UINT": "VK_FORMAT_R16G16B16_UINT",
"R16G16B16_SINT": "VK_FORMAT_R16G16B16_SINT", "R16G16B16_SINT": "VK_FORMAT_R16G16B16_SINT",
"R16G16B16_FLOAT": "VK_FORMAT_R16G16B16_SFLOAT", "R16G16B16_FLOAT": "VK_FORMAT_R16G16B16_SFLOAT",
"R16G16B16A16_UNORM": "VK_FORMAT_R16G16B16A16_UNORM", "R16G16B16A16_UNORM": "VK_FORMAT_R16G16B16A16_UNORM",
"R16G16B16A16_SNORM": "VK_FORMAT_R16G16B16A16_SNORM", "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_UINT": "VK_FORMAT_R16G16B16A16_UINT",
"R16G16B16A16_SINT": "VK_FORMAT_R16G16B16A16_SINT", "R16G16B16A16_SINT": "VK_FORMAT_R16G16B16A16_SINT",
"R16G16B16A16_FLOAT": "VK_FORMAT_R16G16B16A16_SFLOAT", "R16G16B16A16_FLOAT": "VK_FORMAT_R16G16B16A16_SFLOAT",
......
...@@ -757,8 +757,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -757,8 +757,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R16G16B16A16_SSCALED: 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; break;
}
case angle::Format::ID::R16G16B16A16_UINT: case angle::Format::ID::R16G16B16A16_UINT:
{ {
...@@ -783,8 +790,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -783,8 +790,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R16G16B16A16_USCALED: 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; break;
}
case angle::Format::ID::R16G16B16_FLOAT: case angle::Format::ID::R16G16B16_FLOAT:
{ {
...@@ -820,8 +834,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -820,8 +834,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R16G16B16_SSCALED: 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; break;
}
case angle::Format::ID::R16G16B16_UINT: case angle::Format::ID::R16G16B16_UINT:
{ {
...@@ -846,8 +867,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -846,8 +867,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R16G16B16_USCALED: 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; break;
}
case angle::Format::ID::R16G16_FLOAT: case angle::Format::ID::R16G16_FLOAT:
{ {
...@@ -883,8 +911,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -883,8 +911,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R16G16_SSCALED: 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; break;
}
case angle::Format::ID::R16G16_UINT: case angle::Format::ID::R16G16_UINT:
{ {
...@@ -909,8 +944,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -909,8 +944,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R16G16_USCALED: 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; break;
}
case angle::Format::ID::R16_FLOAT: case angle::Format::ID::R16_FLOAT:
{ {
...@@ -946,8 +988,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -946,8 +988,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R16_SSCALED: 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; break;
}
case angle::Format::ID::R16_UINT: case angle::Format::ID::R16_UINT:
{ {
...@@ -972,8 +1021,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -972,8 +1021,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R16_USCALED: 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; break;
}
case angle::Format::ID::R32G32B32A32_FIXED: case angle::Format::ID::R32G32B32A32_FIXED:
// This format is not implemented in Vulkan. // This format is not implemented in Vulkan.
...@@ -1243,8 +1299,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1243,8 +1299,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R8G8B8A8_SSCALED: 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; break;
}
case angle::Format::ID::R8G8B8A8_TYPELESS: case angle::Format::ID::R8G8B8A8_TYPELESS:
// This format is not implemented in Vulkan. // This format is not implemented in Vulkan.
...@@ -1281,8 +1344,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1281,8 +1344,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
break; break;
case angle::Format::ID::R8G8B8A8_USCALED: 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; break;
}
case angle::Format::ID::R8G8B8_SINT: case angle::Format::ID::R8G8B8_SINT:
{ {
...@@ -1307,8 +1377,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1307,8 +1377,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R8G8B8_SSCALED: 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; break;
}
case angle::Format::ID::R8G8B8_UINT: case angle::Format::ID::R8G8B8_UINT:
{ {
...@@ -1337,8 +1414,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1337,8 +1414,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
break; break;
case angle::Format::ID::R8G8B8_USCALED: 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; break;
}
case angle::Format::ID::R8G8_SINT: case angle::Format::ID::R8G8_SINT:
{ {
...@@ -1363,8 +1447,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1363,8 +1447,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R8G8_SSCALED: 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; break;
}
case angle::Format::ID::R8G8_UINT: case angle::Format::ID::R8G8_UINT:
{ {
...@@ -1389,8 +1480,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1389,8 +1480,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R8G8_USCALED: 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; break;
}
case angle::Format::ID::R8_SINT: case angle::Format::ID::R8_SINT:
{ {
...@@ -1415,8 +1513,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1415,8 +1513,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R8_SSCALED: 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; break;
}
case angle::Format::ID::R8_UINT: case angle::Format::ID::R8_UINT:
{ {
...@@ -1441,8 +1546,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1441,8 +1546,15 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
} }
case angle::Format::ID::R8_USCALED: 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; break;
}
case angle::Format::ID::R9G9B9E5_SHAREDEXP: case angle::Format::ID::R9G9B9E5_SHAREDEXP:
// This format is not implemented in Vulkan. // This format is not implemented in Vulkan.
......
...@@ -216,8 +216,45 @@ ...@@ -216,8 +216,45 @@
2606 VULKAN ANDROID : dEQP-GLES2.functional.debug_marker.random = SKIP 2606 VULKAN ANDROID : dEQP-GLES2.functional.debug_marker.random = SKIP
2606 VULKAN ANDROID : dEQP-GLES2.functional.debug_marker.supported = SKIP 2606 VULKAN ANDROID : dEQP-GLES2.functional.debug_marker.supported = SKIP
2609 VULKAN ANDROID : dEQP-GLES2.functional.texture.mipmap.cube.generate.* = 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_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.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 // Windows Linux and Mac failures
1028 WIN LINUX MAC : dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8 = FAIL 1028 WIN LINUX MAC : dEQP-GLES2.functional.fbo.completeness.renderable.texture.color0.srgb8 = FAIL
...@@ -271,46 +308,6 @@ ...@@ -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_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_32_fixed* = SKIP
2405 VULKAN : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.buffer_0_8_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 2598 VULKAN : dEQP-GLES2.functional.rasterization.primitives.line* = SKIP
2599 VULKAN : dEQP-GLES2.functional.rasterization.limits.points = SKIP 2599 VULKAN : dEQP-GLES2.functional.rasterization.limits.points = SKIP
2600 VULKAN : dEQP-GLES2.functional.state_query.shader.uniform_value_sampler = SKIP 2600 VULKAN : dEQP-GLES2.functional.state_query.shader.uniform_value_sampler = SKIP
...@@ -337,23 +334,24 @@ ...@@ -337,23 +334,24 @@
// Vulkan AMD Windows specific failures // Vulkan AMD Windows specific failures
2602 VULKAN WIN AMD : dEQP-GLES2.functional.buffer.write.* = SKIP 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.strides.buffer_0_32_float* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.usages.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_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.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_32* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.offset.buffer_4* = 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_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_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_byte* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.single_attribute.normalize.user_ptr_0_0_unsigned_short* = 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 // 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_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_17* = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_0_float2_32_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 @@ ...@@ -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_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_32_float2_17 = SKIP
2405 VULKAN WIN AMD : dEQP-GLES2.functional.vertex_arrays.multiple_attributes.stride.3_float2_8_float2_8_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) ...@@ -388,17 +388,21 @@ void AttributeLayoutTest::GetTestCases(void)
// 5. stride != size // 5. stride != size
mTestCases.push_back({Float(B0, 0, 16, mCoord), Float(B1, 0, 12, mColor)}); 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()))) if (IsVulkan() && (IsAndroid() || (IsWindows() && IsAMD())))
{ {
// empty test cases preserve the numbering // empty test cases preserve the numbering
mTestCases.push_back({}); mTestCases.push_back({});
mTestCases.push_back({}); mTestCases.push_back({});
mTestCases.push_back({});
mTestCases.push_back({});
} }
else else
{ {
// TODO(fjhenigman): Enable these once vertex format conversion is implemented. // TODO(fjhenigman): Enable these once vertex format conversion is implemented.
// anglebug.com/2405 // 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({NormSByte(M0, 0, 8, mCoord), NormUByte(M0, 4, 8, mColor)});
mTestCases.push_back({NormSShort(M0, 0, 20, mCoord), NormUShort(M0, 8, 20, mColor)}); mTestCases.push_back({NormSShort(M0, 0, 20, mCoord), NormUShort(M0, 8, 20, mColor)});
} }
...@@ -411,23 +415,19 @@ void AttributeLayoutTest::GetTestCases(void) ...@@ -411,23 +415,19 @@ void AttributeLayoutTest::GetTestCases(void)
return; return;
} }
// 8. one buffer, sequential // 10. one buffer, sequential
mTestCases.push_back({Float(B0, 0, 8, mCoord), Float(B0, 96, 12, mColor)}); mTestCases.push_back({Fixed(B0, 0, 8, mCoord), Float(B0, 96, 12, mColor)});
// 9. one buffer, interleaved // 11. one buffer, interleaved
mTestCases.push_back({Float(B0, 0, 20, mCoord), Float(B0, 8, 20, mColor)}); 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)}); 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)}); mTestCases.push_back({Float(B0, 11, 13, mCoord), Float(M0, 23, 17, mColor)});
// 12-13. unnormalized // 14-15. remaining ES3 formats
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
if (es3) if (es3)
{ {
mTestCases.push_back({SInt(M0, 0, 40, mCoord), UInt(M0, 16, 40, mColor)}); mTestCases.push_back({SInt(M0, 0, 40, mCoord), UInt(M0, 16, 40, mColor)});
...@@ -468,42 +468,21 @@ class AttributeLayoutBufferIndexed : public AttributeLayoutTest ...@@ -468,42 +468,21 @@ class AttributeLayoutBufferIndexed : public AttributeLayoutTest
TEST_P(AttributeLayoutNonIndexed, Test) TEST_P(AttributeLayoutNonIndexed, Test)
{ {
Run(true); Run(true);
ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && IsOpenGL());
if (IsWindows() && IsAMD() && IsOpenGL())
{
std::cout << "test skipped on Windows ATI OpenGL: non-indexed non-zero vertex start"
<< std::endl;
return;
}
Run(false); Run(false);
} }
TEST_P(AttributeLayoutMemoryIndexed, Test) TEST_P(AttributeLayoutMemoryIndexed, Test)
{ {
Run(true); Run(true);
ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && (IsOpenGL() || IsD3D11_FL93()));
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;
}
Run(false); Run(false);
} }
TEST_P(AttributeLayoutBufferIndexed, Test) TEST_P(AttributeLayoutBufferIndexed, Test)
{ {
Run(true); Run(true);
ANGLE_SKIP_TEST_IF(IsWindows() && IsAMD() && (IsOpenGL() || IsD3D11_FL93()));
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;
}
Run(false); 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