mirror of
https://github.com/love2d/love.git
synced 2026-08-16 00:02:12 +02:00
Rework internal module registration to happen in constructors.
This commit is contained in:
@@ -180,8 +180,9 @@ Graphics::DisplayState::DisplayState()
|
||||
defaultSamplerState.mipmapFilter = SamplerState::MIPMAP_FILTER_LINEAR;
|
||||
}
|
||||
|
||||
Graphics::Graphics()
|
||||
: width(0)
|
||||
Graphics::Graphics(const char *name)
|
||||
: Module(M_GRAPHICS, name)
|
||||
, width(0)
|
||||
, height(0)
|
||||
, pixelWidth(0)
|
||||
, pixelHeight(0)
|
||||
|
||||
@@ -451,12 +451,9 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
Graphics();
|
||||
Graphics(const char *name);
|
||||
virtual ~Graphics();
|
||||
|
||||
// Implements Module.
|
||||
virtual ModuleType getModuleType() const { return M_GRAPHICS; }
|
||||
|
||||
virtual Texture *newTexture(const Texture::Settings &settings, const Texture::Slices *data = nullptr) = 0;
|
||||
|
||||
Quad *newQuad(Quad::Viewport v, double sw, double sh);
|
||||
|
||||
@@ -60,9 +60,6 @@ public:
|
||||
Graphics();
|
||||
virtual ~Graphics();
|
||||
|
||||
// Implements Module.
|
||||
const char *getName() const override { return "love.graphics.metal"; }
|
||||
|
||||
love::graphics::Texture *newTexture(const Texture::Settings &settings, const Texture::Slices *data = nullptr) override;
|
||||
love::graphics::Buffer *newBuffer(const Buffer::Settings &settings, const std::vector<Buffer::DataDeclaration> &format, const void *data, size_t size, size_t arraylength) override;
|
||||
|
||||
|
||||
@@ -263,7 +263,8 @@ struct DefaultVertexAttributes
|
||||
Graphics *Graphics::graphicsInstance = nullptr;
|
||||
|
||||
Graphics::Graphics()
|
||||
: device(nil)
|
||||
: love::graphics::Graphics("love.graphics.metal")
|
||||
, device(nil)
|
||||
, commandQueue(nil)
|
||||
, commandBuffer(nil)
|
||||
, renderEncoder(nil)
|
||||
|
||||
@@ -106,7 +106,8 @@ love::graphics::Graphics *createInstance()
|
||||
}
|
||||
|
||||
Graphics::Graphics()
|
||||
: windowHasStencil(false)
|
||||
: love::graphics::Graphics("love.graphics.opengl")
|
||||
, windowHasStencil(false)
|
||||
, mainVAO(0)
|
||||
, internalBackbufferFBO(0)
|
||||
, requestedBackbufferMSAA(0)
|
||||
@@ -147,11 +148,6 @@ Graphics::~Graphics()
|
||||
delete[] bufferMapMemory;
|
||||
}
|
||||
|
||||
const char *Graphics::getName() const
|
||||
{
|
||||
return "love.graphics.opengl";
|
||||
}
|
||||
|
||||
love::graphics::StreamBuffer *Graphics::newStreamBuffer(BufferUsage type, size_t size)
|
||||
{
|
||||
return CreateStreamBuffer(type, size);
|
||||
|
||||
@@ -56,9 +56,6 @@ public:
|
||||
Graphics();
|
||||
virtual ~Graphics();
|
||||
|
||||
// Implements Module.
|
||||
const char *getName() const override;
|
||||
|
||||
love::graphics::Texture *newTexture(const Texture::Settings &settings, const Texture::Slices *data = nullptr) override;
|
||||
love::graphics::Buffer *newBuffer(const Buffer::Settings &settings, const std::vector<Buffer::DataDeclaration> &format, const void *data, size_t size, size_t arraylength) override;
|
||||
|
||||
|
||||
@@ -60,11 +60,6 @@ static const std::vector<const char*> deviceExtensions = {
|
||||
|
||||
constexpr uint32_t USAGES_POLL_INTERVAL = 5000;
|
||||
|
||||
const char *Graphics::getName() const
|
||||
{
|
||||
return "love.graphics.vulkan";
|
||||
}
|
||||
|
||||
VkDevice Graphics::getDevice() const
|
||||
{
|
||||
return device;
|
||||
@@ -95,6 +90,7 @@ static void checkOptionalInstanceExtensions(OptionalInstanceExtensions& ext)
|
||||
}
|
||||
|
||||
Graphics::Graphics()
|
||||
: love::graphics::Graphics("love.graphics.vulkan")
|
||||
{
|
||||
if (SDL_Vulkan_LoadLibrary(nullptr))
|
||||
throw love::Exception("could not find vulkan");
|
||||
|
||||
@@ -274,7 +274,6 @@ public:
|
||||
~Graphics();
|
||||
|
||||
// implementation for virtual functions
|
||||
const char *getName() const override;
|
||||
love::graphics::Texture *newTexture(const love::graphics::Texture::Settings &settings, const love::graphics::Texture::Slices *data) override;
|
||||
love::graphics::Buffer *newBuffer(const love::graphics::Buffer::Settings &settings, const std::vector<love::graphics::Buffer::DataDeclaration>& format, const void *data, size_t size, size_t arraylength) override;
|
||||
graphics::GraphicsReadback *newReadbackInternal(ReadbackMethod method, love::graphics::Buffer *buffer, size_t offset, size_t size, data::ByteData *dest, size_t destoffset) override;
|
||||
|
||||
Reference in New Issue
Block a user