VulkanImage
Bigfoot / Sonarqube (game) (push) Skipped
Bigfoot / Sonarqube (toolmode) (push) Skipped
Bigfoot / Build & Test Debug with clang (Unity Build: OFF, Variant: game) (push) Successful in 1m6s
Bigfoot / Build & Test Debug with clang (Unity Build: OFF, Variant: toolmode) (push) Successful in 1m11s
Bigfoot / Build & Test Debug with clang_asan (Unity Build: OFF, Variant: game) (push) Failing after 2m19s
Bigfoot / Build & Test Debug with clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 2m17s
Bigfoot / Build & Test Debug with clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 1m50s
Bigfoot / Build & Test Release with clang (Unity Build: OFF, Variant: toolmode) (push) Successful in 1m26s
Bigfoot / Build & Test Release with clang_asan (Unity Build: OFF, Variant: game) (push) Failing after 1m43s
Bigfoot / Build & Test RelWithDebInfo with clang (Unity Build: OFF, Variant: game) (push) Successful in 1m12s
Bigfoot / Build & Test Debug with clang (Unity Build: ON, Variant: game) (push) Successful in 45s
Bigfoot / Build & Test Debug with clang (Unity Build: ON, Variant: toolmode) (push) Successful in 46s
Bigfoot / Build & Test Debug with clang_asan (Unity Build: ON, Variant: game) (push) Failing after 1m43s
Bigfoot / Build & Test Release with clang (Unity Build: OFF, Variant: game) (push) Successful in 1m6s
Bigfoot / Build & Test Release with clang (Unity Build: ON, Variant: game) (push) Successful in 51s
Bigfoot / Build & Test Release with clang (Unity Build: ON, Variant: toolmode) (push) Successful in 1m12s
Bigfoot / Build & Test Release with clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 1m47s
Bigfoot / Build & Test Release with clang_asan (Unity Build: ON, Variant: game) (push) Failing after 1m29s
Bigfoot / Build & Test Release with clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 1m34s
Bigfoot / Build & Test RelWithDebInfo with clang (Unity Build: OFF, Variant: toolmode) (push) Successful in 1m17s
Bigfoot / Build & Test RelWithDebInfo with clang (Unity Build: ON, Variant: game) (push) Successful in 48s
Bigfoot / Build & Test RelWithDebInfo with clang (Unity Build: ON, Variant: toolmode) (push) Successful in 51s
Bigfoot / Build & Test RelWithDebInfo with clang_asan (Unity Build: OFF, Variant: game) (push) Failing after 2m19s
Bigfoot / Build & Test RelWithDebInfo with clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 2m23s
Bigfoot / Build & Test RelWithDebInfo with clang_asan (Unity Build: ON, Variant: game) (push) Failing after 1m48s
Bigfoot / Build & Test RelWithDebInfo with clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 1m50s
Bigfoot / Clang Format Checks (push) Successful in 12s
Bigfoot / Sonarqube (game) (push) Skipped
Bigfoot / Sonarqube (toolmode) (push) Skipped
Bigfoot / Build & Test Debug with clang (Unity Build: OFF, Variant: game) (push) Successful in 1m6s
Bigfoot / Build & Test Debug with clang (Unity Build: OFF, Variant: toolmode) (push) Successful in 1m11s
Bigfoot / Build & Test Debug with clang_asan (Unity Build: OFF, Variant: game) (push) Failing after 2m19s
Bigfoot / Build & Test Debug with clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 2m17s
Bigfoot / Build & Test Debug with clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 1m50s
Bigfoot / Build & Test Release with clang (Unity Build: OFF, Variant: toolmode) (push) Successful in 1m26s
Bigfoot / Build & Test Release with clang_asan (Unity Build: OFF, Variant: game) (push) Failing after 1m43s
Bigfoot / Build & Test RelWithDebInfo with clang (Unity Build: OFF, Variant: game) (push) Successful in 1m12s
Bigfoot / Build & Test Debug with clang (Unity Build: ON, Variant: game) (push) Successful in 45s
Bigfoot / Build & Test Debug with clang (Unity Build: ON, Variant: toolmode) (push) Successful in 46s
Bigfoot / Build & Test Debug with clang_asan (Unity Build: ON, Variant: game) (push) Failing after 1m43s
Bigfoot / Build & Test Release with clang (Unity Build: OFF, Variant: game) (push) Successful in 1m6s
Bigfoot / Build & Test Release with clang (Unity Build: ON, Variant: game) (push) Successful in 51s
Bigfoot / Build & Test Release with clang (Unity Build: ON, Variant: toolmode) (push) Successful in 1m12s
Bigfoot / Build & Test Release with clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 1m47s
Bigfoot / Build & Test Release with clang_asan (Unity Build: ON, Variant: game) (push) Failing after 1m29s
Bigfoot / Build & Test Release with clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 1m34s
Bigfoot / Build & Test RelWithDebInfo with clang (Unity Build: OFF, Variant: toolmode) (push) Successful in 1m17s
Bigfoot / Build & Test RelWithDebInfo with clang (Unity Build: ON, Variant: game) (push) Successful in 48s
Bigfoot / Build & Test RelWithDebInfo with clang (Unity Build: ON, Variant: toolmode) (push) Successful in 51s
Bigfoot / Build & Test RelWithDebInfo with clang_asan (Unity Build: OFF, Variant: game) (push) Failing after 2m19s
Bigfoot / Build & Test RelWithDebInfo with clang_asan (Unity Build: OFF, Variant: toolmode) (push) Failing after 2m23s
Bigfoot / Build & Test RelWithDebInfo with clang_asan (Unity Build: ON, Variant: game) (push) Failing after 1m48s
Bigfoot / Build & Test RelWithDebInfo with clang_asan (Unity Build: ON, Variant: toolmode) (push) Failing after 1m50s
Bigfoot / Clang Format Checks (push) Successful in 12s
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
/*********************************************************************
|
||||
* \file GraphicsImage.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSINTERFACE_GRAPHICSIMAGE_HPP
|
||||
#define BIGFOOT_GRAPHICSINTERFACE_GRAPHICSIMAGE_HPP
|
||||
#include <GraphicsInterface/PixelFormat_generated.hpp>
|
||||
|
||||
#include <glm/glm.hpp>
|
||||
|
||||
namespace Bigfoot
|
||||
{
|
||||
class GraphicsImage
|
||||
{
|
||||
public:
|
||||
virtual ~GraphicsImage() = default;
|
||||
|
||||
/**
|
||||
* Get the pixel format of the image
|
||||
*
|
||||
* \return The image format
|
||||
*/
|
||||
[[nodiscard]]
|
||||
virtual PixelFormat GetFormat() const = 0;
|
||||
|
||||
/**
|
||||
* Get the size of the image
|
||||
*
|
||||
* \return The image extent, in pixels
|
||||
*/
|
||||
[[nodiscard]]
|
||||
virtual glm::uvec2 GetExtent() const = 0;
|
||||
|
||||
GraphicsImage(const GraphicsImage& p_image) = delete;
|
||||
GraphicsImage(GraphicsImage&& p_image) = delete;
|
||||
|
||||
GraphicsImage& operator=(const GraphicsImage& p_image) = delete;
|
||||
GraphicsImage& operator=(GraphicsImage&& p_image) = delete;
|
||||
|
||||
protected:
|
||||
GraphicsImage() = default;
|
||||
};
|
||||
} // namespace Bigfoot
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,75 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanImage.hpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#ifndef BIGFOOT_GRAPHICSVULKAN_VULKANIMAGE_HPP
|
||||
#define BIGFOOT_GRAPHICSVULKAN_VULKANIMAGE_HPP
|
||||
#include <GraphicsVulkan/VulkanInclude.hpp>
|
||||
|
||||
#include <GraphicsInterface/GraphicsImage.hpp>
|
||||
|
||||
namespace Bigfoot::Vulkan
|
||||
{
|
||||
class VulkanImage final: public GraphicsImage
|
||||
{
|
||||
public:
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* \param p_image The underlying Vulkan image handle
|
||||
* \param p_format The pixel format of the image
|
||||
* \param p_extent The size of the image
|
||||
*/
|
||||
VulkanImage(vk::Image p_image, PixelFormat p_format, vk::Extent2D p_extent);
|
||||
|
||||
VulkanImage(const VulkanImage& p_image) = delete;
|
||||
VulkanImage(VulkanImage&& p_image) noexcept;
|
||||
|
||||
VulkanImage& operator=(const VulkanImage& p_image) = delete;
|
||||
VulkanImage& operator=(VulkanImage&& p_image) noexcept;
|
||||
|
||||
/**
|
||||
* Get the pixel format of the image
|
||||
*
|
||||
* \return The image format
|
||||
*/
|
||||
[[nodiscard]]
|
||||
PixelFormat GetFormat() const override;
|
||||
|
||||
/**
|
||||
* Get the size of the image
|
||||
*
|
||||
* \return The image extent, in pixels
|
||||
*/
|
||||
[[nodiscard]]
|
||||
glm::uvec2 GetExtent() const override;
|
||||
|
||||
/**
|
||||
* Get the underlying Vulkan image handle
|
||||
*
|
||||
* \return The vk::Image handle
|
||||
*/
|
||||
[[nodiscard]]
|
||||
vk::Image GetHandle() const;
|
||||
|
||||
private:
|
||||
/**
|
||||
* The vulkan image
|
||||
*/
|
||||
vk::Image m_image;
|
||||
|
||||
/**
|
||||
* The pixel format of the image
|
||||
*/
|
||||
PixelFormat m_format;
|
||||
|
||||
/**
|
||||
* The size of the image
|
||||
*/
|
||||
vk::Extent2D m_extent;
|
||||
};
|
||||
} // namespace Bigfoot::Vulkan
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,58 @@
|
||||
/*********************************************************************
|
||||
* \file VulkanImage.cpp
|
||||
*
|
||||
* \author Romain BOULLARD
|
||||
* \date September 2026
|
||||
*********************************************************************/
|
||||
#include <GraphicsVulkan/VulkanImage.hpp>
|
||||
|
||||
namespace Bigfoot::Vulkan
|
||||
{
|
||||
VulkanImage::VulkanImage(const vk::Image p_image, const PixelFormat p_format, const vk::Extent2D p_extent):
|
||||
m_image(p_image),
|
||||
m_format(p_format),
|
||||
m_extent(p_extent)
|
||||
{
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
VulkanImage::VulkanImage(VulkanImage&& p_image) noexcept:
|
||||
GraphicsImage(),
|
||||
m_image(p_image.m_image),
|
||||
m_format(p_image.m_format),
|
||||
m_extent(p_image.m_extent)
|
||||
{
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
VulkanImage& VulkanImage::operator=(VulkanImage&& p_image) noexcept
|
||||
{
|
||||
m_image = p_image.m_image;
|
||||
m_format = p_image.m_format;
|
||||
m_extent = p_image.m_extent;
|
||||
return *this;
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
PixelFormat VulkanImage::GetFormat() const
|
||||
{
|
||||
return m_format;
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
glm::uvec2 VulkanImage::GetExtent() const
|
||||
{
|
||||
return {m_extent.width, m_extent.height};
|
||||
}
|
||||
|
||||
/****************************************************************************************/
|
||||
|
||||
vk::Image VulkanImage::GetHandle() const
|
||||
{
|
||||
return m_image;
|
||||
}
|
||||
} // namespace Bigfoot::Vulkan
|
||||
Reference in New Issue
Block a user