From 6500e731245e467f367725828fc7995bfef98478 Mon Sep 17 00:00:00 2001 From: Emmanuel Durand Date: Thu, 5 Mar 2026 13:15:30 -0500 Subject: [PATCH] Fix build following CI update --- .../api/gles/texture_image_gfx_impl.h | 36 +++++++++---------- .../api/opengl/texture_image_gfx_impl.h | 36 +++++++++---------- tools/docker/dockerfile-ubuntu-24.04 | 12 +++---- tools/docker/dockerfile-ubuntu-26.04 | 12 +++---- 4 files changed, 48 insertions(+), 48 deletions(-) diff --git a/src/graphics/api/gles/texture_image_gfx_impl.h b/src/graphics/api/gles/texture_image_gfx_impl.h index 9140f261..1a162899 100644 --- a/src/graphics/api/gles/texture_image_gfx_impl.h +++ b/src/graphics/api/gles/texture_image_gfx_impl.h @@ -53,7 +53,7 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl /** * Destructor */ - virtual ~Texture_ImageGfxImpl() override + virtual ~Texture_ImageGfxImpl() { glDeleteTextures(1, &_glTex); glDeleteBuffers(2, _pbos); @@ -64,34 +64,34 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl Texture_ImageGfxImpl(Texture_ImageGfxImpl&&) = delete; Texture_ImageGfxImpl& operator=(Texture_ImageGfxImpl&&) = delete; - virtual std::unordered_map getPixelFormatToInitTable() const final; + std::unordered_map getPixelFormatToInitTable() const; /** * Bind this texture */ - virtual void bind() final; + void bind(); /** * Unbind this texture */ - virtual void unbind() final; + void unbind(); /** * Generate the mipmaps for the texture */ - virtual void generateMipmap() const final; + void generateMipmap() const; /** * Get the id of the texture (API dependent) * \return Return the texture id */ - virtual uint32_t getTexId() const override { return _glTex; } + uint32_t getTexId() const { return _glTex; } /** * Enable / disable clamp to edge * \param active If true, enables clamping */ - virtual void setClampToEdge(bool active) override { _glTextureWrap = active ? GL_CLAMP_TO_EDGE : GL_REPEAT; } + void setClampToEdge(bool active) { _glTextureWrap = active ? GL_CLAMP_TO_EDGE : GL_REPEAT; } /** * Read the texture and returns an Image @@ -99,7 +99,7 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * \param spec Image spec of the Texture_Image holding this gfx implementation * \return Return the image */ - std::shared_ptr read(int mipmapLevel, const ImageBufferSpec& spec) const override; + std::shared_ptr read(int mipmapLevel, const ImageBufferSpec& spec) const; /** * Resets the texture on the GPU side using the given parameters. @@ -111,12 +111,12 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * \param filtering Whether or not the texture should be filtered (mipmapped) * */ - ImageBufferSpec reset(int width, int height, std::string pixelFormat, ImageBufferSpec spec, GLint multisample, bool cubemap, bool filtering) override; + ImageBufferSpec reset(int width, int height, std::string pixelFormat, ImageBufferSpec spec, GLint multisample, bool cubemap, bool filtering); /** * \return Whether or not the given spec is for a compressed texture (API dependent) */ - bool isCompressed(const ImageBufferSpec& spec) const override; + bool isCompressed(const ImageBufferSpec& spec) const; /* * Updates the GPU texture given an image, its spec, the owning CPU-side texture spec, and other data. @@ -128,7 +128,7 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * the updated spec if an update was required. The updated spec is a modified version of the passed in `imgSpec` which mainly depends on whether or not the texture is * compressed. */ - std::pair> update(std::shared_ptr img, ImageBufferSpec imgSpec, const ImageBufferSpec& textureSpec, bool filtering) override; + std::pair> update(std::shared_ptr img, ImageBufferSpec imgSpec, const ImageBufferSpec& textureSpec, bool filtering); private: int _pboUploadIndex{0}; @@ -150,17 +150,17 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * * \sa read() For a safer and higher level method. */ - virtual void getTextureImage(GLuint textureId, GLenum textureType, GLint level, GLenum format, GLenum type, GLsizei /*bufSize*/, void* pixels) const final; + void getTextureImage(GLuint textureId, GLenum textureType, GLint level, GLenum format, GLenum type, GLsizei /*bufSize*/, void* pixels) const; /** * Wrapper for OpenGL's `getTextureLevelParameteriv` and `getTexLevelParameteriv`. */ - virtual void getTextureLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params) const final; + void getTextureLevelParameteriv(GLenum target, GLint level, GLenum pname, GLint* params) const; /** * Wrapper for OpenGL's `getTextureParameteriv` and `getTexParameteriv` */ - virtual void getTextureParameteriv(GLenum target, GLenum pname, GLint* params) const final; + void getTextureParameteriv(GLenum target, GLenum pname, GLint* params) const; /** * Update the pbos according to the parameters @@ -169,23 +169,23 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * \param bytes Bytes per pixel * \return Return true if all went well */ - virtual bool reallocatePBOs(int width, int height, int bytes) final; + bool reallocatePBOs(int width, int height, int bytes); /** * \return Given a spec (more specifically, its number of channels and type), returns a pair of `{internalFormat, dataFormat}` if the spec is supported. Otherwise, returns an * empty optional. Can update `_texFormat` depending on the number of channels and type for OpenGL ES. */ - virtual std::optional> updateUncompressedInternalAndDataFormat(const ImageBufferSpec& spec, const Values& srgb); + std::optional> updateUncompressedInternalAndDataFormat(const ImageBufferSpec& spec, const Values& srgb); /** * Updates the specified PBO with the data of the given image. */ - virtual void readFromImageIntoPBO(GLuint pboId, int imageDataSize, std::shared_ptr img) const; + void readFromImageIntoPBO(GLuint pboId, int imageDataSize, std::shared_ptr img) const; /** * Copies the data between `_pbos[0]` and `_pbos[1]`. */ - virtual void copyPixelsBetweenPBOs(int imageDataSize) const final; + void copyPixelsBetweenPBOs(int imageDataSize) const; /** * Deletes the texture if it already exists, initializes `_textureType`, generates and sets the OpenGL texture parameters, then allocates space on the GPU for the texture. diff --git a/src/graphics/api/opengl/texture_image_gfx_impl.h b/src/graphics/api/opengl/texture_image_gfx_impl.h index d84805c1..25b6c6bd 100644 --- a/src/graphics/api/opengl/texture_image_gfx_impl.h +++ b/src/graphics/api/opengl/texture_image_gfx_impl.h @@ -53,7 +53,7 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl /** * Destructor */ - virtual ~Texture_ImageGfxImpl() override + virtual ~Texture_ImageGfxImpl() { glDeleteTextures(1, &_glTex); glDeleteBuffers(2, _pbos); @@ -64,34 +64,34 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl Texture_ImageGfxImpl(Texture_ImageGfxImpl&&) = delete; Texture_ImageGfxImpl& operator=(Texture_ImageGfxImpl&&) = delete; - virtual std::unordered_map getPixelFormatToInitTable() const final; + std::unordered_map getPixelFormatToInitTable() const; /** * Bind this texture */ - virtual void bind() final; + void bind(); /** * Unbind this texture */ - virtual void unbind() final; + void unbind(); /** * Generate the mipmaps for the texture */ - virtual void generateMipmap() const final; + void generateMipmap() const; /** * Get the id of the texture (API dependent) * \return Return the texture id */ - virtual uint32_t getTexId() const override { return _glTex; } + uint32_t getTexId() const { return _glTex; } /** * Enable / disable clamp to edge * \param active If true, enables clamping */ - virtual void setClampToEdge(bool active) override { _glTextureWrap = active ? GL_CLAMP_TO_EDGE : GL_REPEAT; } + void setClampToEdge(bool active) { _glTextureWrap = active ? GL_CLAMP_TO_EDGE : GL_REPEAT; } /** * Read the texture and returns an Image @@ -99,7 +99,7 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * \param spec Image spec of the Texture_Image holding this gfx implementation * \return Return the image */ - std::shared_ptr read(int mipmapLevel, const ImageBufferSpec& spec) const override; + std::shared_ptr read(int mipmapLevel, const ImageBufferSpec& spec) const; /** * Resets the texture on the GPU side using the given parameters. @@ -111,12 +111,12 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * \param filtering Whether or not the texture should be filtered (mipmapped) * */ - ImageBufferSpec reset(int width, int height, std::string pixelFormat, ImageBufferSpec spec, GLint multisample, bool cubemap, bool filtering) override; + ImageBufferSpec reset(int width, int height, std::string pixelFormat, ImageBufferSpec spec, GLint multisample, bool cubemap, bool filtering); /** * \return Whether or not the given spec is for a compressed texture (API dependent) */ - bool isCompressed(const ImageBufferSpec& spec) const override; + bool isCompressed(const ImageBufferSpec& spec) const; /* * Updates the GPU texture given an image, its spec, the owning CPU-side texture spec, and other data. @@ -128,7 +128,7 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * the updated spec if an update was required. The updated spec is a modified version of the passed in `imgSpec` which mainly depends on whether or not the texture is * compressed. */ - std::pair> update(std::shared_ptr img, ImageBufferSpec imgSpec, const ImageBufferSpec& textureSpec, bool filtering) override; + std::pair> update(std::shared_ptr img, ImageBufferSpec imgSpec, const ImageBufferSpec& textureSpec, bool filtering); private: GLubyte* _pbosPixels[2]; @@ -151,17 +151,17 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * * \sa read() For a safer and higher level method. */ - virtual void getTextureImage(GLuint textureId, GLenum /*textureType*/, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels) const final; + void getTextureImage(GLuint textureId, GLenum /*textureType*/, GLint level, GLenum format, GLenum type, GLsizei bufSize, void* pixels) const; /** * Wrapper for OpenGL's `getTextureLevelParameteriv` and `getTexLevelParameteriv`. */ - virtual void getTextureLevelParameteriv(GLenum /*target*/, GLint level, GLenum pname, GLint* params) const final; + void getTextureLevelParameteriv(GLenum /*target*/, GLint level, GLenum pname, GLint* params) const; /** * Wrapper for OpenGL's `getTextureParameteriv` and `getTexParameteriv` */ - virtual void getTextureParameteriv(GLenum /*target*/, GLenum pname, GLint* params) const final; + void getTextureParameteriv(GLenum /*target*/, GLenum pname, GLint* params) const; /** * Update the pbos according to the parameters @@ -170,13 +170,13 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * \param bytes Bytes per pixel * \return Return true if all went well */ - virtual bool reallocatePBOs(int width, int height, int bytes) final; + bool reallocatePBOs(int width, int height, int bytes); /** * \return Given a spec (more specifically, its number of channels and type), returns a pair of `{internalFormat, dataFormat}` if the spec is supported. Otherwise, returns an * empty optional. Can update `_texFormat` depending on the number of channels and type for OpenGL ES. */ - virtual std::optional> updateUncompressedInternalAndDataFormat(const ImageBufferSpec& spec, const Values& srgb); + std::optional> updateUncompressedInternalAndDataFormat(const ImageBufferSpec& spec, const Values& srgb); /** * Updates the specified PBO with the data of the given image. @@ -184,13 +184,13 @@ class Texture_ImageGfxImpl final : public Splash::gfx::Texture_ImageGfxImpl * \param int imageDataSize Size of the data to read * \param img Image to read from */ - virtual void readFromImageIntoPBO(GLuint pboId, int imageDataSize, std::shared_ptr img) const; + void readFromImageIntoPBO(GLuint pboId, int imageDataSize, std::shared_ptr img) const; /** * Copies the data between `_pbos[0]` and `_pbos[1]`. * \param imageDataSize Size of the data to copy */ - virtual void copyPixelsBetweenPBOs(int imageDataSize) const final; + void copyPixelsBetweenPBOs(int imageDataSize) const; /** * Deletes the texture if it already exists, initializes `_textureType`, generates and sets the OpenGL texture parameters, then allocates space on the GPU for the texture. diff --git a/tools/docker/dockerfile-ubuntu-24.04 b/tools/docker/dockerfile-ubuntu-24.04 index 4b40be79..3074cb88 100644 --- a/tools/docker/dockerfile-ubuntu-24.04 +++ b/tools/docker/dockerfile-ubuntu-24.04 @@ -4,11 +4,11 @@ LABEL MAINTAINER Emmanuel Durand RUN apt update -qq && apt upgrade -y \ && DEBIAN_FRONTEND=noninterative apt install -y --no-install-recommends \ ca-certificates ccache wget curl build-essential clang clang-tools \ - doxygen flatpak-builder git-core git-lfs libjsoncpp-dev zip cmake \ - cmake-extras automake lcov libtool libxcb-shm0-dev libxrandr-dev \ - libxi-dev libglm-dev libgsl0-dev libatlas3-base libgphoto2-dev \ - libxinerama-dev libxcursor-dev python3-dev portaudio19-dev yasm \ - libgl1-mesa-dev libopencv-dev software-properties-common uuid-dev \ - libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \ + libclang-rt-dev doxygen flatpak-builder git-core git-lfs libjsoncpp-dev \ + zip cmake cmake-extras automake lcov libtool libxcb-shm0-dev \ + libxrandr-dev libxi-dev libglm-dev libgsl0-dev libatlas3-base \ + libgphoto2-dev libxinerama-dev libxcursor-dev python3-dev \ + portaudio19-dev yasm libgl1-mesa-dev libopencv-dev \ + uuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \ libsnappy-dev libzmq3-dev libwayland-dev libxkbcommon-dev ninja-build \ pkg-config zip xvfb glslang-tools glslang-dev mold liblo-dev diff --git a/tools/docker/dockerfile-ubuntu-26.04 b/tools/docker/dockerfile-ubuntu-26.04 index f0741c7a..6d6df9ef 100644 --- a/tools/docker/dockerfile-ubuntu-26.04 +++ b/tools/docker/dockerfile-ubuntu-26.04 @@ -4,11 +4,11 @@ LABEL MAINTAINER Emmanuel Durand RUN apt update -qq && apt upgrade -y \ && DEBIAN_FRONTEND=noninterative apt install -y --no-install-recommends \ ca-certificates ccache wget curl build-essential clang clang-tools \ - doxygen flatpak-builder git-core git-lfs libjsoncpp-dev zip cmake \ - cmake-extras automake lcov libtool libxcb-shm0-dev libxrandr-dev \ - libxi-dev libglm-dev libgsl0-dev libatlas3-base libgphoto2-dev \ - libxinerama-dev libxcursor-dev python3-dev portaudio19-dev yasm \ - libgl1-mesa-dev libopencv-dev software-properties-common uuid-dev \ - libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \ + libclang-rt-dev doxygen flatpak-builder git-core git-lfs libjsoncpp-dev \ + zip cmake cmake-extras automake lcov libtool libxcb-shm0-dev \ + libxrandr-dev libxi-dev libglm-dev libgsl0-dev libatlas3-base \ + libgphoto2-dev libxinerama-dev libxcursor-dev python3-dev \ + portaudio19-dev yasm libgl1-mesa-dev libopencv-dev \ + uuid-dev libavcodec-dev libavformat-dev libavutil-dev libswscale-dev \ libsnappy-dev libzmq3-dev libwayland-dev libxkbcommon-dev ninja-build \ pkg-config zip xvfb glslang-tools glslang-dev mold liblo-dev