// Copyright 2014 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include #include "common/common_types.h" namespace OpenGL { class BindBuffersRangePushBuffer final { public: explicit BindBuffersRangePushBuffer(GLenum target); ~BindBuffersRangePushBuffer(); void Setup(GLuint first_); void Push(const GLuint* buffer, GLintptr offset, GLsizeiptr size); void Bind(); private: GLenum target{}; GLuint first{}; std::vector buffer_pointers; std::vector buffers; std::vector offsets; std::vector sizes; }; void LabelGLObject(GLenum identifier, GLuint handle, VAddr addr, std::string_view extra_info = {}); } // namespace OpenGL