| /* |
| * Copyright 2016 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef GrVkPipelineStateDataManager_DEFINED |
| #define GrVkPipelineStateDataManager_DEFINED |
| |
| #include "src/gpu/GrUniformDataManager.h" |
| |
| #include "include/gpu/vk/GrVkTypes.h" |
| #include "src/gpu/vk/GrVkUniformHandler.h" |
| |
| class GrVkGpu; |
| class GrVkUniformBuffer; |
| |
| class GrVkPipelineStateDataManager : public GrUniformDataManager { |
| public: |
| typedef GrVkUniformHandler::UniformInfoArray UniformInfoArray; |
| |
| GrVkPipelineStateDataManager(const UniformInfoArray&, uint32_t uniformSize); |
| |
| // Returns true if either the geometry or fragment buffers needed to generate a new underlying |
| // VkBuffer object in order upload data. If true is returned, this is a signal to the caller |
| // that they will need to update the descriptor set that is using these buffers. |
| bool uploadUniformBuffers(GrVkGpu* gpu, GrVkUniformBuffer* buffer) const; |
| |
| private: |
| using INHERITED = GrUniformDataManager; |
| }; |
| |
| #endif |