From d8ed69fbbba7f535e126fb0f4b4675d1120a8c6a Mon Sep 17 00:00:00 2001 From: Paul Thomson Date: Tue, 8 Oct 2019 16:18:27 +0100 Subject: [PATCH] dEQP-VK.graphicsfuzz.modf-temp-modf-color Components: Vulkan New Tests: dEQP-VK.graphicsfuzz.modf-temp-modf-color Change-Id: Ib41611b5813421bdfe24e4e9e4f2ccde4c9d008b --- android/cts/master/vk-master.txt | 1 + .../data/vulkan/amber/graphicsfuzz/index.txt | 1 + .../amber/graphicsfuzz/modf-temp-modf-color.amber | 90 ++++++++++++++++++++++ .../mustpass/master/vk-default-no-waivers.txt | 1 + external/vulkancts/mustpass/master/vk-default.txt | 1 + 5 files changed, 94 insertions(+) create mode 100644 external/vulkancts/data/vulkan/amber/graphicsfuzz/modf-temp-modf-color.amber diff --git a/android/cts/master/vk-master.txt b/android/cts/master/vk-master.txt index 16aea42..8c4843e 100644 --- a/android/cts/master/vk-master.txt +++ b/android/cts/master/vk-master.txt @@ -560360,6 +560360,7 @@ dEQP-VK.graphicsfuzz.matrices-and-return-in-loop dEQP-VK.graphicsfuzz.max-mix-conditional-discard dEQP-VK.graphicsfuzz.mix-floor-add dEQP-VK.graphicsfuzz.modf-gl-color +dEQP-VK.graphicsfuzz.modf-temp-modf-color dEQP-VK.graphicsfuzz.nested-for-loops-with-return dEQP-VK.graphicsfuzz.nested-ifs-and-return-in-for-loop dEQP-VK.graphicsfuzz.nested-loops-switch diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/index.txt b/external/vulkancts/data/vulkan/amber/graphicsfuzz/index.txt index 9e4a045..0a489d4 100644 --- a/external/vulkancts/data/vulkan/amber/graphicsfuzz/index.txt +++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/index.txt @@ -40,6 +40,7 @@ { "max-mix-conditional-discard.amber", "max-mix-conditional-discard", "A fragment shader with an expression used in two discard guards" }, { "mix-floor-add.amber", "mix-floor-add", "A fragment shader with mix, uintBitsToFloat, and floor" }, { "modf-gl-color.amber", "modf-gl-color", "A fragment shader with modf of gl color" }, +{ "modf-temp-modf-color.amber", "modf-temp-modf-color", "A fragment shader that calls modf twice, once with color" }, { "nested-for-loops-with-return.amber", "nested-for-loops-with-return", "A fragment shader with two nested for loops with return" }, { "nested-ifs-and-return-in-for-loop.amber", "nested-ifs-and-return-in-for-loop", "A fragment shader with return in nest of ifs, inside loop" }, { "nested-loops-switch.amber", "nested-loops-switch", "A fragment shader with nested loops and a switch" }, diff --git a/external/vulkancts/data/vulkan/amber/graphicsfuzz/modf-temp-modf-color.amber b/external/vulkancts/data/vulkan/amber/graphicsfuzz/modf-temp-modf-color.amber new file mode 100644 index 0000000..d9c5d2d --- /dev/null +++ b/external/vulkancts/data/vulkan/amber/graphicsfuzz/modf-temp-modf-color.amber @@ -0,0 +1,90 @@ +#!amber + +# Copyright 2019 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# A test for a bug found by GraphicsFuzz. + +# Short description: A fragment shader that calls modf twice, once with color + +# The test passes because the shader always writes the color red using modf. + +SHADER vertex variant_vertex_shader PASSTHROUGH + +# variant_fragment_shader is derived from the following GLSL: +# #version 310 es +# precision highp float; +# +# layout(location = 0) out vec4 _GLF_color; +# +# void main() +# { +# vec4 temp; +# modf(vec4(1.0), temp); +# modf(vec4(1.0, 0.0, 0.0, 1.0), _GLF_color); +# } +SHADER fragment variant_fragment_shader SPIRV-ASM +; SPIR-V +; Version: 1.0 +; Generator: Khronos Glslang Reference Front End; 7 +; Bound: 18 +; Schema: 0 + OpCapability Shader + %1 = OpExtInstImport "GLSL.std.450" + OpMemoryModel Logical GLSL450 + OpEntryPoint Fragment %4 "main" %16 + OpExecutionMode %4 OriginUpperLeft + OpSource ESSL 310 + OpName %4 "main" + OpName %11 "temp" + OpName %16 "_GLF_color" + OpDecorate %16 Location 0 + %2 = OpTypeVoid + %3 = OpTypeFunction %2 + %6 = OpTypeFloat 32 + %7 = OpTypeVector %6 4 + %8 = OpConstant %6 1 + %9 = OpConstantComposite %7 %8 %8 %8 %8 + %10 = OpTypePointer Function %7 + %13 = OpConstant %6 0 + %14 = OpConstantComposite %7 %8 %13 %13 %8 + %15 = OpTypePointer Output %7 + %16 = OpVariable %15 Output + %4 = OpFunction %2 None %3 + %5 = OpLabel + %11 = OpVariable %10 Function + %12 = OpExtInst %7 %1 Modf %9 %11 + %17 = OpExtInst %7 %1 Modf %14 %16 + OpReturn + OpFunctionEnd +END + +# uniforms for variant + + +BUFFER variant_framebuffer FORMAT B8G8R8A8_UNORM + +PIPELINE graphics variant_pipeline + ATTACH variant_vertex_shader + ATTACH variant_fragment_shader + FRAMEBUFFER_SIZE 256 256 + BIND BUFFER variant_framebuffer AS color LOCATION 0 +END +CLEAR_COLOR variant_pipeline 0 0 0 255 + +CLEAR variant_pipeline +RUN variant_pipeline DRAW_RECT POS 0 0 SIZE 256 256 + +EXPECT variant_framebuffer IDX 0 0 SIZE 256 256 EQ_RGBA 255 0 0 255 diff --git a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt index 571c185..95a929b 100644 --- a/external/vulkancts/mustpass/master/vk-default-no-waivers.txt +++ b/external/vulkancts/mustpass/master/vk-default-no-waivers.txt @@ -562717,6 +562717,7 @@ dEQP-VK.graphicsfuzz.matrices-and-return-in-loop dEQP-VK.graphicsfuzz.max-mix-conditional-discard dEQP-VK.graphicsfuzz.mix-floor-add dEQP-VK.graphicsfuzz.modf-gl-color +dEQP-VK.graphicsfuzz.modf-temp-modf-color dEQP-VK.graphicsfuzz.nested-for-loops-with-return dEQP-VK.graphicsfuzz.nested-ifs-and-return-in-for-loop dEQP-VK.graphicsfuzz.nested-loops-switch diff --git a/external/vulkancts/mustpass/master/vk-default.txt b/external/vulkancts/mustpass/master/vk-default.txt index 7feee2e..f1a636a 100644 --- a/external/vulkancts/mustpass/master/vk-default.txt +++ b/external/vulkancts/mustpass/master/vk-default.txt @@ -562564,6 +562564,7 @@ dEQP-VK.graphicsfuzz.matrices-and-return-in-loop dEQP-VK.graphicsfuzz.max-mix-conditional-discard dEQP-VK.graphicsfuzz.mix-floor-add dEQP-VK.graphicsfuzz.modf-gl-color +dEQP-VK.graphicsfuzz.modf-temp-modf-color dEQP-VK.graphicsfuzz.nested-for-loops-with-return dEQP-VK.graphicsfuzz.nested-ifs-and-return-in-for-loop dEQP-VK.graphicsfuzz.nested-loops-switch -- 2.7.4