Fix build following CI update

This commit is contained in:
Emmanuel Durand
2026-03-05 13:15:30 -05:00
parent bba34bc398
commit 6500e73124
4 changed files with 48 additions and 48 deletions
+18 -18
View File
@@ -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<std::string, InitTuple> getPixelFormatToInitTable() const final;
std::unordered_map<std::string, InitTuple> 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<Image> read(int mipmapLevel, const ImageBufferSpec& spec) const override;
std::shared_ptr<Image> 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<bool, std::optional<ImageBufferSpec>> update(std::shared_ptr<Image> img, ImageBufferSpec imgSpec, const ImageBufferSpec& textureSpec, bool filtering) override;
std::pair<bool, std::optional<ImageBufferSpec>> update(std::shared_ptr<Image> 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<std::pair<GLenum, GLenum>> updateUncompressedInternalAndDataFormat(const ImageBufferSpec& spec, const Values& srgb);
std::optional<std::pair<GLenum, GLenum>> 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<Image> img) const;
void readFromImageIntoPBO(GLuint pboId, int imageDataSize, std::shared_ptr<Image> 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.
@@ -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<std::string, InitTuple> getPixelFormatToInitTable() const final;
std::unordered_map<std::string, InitTuple> 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<Image> read(int mipmapLevel, const ImageBufferSpec& spec) const override;
std::shared_ptr<Image> 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<bool, std::optional<ImageBufferSpec>> update(std::shared_ptr<Image> img, ImageBufferSpec imgSpec, const ImageBufferSpec& textureSpec, bool filtering) override;
std::pair<bool, std::optional<ImageBufferSpec>> update(std::shared_ptr<Image> 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<std::pair<GLenum, GLenum>> updateUncompressedInternalAndDataFormat(const ImageBufferSpec& spec, const Values& srgb);
std::optional<std::pair<GLenum, GLenum>> 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<Image> img) const;
void readFromImageIntoPBO(GLuint pboId, int imageDataSize, std::shared_ptr<Image> 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.
+6 -6
View File
@@ -4,11 +4,11 @@ LABEL MAINTAINER Emmanuel Durand <manu@lab148.xyz>
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
+6 -6
View File
@@ -4,11 +4,11 @@ LABEL MAINTAINER Emmanuel Durand <manu@lab148.xyz>
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