| /* |
| * Copyright 2019 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef GrDawnProgramDataManager_DEFINED |
| #define GrDawnProgramDataManager_DEFINED |
| |
| #include "src/gpu/GrUniformDataManager.h" |
| |
| #include "src/gpu/GrSPIRVUniformHandler.h" |
| #include "src/gpu/dawn/GrDawnRingBuffer.h" |
| #include "dawn/webgpu_cpp.h" |
| |
| #include "src/core/SkAutoMalloc.h" |
| |
| class GrDawnGpu; |
| class GrDawnUniformBuffer; |
| |
| class GrDawnProgramDataManager : public GrUniformDataManager { |
| public: |
| typedef GrSPIRVUniformHandler::UniformInfoArray UniformInfoArray; |
| |
| GrDawnProgramDataManager(const UniformInfoArray&, uint32_t uniformBufferSize); |
| |
| uint32_t uniformBufferSize() const { return fUniformSize; } |
| |
| wgpu::BindGroup uploadUniformBuffers(GrDawnGpu* gpu, wgpu::BindGroupLayout layout); |
| |
| private: |
| wgpu::BindGroup fBindGroup; |
| }; |
| |
| #endif |