From 57c2bbc83af9739de4dcb2078b1d319aa3139b0f Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Fri, 18 Feb 2022 16:57:00 -0500 Subject: [PATCH] Fill out basic WebGPU header/source gfx files --- .../include/{gfx_dummy.hpp => gfx_webgpu.hpp} | 0 .../src/{gfx_dummy.cpp => gfx_webgpu.cpp} | 2 +- engine/gfx/webgpu/CMakeLists.txt | 2 +- engine/gfx/webgpu/include/gfx_dummy.hpp | 30 ------------ engine/gfx/webgpu/include/gfx_webgpu.hpp | 10 ++++ engine/gfx/webgpu/src/gfx_dummy.cpp | 46 ------------------- engine/gfx/webgpu/src/gfx_webgpu.cpp | 9 ++++ engine/platform/CMakeLists.txt | 2 +- 8 files changed, 22 insertions(+), 79 deletions(-) rename engine/gfx/dummy/include/{gfx_dummy.hpp => gfx_webgpu.hpp} (100%) rename engine/gfx/dummy/src/{gfx_dummy.cpp => gfx_webgpu.cpp} (87%) delete mode 100755 engine/gfx/webgpu/include/gfx_dummy.hpp create mode 100755 engine/gfx/webgpu/include/gfx_webgpu.hpp delete mode 100755 engine/gfx/webgpu/src/gfx_dummy.cpp create mode 100755 engine/gfx/webgpu/src/gfx_webgpu.cpp diff --git a/engine/gfx/dummy/include/gfx_dummy.hpp b/engine/gfx/dummy/include/gfx_webgpu.hpp similarity index 100% rename from engine/gfx/dummy/include/gfx_dummy.hpp rename to engine/gfx/dummy/include/gfx_webgpu.hpp diff --git a/engine/gfx/dummy/src/gfx_dummy.cpp b/engine/gfx/dummy/src/gfx_webgpu.cpp similarity index 87% rename from engine/gfx/dummy/src/gfx_dummy.cpp rename to engine/gfx/dummy/src/gfx_webgpu.cpp index 8250524..c0a5dd9 100755 --- a/engine/gfx/dummy/src/gfx_dummy.cpp +++ b/engine/gfx/dummy/src/gfx_webgpu.cpp @@ -1,4 +1,4 @@ -#include "gfx_dummy.hpp" +#include "gfx_webgpu.hpp" bool GFXDummy::is_supported() { return true; diff --git a/engine/gfx/webgpu/CMakeLists.txt b/engine/gfx/webgpu/CMakeLists.txt index 76c3d40..7171e86 100755 --- a/engine/gfx/webgpu/CMakeLists.txt +++ b/engine/gfx/webgpu/CMakeLists.txt @@ -1,3 +1,3 @@ -add_library(GFXWebGPU STATIC src/gfx_dummy.cpp) +add_library(GFXWebGPU STATIC src/gfx_webgpu.cpp) target_include_directories(GFXWebGPU PUBLIC include) target_link_libraries(GFXWebGPU PUBLIC GFX) \ No newline at end of file diff --git a/engine/gfx/webgpu/include/gfx_dummy.hpp b/engine/gfx/webgpu/include/gfx_dummy.hpp deleted file mode 100755 index ec46911..0000000 --- a/engine/gfx/webgpu/include/gfx_dummy.hpp +++ /dev/null @@ -1,30 +0,0 @@ -#pragma once - -#include "gfx.hpp" - -class GFXDummy : public GFX { -public: - bool initialize() override; - void initializeView(void* native_handle, uint32_t width, uint32_t height) override; - - // buffer operations - GFXBuffer* createBuffer(void* data, GFXSize size, GFXBufferUsage usage) override; - void copyBuffer(GFXBuffer* buffer, void* data, GFXSize offset, GFXSize size) override; - - // texture operations - GFXTexture* createTexture(uint32_t width, uint32_t height, GFXPixelFormat format, GFXStorageMode storageMode, GFXTextureUsage usage) override; - void copyTexture(GFXTexture* texture, void* data, GFXSize size) override; - - // framebuffer operations - GFXFramebuffer* createFramebuffer(GFXFramebufferCreateInfo& info) override; - - // render pass operations - GFXRenderPass* createRenderPass(GFXRenderPassCreateInfo& info) override; - - // pipeline operations - GFXPipeline* createPipeline(GFXPipelineCreateInfo& info) override; - - void render(GFXCommandBuffer* command_buffer) override; - - const char* getName() override; -}; diff --git a/engine/gfx/webgpu/include/gfx_webgpu.hpp b/engine/gfx/webgpu/include/gfx_webgpu.hpp new file mode 100755 index 0000000..e6f1ebe --- /dev/null +++ b/engine/gfx/webgpu/include/gfx_webgpu.hpp @@ -0,0 +1,10 @@ +#pragma once + +#include "gfx.hpp" + +class GFXWebGPU : public GFX { +public: + bool initialize(const GFXCreateInfo& createInfo) override; + + const char* get_name() override; +}; diff --git a/engine/gfx/webgpu/src/gfx_dummy.cpp b/engine/gfx/webgpu/src/gfx_dummy.cpp deleted file mode 100755 index 05f3b8b..0000000 --- a/engine/gfx/webgpu/src/gfx_dummy.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "gfx_dummy.hpp" - -bool GFXDummy::initialize() { - return true; -} - -void GFXDummy::initializeView(void* native_handle, uint32_t width, uint32_t height) { - -} - -GFXBuffer* GFXDummy::createBuffer(void* data, GFXSize size, GFXBufferUsage usage) { - return nullptr; -} - -void GFXDummy::copyBuffer(GFXBuffer* buffer, void* data, GFXSize offset, GFXSize size) { - -} - -GFXTexture* GFXDummy::createTexture(uint32_t width, uint32_t height, GFXPixelFormat format, GFXStorageMode storageMode, GFXTextureUsage usage) { - return nullptr; -} - -void GFXDummy::copyTexture(GFXTexture* texture, void* data, GFXSize size) { - -} - - -GFXFramebuffer* GFXDummy::createFramebuffer(GFXFramebufferCreateInfo& info) { - return nullptr; -} - -GFXRenderPass* GFXDummy::createRenderPass(GFXRenderPassCreateInfo& info) { - return nullptr; -} - -GFXPipeline* GFXDummy::createPipeline(GFXPipelineCreateInfo& info) { - return nullptr; -} - -void GFXDummy::render(GFXCommandBuffer* command_buffer) { - -} - -const char* GFXDummy::getName() { - return "None"; -} diff --git a/engine/gfx/webgpu/src/gfx_webgpu.cpp b/engine/gfx/webgpu/src/gfx_webgpu.cpp new file mode 100755 index 0000000..bc861f2 --- /dev/null +++ b/engine/gfx/webgpu/src/gfx_webgpu.cpp @@ -0,0 +1,9 @@ +#include "gfx_webgpu.hpp" + +bool GFXWebGPU::initialize(const GFXCreateInfo& createInfo) { + return true; +} + +const char* GFXWebGPU::get_name() { + return "WebGPU"; +} \ No newline at end of file diff --git a/engine/platform/CMakeLists.txt b/engine/platform/CMakeLists.txt index 5c70dc7..1c072d1 100755 --- a/engine/platform/CMakeLists.txt +++ b/engine/platform/CMakeLists.txt @@ -1,3 +1,3 @@ add_library(Platform INTERFACE) target_include_directories(Platform INTERFACE include) -target_link_libraries(Platform INTERFACE Utility) +target_link_libraries(Platform INTERFACE Utility Log)