Flutter Impeller
resource_binder.h
Go to the documentation of this file.
1
// Copyright 2013 The Flutter Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#pragma once
6
7
#include <map>
8
#include <memory>
9
#include <optional>
10
#include <string>
11
12
#include "flutter/fml/logging.h"
13
#include "flutter/fml/macros.h"
14
#include "
impeller/core/buffer_view.h
"
15
#include "
impeller/core/formats.h
"
16
#include "
impeller/core/sampler.h
"
17
#include "
impeller/core/shader_types.h
"
18
#include "
impeller/core/texture.h
"
19
20
namespace
impeller
{
21
22
//------------------------------------------------------------------------------
23
/// @brief An interface for binding resources. This is implemented by
24
/// |Command| and |ComputeCommand| to make GPU resources available
25
/// to a given command's pipeline.
26
///
27
struct
ResourceBinder
{
28
virtual
~ResourceBinder
() =
default
;
29
30
virtual
bool
BindResource
(
ShaderStage
stage,
31
const
ShaderUniformSlot
& slot,
32
const
ShaderMetadata
& metadata,
33
const
BufferView
& view) = 0;
34
35
virtual
bool
BindResource
(
ShaderStage
stage,
36
const
SampledImageSlot
& slot,
37
const
ShaderMetadata
& metadata,
38
const
std::shared_ptr<const Texture>& texture,
39
const
std::shared_ptr<const Sampler>& sampler) = 0;
40
};
41
42
}
// namespace impeller
impeller::ShaderUniformSlot
Definition:
shader_types.h:81
impeller::ShaderMetadata
Definition:
shader_types.h:76
impeller::ResourceBinder::BindResource
virtual bool BindResource(ShaderStage stage, const ShaderUniformSlot &slot, const ShaderMetadata &metadata, const BufferView &view)=0
formats.h
impeller::ShaderStage
ShaderStage
Definition:
shader_types.h:20
sampler.h
impeller::ResourceBinder
An interface for binding resources. This is implemented by |Command| and |ComputeCommand| to make GPU...
Definition:
resource_binder.h:27
impeller::SampledImageSlot
Definition:
shader_types.h:129
impeller::BufferView
Definition:
buffer_view.h:13
buffer_view.h
impeller::ResourceBinder::~ResourceBinder
virtual ~ResourceBinder()=default
texture.h
shader_types.h
impeller
Definition:
aiks_context.cc:10
impeller
core
resource_binder.h
Generated by
1.8.17