Flutter Engine
The Flutter Engine
GrMtlPipelineStateDataManager.h
Go to the documentation of this file.
1/*
2 * Copyright 2018 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#ifndef GrMtlPipelineStateDataManager_DEFINED
9#define GrMtlPipelineStateDataManager_DEFINED
10
14
15#import <Metal/Metal.h>
16
17class GrMtlBuffer;
18class GrMtlGpu;
20
22public:
24
26 uint32_t uniformSize);
27
28 void set1iv(UniformHandle, int arrayCount, const int32_t v[]) const override;
29 void set1fv(UniformHandle, int arrayCount, const float v[]) const override;
30 void set2iv(UniformHandle, int arrayCount, const int32_t v[]) const override;
31 void set2fv(UniformHandle, int arrayCount, const float v[]) const override;
32 // matrices are column-major, the first one uploads a single matrix, the latter uploads
33 // arrayCount matrices into a uniform array.
34 void setMatrix2f(UniformHandle, const float matrix[]) const override;
35 void setMatrix2fv(UniformHandle, int arrayCount, const float matrices[]) const override;
36
38 GrMtlRenderCommandEncoder* renderCmdEncoder) const;
39 void resetDirtyBits();
40
41private:
43};
44
45#endif
void set2iv(UniformHandle, int arrayCount, const int32_t v[]) const override
void setMatrix2f(UniformHandle, const float matrix[]) const override
void set1iv(UniformHandle, int arrayCount, const int32_t v[]) const override
void set2fv(UniformHandle, int arrayCount, const float v[]) const override
GrMtlUniformHandler::UniformInfoArray UniformInfoArray
void setMatrix2fv(UniformHandle, int arrayCount, const float matrices[]) const override
GrMtlPipelineStateDataManager(const UniformInfoArray &, uint32_t uniformSize)
void set1fv(UniformHandle, int arrayCount, const float v[]) const override
void uploadAndBindUniformBuffers(GrMtlGpu *gpu, GrMtlRenderCommandEncoder *renderCmdEncoder) const
unsigned useCenter Optional< SkMatrix > matrix
Definition: SkRecords.h:258