1 // 2 // Copyright 2024 The ANGLE Project Authors. All rights reserved. 3 // Use of this source code is governed by a BSD-style license that can be 4 // found in the LICENSE file. 5 // 6 // RenderbufferWgpu.h: 7 // Defines the class interface for RenderbufferWgpu, implementing RenderbufferImpl. 8 // 9 10 #ifndef LIBANGLE_RENDERER_WGPU_RENDERBUFFERWGPU_H_ 11 #define LIBANGLE_RENDERER_WGPU_RENDERBUFFERWGPU_H_ 12 13 #include "libANGLE/renderer/RenderbufferImpl.h" 14 15 namespace rx 16 { 17 18 class RenderbufferWgpu : public RenderbufferImpl 19 { 20 public: 21 RenderbufferWgpu(const gl::RenderbufferState &state); 22 ~RenderbufferWgpu() override; 23 24 angle::Result setStorage(const gl::Context *context, 25 GLenum internalformat, 26 GLsizei width, 27 GLsizei height) override; 28 angle::Result setStorageMultisample(const gl::Context *context, 29 GLsizei samples, 30 GLenum internalformat, 31 GLsizei width, 32 GLsizei height, 33 gl::MultisamplingMode mode) override; 34 35 angle::Result setStorageEGLImageTarget(const gl::Context *context, egl::Image *image) override; 36 37 angle::Result initializeContents(const gl::Context *context, 38 GLenum binding, 39 const gl::ImageIndex &imageIndex) override; 40 }; 41 42 } // namespace rx 43 44 #endif // LIBANGLE_RENDERER_WGPU_RENDERBUFFERWGPU_H_ 45