diff --git a/ci/licenses_golden/licenses_flutter b/ci/licenses_golden/licenses_flutter index 6d6fab596ba64..659ee197fee08 100644 --- a/ci/licenses_golden/licenses_flutter +++ b/ci/licenses_golden/licenses_flutter @@ -808,7 +808,6 @@ FILE: ../../../flutter/impeller/renderer/command_buffer.cc FILE: ../../../flutter/impeller/renderer/command_buffer.h FILE: ../../../flutter/impeller/renderer/context.cc FILE: ../../../flutter/impeller/renderer/context.h -FILE: ../../../flutter/impeller/renderer/descriptor_set_layout.h FILE: ../../../flutter/impeller/renderer/device_buffer.cc FILE: ../../../flutter/impeller/renderer/device_buffer.h FILE: ../../../flutter/impeller/renderer/device_buffer_unittests.cc diff --git a/impeller/compiler/code_gen_template.h b/impeller/compiler/code_gen_template.h index 7769f02779524..4a061fcadb5ad 100644 --- a/impeller/compiler/code_gen_template.h +++ b/impeller/compiler/code_gen_template.h @@ -16,17 +16,15 @@ constexpr std::string_view kReflectionHeaderTemplate = {# Note: The nogncheck decorations are only to make GN not mad at the template#} {# this file is generated from. There are no GN rule violations in the generated#} {# file itself and the no-check declarations will be stripped in generated files.#} -#include "impeller/renderer/buffer_view.h" {# // nogncheck #} +#include "impeller/renderer/buffer_view.h" {# // nogncheck #} -#include "impeller/renderer/command.h" {# // nogncheck #} +#include "impeller/renderer/command.h" {# // nogncheck #} -#include "impeller/renderer/descriptor_set_layout.h" {# // nogncheck #} +#include "impeller/renderer/sampler.h" {# // nogncheck #} -#include "impeller/renderer/sampler.h" {# // nogncheck #} +#include "impeller/renderer/shader_types.h" {# // nogncheck #} -#include "impeller/renderer/shader_types.h" {# // nogncheck #} - -#include "impeller/renderer/texture.h" {# // nogncheck #} +#include "impeller/renderer/texture.h" {# // nogncheck #} namespace impeller { @@ -152,26 +150,30 @@ std::move({{ arg.argument_name }}){% if not loop.is_last %}, {% endif %} // =========================================================================== // Metadata for Vulkan ======================================================= // =========================================================================== +#ifdef IMPELLER_ENABLE_VULKAN_REFLECTION {% if length(buffers)+length(sampled_images) > 0 %} - static constexpr std::array kDescriptorSetLayouts{ + static constexpr std::array kDescriptorSetLayouts{ {% for buffer in buffers %} - DescriptorSetLayout{ + VkDescriptorSetLayoutBinding{ {{buffer.binding}}, // binding = {{buffer.binding}} - DescriptorType::kUniformBuffer, // descriptorType = Uniform Buffer + VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, // descriptorType = Uniform Buffer 1, // descriptorCount = 1 - {{to_shader_stage(shader_stage)}}, // stageFlags = {{to_shader_stage(shader_stage)}} + {{to_vk_shader_stage_flag_bits(shader_stage)}}, // stageFlags = {{to_shader_stage(shader_stage)}} + nullptr, // pImmutableSamplers = NULL }, {% endfor %} {% for sampled_image in sampled_images %} - DescriptorSetLayout{ + VkDescriptorSetLayoutBinding{ {{sampled_image.binding}}, // binding = {{sampled_image.binding}} - DescriptorType::kSampledImage, // descriptorType = Sampled Image + VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, // descriptorType = Sampled Image 1, // descriptorCount = 1 - {{to_shader_stage(shader_stage)}}, // stageFlags = {{to_shader_stage(shader_stage)}} + {{to_vk_shader_stage_flag_bits(shader_stage)}},// stageFlags = {{to_shader_stage(shader_stage)}} + nullptr, // pImmutableSamplers = NULL }, {% endfor %} }; {% endif %} +#endif }; // struct {{camel_case(shader_name)}}{{camel_case(shader_stage)}}Shader diff --git a/impeller/renderer/BUILD.gn b/impeller/renderer/BUILD.gn index 460502c838a61..9223f4646fb5f 100644 --- a/impeller/renderer/BUILD.gn +++ b/impeller/renderer/BUILD.gn @@ -22,7 +22,6 @@ impeller_component("renderer") { "command_buffer.h", "context.cc", "context.h", - "descriptor_set_layout.h", "device_buffer.cc", "device_buffer.h", "formats.cc", diff --git a/impeller/renderer/descriptor_set_layout.h b/impeller/renderer/descriptor_set_layout.h deleted file mode 100644 index d853f0a663086..0000000000000 --- a/impeller/renderer/descriptor_set_layout.h +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2013 The Flutter Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#pragma once - -#include -#include - -#include "flutter/fml/macros.h" -#include "impeller/renderer/shader_types.h" - -namespace impeller { - -enum class DescriptorType { - kSampledImage, - kUniformBuffer, -}; - -struct DescriptorSetLayout { - uint32_t binding; - DescriptorType descriptor_type; - uint32_t descriptor_count; - ShaderStage shader_stage; -}; - -} // namespace impeller diff --git a/impeller/renderer/pipeline_builder.h b/impeller/renderer/pipeline_builder.h index 92def4e50b7ea..44cd202997cd9 100644 --- a/impeller/renderer/pipeline_builder.h +++ b/impeller/renderer/pipeline_builder.h @@ -93,13 +93,6 @@ struct PipelineBuilder { << VertexShader::kLabel << "'."; return false; } - if (!vertex_descriptor->SetDescriptorSetLayouts( - VertexShader::kDescriptorSetLayouts)) { - VALIDATION_LOG << "Cound not configure vertex descriptor set layout for" - " pipeline named '" - << VertexShader::kLabel << "'."; - return false; - } desc.SetVertexDescriptor(std::move(vertex_descriptor)); } diff --git a/impeller/renderer/vertex_descriptor.cc b/impeller/renderer/vertex_descriptor.cc index 963a7478a1696..a40efb31c5eb3 100644 --- a/impeller/renderer/vertex_descriptor.cc +++ b/impeller/renderer/vertex_descriptor.cc @@ -20,16 +20,6 @@ bool VertexDescriptor::SetStageInputs( return true; } -bool VertexDescriptor::SetDescriptorSetLayouts( - const DescriptorSetLayout desc_set_layout[], - size_t count) { - desc_set_layouts_.reserve(desc_set_layouts_.size() + count); - for (size_t i = 0; i < count; i++) { - desc_set_layouts_.emplace_back(desc_set_layout[i]); - } - return true; -} - // |Comparable| size_t VertexDescriptor::GetHash() const { auto seed = fml::HashCombine(); @@ -48,9 +38,4 @@ const std::vector& VertexDescriptor::GetStageInputs() const { return inputs_; } -const std::vector& -VertexDescriptor::GetDescriptorSetLayouts() const { - return desc_set_layouts_; -} - } // namespace impeller diff --git a/impeller/renderer/vertex_descriptor.h b/impeller/renderer/vertex_descriptor.h index dffe6694f7caf..4bef9b86d3644 100644 --- a/impeller/renderer/vertex_descriptor.h +++ b/impeller/renderer/vertex_descriptor.h @@ -8,7 +8,6 @@ #include "flutter/fml/macros.h" #include "impeller/base/comparable.h" -#include "impeller/renderer/descriptor_set_layout.h" #include "impeller/renderer/shader_types.h" namespace impeller { @@ -37,22 +36,11 @@ class VertexDescriptor final : public Comparable { return SetStageInputs(inputs.data(), inputs.size()); } - template - bool SetDescriptorSetLayouts( - const std::array& inputs) { - return SetDescriptorSetLayouts(inputs.data(), inputs.size()); - } - bool SetStageInputs(const ShaderStageIOSlot* const stage_inputs[], size_t count); - bool SetDescriptorSetLayouts(const DescriptorSetLayout desc_set_layout[], - size_t count); - const std::vector& GetStageInputs() const; - const std::vector& GetDescriptorSetLayouts() const; - // |Comparable| std::size_t GetHash() const override; @@ -61,7 +49,6 @@ class VertexDescriptor final : public Comparable { private: std::vector inputs_; - std::vector desc_set_layouts_; FML_DISALLOW_COPY_AND_ASSIGN(VertexDescriptor); };