Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
GrVkMSAALoadManager.h
Go to the documentation of this file.
1/*
2 * Copyright 2020 Google LLC
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 GrVkMSAALoadManager_DEFINED
9#define GrVkMSAALoadManager_DEFINED
10
11#include "include/gpu/GrTypes.h"
15
16class GrAttachment;
17class GrSurface;
19class GrVkGpu;
20class GrVkImage;
21class GrVkRenderPass;
22struct SkIRect;
23
25public:
27
29
31 GrVkCommandBuffer* commandBuffer,
32 const GrVkRenderPass& renderPass,
33 GrAttachment* dst,
34 GrVkImage* src,
35 const SkIRect& srcRect);
36
37 void destroyResources(GrVkGpu* gpu);
38
39private:
40 bool createMSAALoadProgram(GrVkGpu* gpu);
41
42 // Everything below is only created once and shared by all msaa load pipelines
43 VkShaderModule fVertShaderModule;
44 VkShaderModule fFragShaderModule;
45 VkPipelineShaderStageCreateInfo fShaderStageInfo[2];
46
47 // All pipelines used by this class use the same VkPipelineLayout. Therefore, unlike regular
48 // GrVkPipelines, we have the manager own the layout instead of the GrVkPipeline.
49 VkPipelineLayout fPipelineLayout;
50};
51
52#endif
53
bool loadMSAAFromResolve(GrVkGpu *gpu, GrVkCommandBuffer *commandBuffer, const GrVkRenderPass &renderPass, GrAttachment *dst, GrVkImage *src, const SkIRect &srcRect)
void destroyResources(GrVkGpu *gpu)