Commit 6c6be2ce by Frank Henigman Committed by Commit Bot

Vulkan: add S8_UINT texture fallbacks.

Add two fallbacks for S8_UINT. Enable tests. BUG=angleproject:2655 Change-Id: If7df23745a8de8a01d86ab6efa3bca67b5227d76 Reviewed-on: https://chromium-review.googlesource.com/1217282Reviewed-by: 's avatarShahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
parent 8370e6bc
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
"Vulkan format:src/libANGLE/renderer/vulkan/gen_vk_format_table.py": "Vulkan format:src/libANGLE/renderer/vulkan/gen_vk_format_table.py":
"1d7d1b6a1f2b4b6f5080197c56b908b4", "1d7d1b6a1f2b4b6f5080197c56b908b4",
"Vulkan format:src/libANGLE/renderer/vulkan/vk_format_map.json": "Vulkan format:src/libANGLE/renderer/vulkan/vk_format_map.json":
"f7cb189ab41f1ce48ff26e7c328c5cd0", "a22cdfceb4f0c43b5ed498bc9ebc2e98",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py": "Vulkan internal shader programs:src/libANGLE/renderer/vulkan/gen_vk_internal_shaders.py":
"c1cc895645db3fe1cd284352890c219e", "c1cc895645db3fe1cd284352890c219e",
"Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/src/FullScreenQuad.vert": "Vulkan internal shader programs:src/libANGLE/renderer/vulkan/shaders/src/FullScreenQuad.vert":
......
...@@ -251,6 +251,9 @@ ...@@ -251,6 +251,9 @@
"D24_UNORM_X8_UINT": { "D24_UNORM_X8_UINT": {
"texture": "D32_FLOAT_S8X24_UINT" "texture": "D32_FLOAT_S8X24_UINT"
}, },
"S8_UINT": {
"texture": ["D24_UNORM_S8_UINT", "D32_FLOAT_S8X24_UINT"]
},
"R8_UNORM": { "R8_UNORM": {
"buffer": "R32_FLOAT" "buffer": "R32_FLOAT"
......
...@@ -1703,10 +1703,14 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an ...@@ -1703,10 +1703,14 @@ void Format::initialize(VkPhysicalDevice physicalDevice, const angle::Format &an
break; break;
case angle::FormatID::S8_UINT: case angle::FormatID::S8_UINT:
internalFormat = GL_STENCIL_INDEX8; internalFormat = GL_STENCIL_INDEX8;
textureFormatID = angle::FormatID::S8_UINT; {
vkTextureFormat = VK_FORMAT_S8_UINT; static constexpr TextureFormatInitInfo kInfo[] = {
textureInitializerFunction = nullptr; {angle::FormatID::S8_UINT, VK_FORMAT_S8_UINT, nullptr},
{angle::FormatID::D24_UNORM_S8_UINT, VK_FORMAT_D24_UNORM_S8_UINT, nullptr},
{angle::FormatID::D32_FLOAT_S8X24_UINT, VK_FORMAT_D32_SFLOAT_S8_UINT, nullptr}};
initTextureFallback(physicalDevice, kInfo, ArraySize(kInfo));
}
bufferFormatID = angle::FormatID::S8_UINT; bufferFormatID = angle::FormatID::S8_UINT;
vkBufferFormat = VK_FORMAT_S8_UINT; vkBufferFormat = VK_FORMAT_S8_UINT;
vertexLoadFunction = nullptr; vertexLoadFunction = nullptr;
......
...@@ -184,35 +184,6 @@ ...@@ -184,35 +184,6 @@
2630 GLES ANDROID : dEQP-GLES2.functional.shaders.struct.uniform.sampler_in_function_arg_* = FAIL 2630 GLES ANDROID : dEQP-GLES2.functional.shaders.struct.uniform.sampler_in_function_arg_* = FAIL
// Android Vulkan backend only failures // Android Vulkan backend only failures
2549 VULKAN ANDROID : dEQP-GLES2.functional.fragment_ops.depth_stencil.* = SKIP
2550 VULKAN ANDROID : dEQP-GLES2.functional.rasterization.interpolation.* = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.completeness.attachment_combinations.none_none_none_rbo = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.completeness.attachment_combinations.none_none_rbo_rbo = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.completeness.attachment_combinations.rbo_none_none_rbo = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.completeness.attachment_combinations.rbo_none_rbo_rbo = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.completeness.attachment_combinations.tex_none_none_rbo = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.completeness.attachment_combinations.tex_none_rbo_rbo = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.color0.stencil_index8 = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.completeness.renderable.renderbuffer.stencil.stencil_index8 = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb565_stencil_index8 = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgba4_stencil_index8 = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.recreate_stencilbuffer.* = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.resize.rbo_rgb565_stencil_index8 = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.resize.rbo_rgba4_stencil_index8 = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.stencil.* = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.stencil_clear.* = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb565_depth_component16_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb565_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.color_clear.rbo_rgb5_a1_depth_component16_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.color_clear.tex2d_rgb_depth_component16_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.color_clear.tex2d_rgb_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.color_clear.tex2d_rgba_depth_component16_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.color_clear.tex2d_rgba_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.resize.tex2d_rgb_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.resize.tex2d_rgba_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.recreate_colorbuffer.no_rebind_rbo_rgb5_a1_stencil_index8 = SKIP
2597 VULKAN ANDROID : dEQP-GLES2.functional.fbo.render.resize.rbo_rgb5_a1_stencil_index8 = SKIP
2605 VULKAN ANDROID : dEQP-GLES2.functional.state_query.rbo.renderbuffer_component_size_depth = SKIP
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
......
...@@ -232,10 +232,6 @@ TEST_P(StateChangeTest, FramebufferIncompleteDepthAttachment) ...@@ -232,10 +232,6 @@ TEST_P(StateChangeTest, FramebufferIncompleteDepthAttachment)
// Test that Framebuffer completeness caching works when stencil attachments change. // Test that Framebuffer completeness caching works when stencil attachments change.
TEST_P(StateChangeTest, FramebufferIncompleteStencilAttachment) TEST_P(StateChangeTest, FramebufferIncompleteStencilAttachment)
{ {
// TODO(lucferron): Figure out why this fails on android and Intel/Windows and fix.
// http://anglebug.com/2655
ANGLE_SKIP_TEST_IF(IsVulkan() && (IsAndroid() || (IsIntel() && IsWindows())));
glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer); glBindFramebuffer(GL_FRAMEBUFFER, mFramebuffer);
glBindTexture(GL_TEXTURE_2D, mTextures[0]); glBindTexture(GL_TEXTURE_2D, mTextures[0]);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE, nullptr);
...@@ -522,7 +518,7 @@ class StateChangeRenderTest : public StateChangeTest ...@@ -522,7 +518,7 @@ class StateChangeRenderTest : public StateChangeTest
{ {
glUseProgram(mProgram); glUseProgram(mProgram);
const Vector4 &normalizedColor = color.toNormalizedVector(); const Vector4 &normalizedColor = color.toNormalizedVector();
GLint uniformLocation = glGetUniformLocation(mProgram, "uniformColor"); GLint uniformLocation = glGetUniformLocation(mProgram, "uniformColor");
ASSERT_NE(-1, uniformLocation); ASSERT_NE(-1, uniformLocation);
glUniform4fv(uniformLocation, 1, normalizedColor.data()); glUniform4fv(uniformLocation, 1, normalizedColor.data());
} }
......
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