Basic metal backend

This commit is contained in:
Dynamitos
2024-04-15 13:48:34 +02:00
parent dc2f0eac30
commit d67c8ebffe
15 changed files with 334 additions and 303 deletions
+9 -1
View File
@@ -6,6 +6,7 @@
#include "Graphics/slang-compile.h"
#include "Metal/MTLDevice.hpp"
#include "Metal/MTLLibrary.hpp"
#include <fstream>
#include <iostream>
#include <slang.h>
#include <spirv_cross.hpp>
@@ -42,7 +43,14 @@ void Shader::create(const ShaderCreateInfo& createInfo) {
std::cout << error->debugDescription() << std::endl;
assert(false);
}
function = library->newFunction(NS::String::string("main", NS::ASCIIStringEncoding));
function = library->newFunction(NS::String::string("main0", NS::ASCIIStringEncoding));
if(!function)
{
std::ofstream shaderFile("error.metal");
shaderFile << metalCode;
shaderFile.close();
assert(!function);
}
mtlOptions->release();
}