1/* 2 * Copyright 2019 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 GrDawnProgramDataManager_DEFINED 9#define GrDawnProgramDataManager_DEFINED 10 11#include "src/gpu/GrUniformDataManager.h" 12 13#include "src/gpu/GrSPIRVUniformHandler.h" 14#include "src/gpu/dawn/GrDawnRingBuffer.h" 15#include "dawn/webgpu_cpp.h" 16 17#include "src/core/SkAutoMalloc.h" 18 19class GrDawnGpu; 20class GrDawnUniformBuffer; 21 22class GrDawnProgramDataManager : public GrUniformDataManager { 23public: 24 typedef GrSPIRVUniformHandler::UniformInfoArray UniformInfoArray; 25 26 GrDawnProgramDataManager(const UniformInfoArray&, uint32_t uniformBufferSize); 27 28 uint32_t uniformBufferSize() const { return fUniformSize; } 29 30 wgpu::BindGroup uploadUniformBuffers(GrDawnGpu* gpu, wgpu::BindGroupLayout layout); 31 32private: 33 wgpu::BindGroup fBindGroup; 34}; 35 36#endif 37