diff options
-rw-r--r-- | src/vulkan/graphics_pipeline.cc | 9 | ||||
-rw-r--r-- | tests/cases/clear_partial_overwrite.vkscript | 52 |
2 files changed, 56 insertions, 5 deletions
diff --git a/src/vulkan/graphics_pipeline.cc b/src/vulkan/graphics_pipeline.cc index b3176bb..ab1c046 100644 --- a/src/vulkan/graphics_pipeline.cc +++ b/src/vulkan/graphics_pipeline.cc @@ -27,11 +27,10 @@ namespace vulkan { namespace { const VkAttachmentDescription kDefaultAttachmentDesc = { - 0, /* flags */ - VK_FORMAT_UNDEFINED, /* format */ - VK_SAMPLE_COUNT_1_BIT, /* samples */ - // TODO(jaebaek): Set up proper loadOp, StoreOp. - VK_ATTACHMENT_LOAD_OP_DONT_CARE, /* loadOp */ + 0, /* flags */ + VK_FORMAT_UNDEFINED, /* format */ + VK_SAMPLE_COUNT_1_BIT, /* samples */ + VK_ATTACHMENT_LOAD_OP_LOAD, /* loadOp */ VK_ATTACHMENT_STORE_OP_STORE, /* storeOp */ VK_ATTACHMENT_LOAD_OP_LOAD, /* stencilLoadOp */ VK_ATTACHMENT_STORE_OP_STORE, /* stencilStoreOp */ diff --git a/tests/cases/clear_partial_overwrite.vkscript b/tests/cases/clear_partial_overwrite.vkscript new file mode 100644 index 0000000..417e9bf --- /dev/null +++ b/tests/cases/clear_partial_overwrite.vkscript @@ -0,0 +1,52 @@ +# Copyright 2019 Google LLC. +# Copyright 2019 The Khronos Group Inc. +# +# 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 +# +# https://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. + +[vertex shader] +#version 430 + +layout(location = 0) in vec4 position_in; +layout(location = 1) in vec4 color_in; +layout(location = 0) flat out vec4 color_out; + +void main() { + gl_Position = position_in; + color_out = color_in; +} + +[fragment shader] +#version 430 + +layout(location = 0) flat in vec4 color_in; +layout(location = 0) out vec4 color_out; + +void main() { + color_out = color_in; +} + +[vertex data] +# Provoking vertices are all red. +0/R32G32B32_SFLOAT 1/R8G8B8A8_UNORM +-1.0 -0.5 0.0 255 0 0 255 # line 0 + 1.0 -0.5 0.0 0 255 0 255 +-1.0 0.5 0.0 255 0 0 255 # line 1 + 1.0 0.5 0.0 0 255 0 255 + +[test] +# Clear color buffer to red and check the drawing doesn't +# add any other colors from non-provoking vertices. +clear color 255 0 0 255 +clear +draw arrays LINE_LIST 0 4 +probe all rgb 1.0, 0.0, 0.0 |