Trying to get metal backend to run

This commit is contained in:
Dynamitos
2025-04-12 17:40:14 +02:00
parent 32ad82dbd2
commit 3cee2ae9ab
24 changed files with 64 additions and 69 deletions
+9 -3
View File
@@ -133,15 +133,17 @@ void EnvironmentLoader::import(EnvironmentImportArgs args, PEnvironmentMapAsset
Gfx::SE_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL,
Gfx::SE_ATTACHMENT_LOAD_OP_DONT_CARE, Gfx::SE_ATTACHMENT_STORE_OP_STORE)},
},
{
Gfx::SubPassDependency{
{Gfx::SubPassDependency{
.srcSubpass = 0,
.dstSubpass = ~0U,
.srcStage = Gfx::SE_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT,
.dstStage = Gfx::SE_PIPELINE_STAGE_FRAGMENT_SHADER_BIT,
.srcAccess = Gfx::SE_ACCESS_COLOR_ATTACHMENT_WRITE_BIT,
.dstAccess = Gfx::SE_ACCESS_SHADER_READ_BIT,
}
}},
{
.offset = {0, 0},
.size = {SOURCE_RESOLUTION, SOURCE_RESOLUTION},
},
"EnvironmentRenderPass", {0b111111}, {0b111111});
cubeRenderPipeline = graphics->createGraphicsPipeline(Gfx::LegacyPipelineCreateInfo{
@@ -176,6 +178,10 @@ void EnvironmentLoader::import(EnvironmentImportArgs args, PEnvironmentMapAsset
Gfx::SE_ATTACHMENT_LOAD_OP_DONT_CARE, Gfx::SE_ATTACHMENT_STORE_OP_STORE)},
},
{},
{
.offset = {0, 0},
.size = {CONVOLUTED_RESOLUTION, CONVOLUTED_RESOLUTION},
},
"EnvironmentRenderPass", {0b111111}, {0b111111});
convolutionPipeline = graphics->createGraphicsPipeline(Gfx::LegacyPipelineCreateInfo{
.vertexShader = cubeRenderVertex,
+9 -2
View File
@@ -9,8 +9,8 @@
#ifdef __APPLE__
#include "Graphics/Metal/Graphics.h"
#else
#include "Graphics/Vulkan/Graphics.h"
#endif
#include "Graphics/Vulkan/Graphics.h"
#include "Graphics/StaticMeshVertexData.h"
#include "Window/InspectorView.h"
#include "Window/PlayView.h"
@@ -28,7 +28,14 @@ int main() {
std::string gameName = "MinecraftClone";
std::filesystem::path outputPath = fmt::format("../../{0}Game", gameName);
std::filesystem::path sourcePath = fmt::format("../../{0}", gameName);
std::filesystem::path binaryPath = sourcePath / "bin" / fmt::format("{0}.dll", gameName);
#ifdef WIN32
std::string libraryEnding = "dll";
#elif __APPLE__
std::string libraryEnding = "dylib";
#else
std::string libraryEnding = "so";
#endif
std::filesystem::path binaryPath = sourcePath / "bin" / fmt::format("{}.{}", gameName, libraryEnding);
std::filesystem::path cmakePath = outputPath / "cmake";
if (true) {
#ifdef __APPLE__