Compare commits

...

2 commits

Author SHA1 Message Date
Isaac Marovitz
06fab7d08e
Enable source inclusion for recompiled shaders
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
2025-03-27 11:56:29 -04:00
Isaac Marovitz
aba65007b0
Use HLSL semantics as user name
Signed-off-by: Isaac Marovitz <isaacryu@icloud.com>
2025-03-27 11:55:53 -04:00
2 changed files with 3 additions and 3 deletions

View file

@ -18,7 +18,7 @@ std::vector<uint8_t> AirCompiler::compile(const std::string& shaderSource) {
close(tmpFD);
pid_t pid;
char* airArgv[] = { "xcrun", "-sdk", "macosx", "metal", "-o", irFile.data(), "-c", inputFile.data(), "-D__air__", "-DUNLEASHED_RECOMP", "-Wno-unused-variable", nullptr };
char* airArgv[] = { "xcrun", "-sdk", "macosx", "metal", "-o", irFile.data(), "-c", inputFile.data(), "-D__air__", "-DUNLEASHED_RECOMP", "-Wno-unused-variable", "-frecord-sources", "-gline-tables-only", nullptr };
if (posix_spawn(&pid, "/usr/bin/xcrun", nullptr, nullptr, airArgv, nullptr) != 0) {
unlink(inputFile.data());

View file

@ -1508,7 +1508,7 @@ void ShaderRecompiler::recompile(const uint8_t* shaderData, const std::string_vi
out += "#if __air__\n";
for (auto& [usage, usageIndex] : INTERPOLATORS)
println("\tfloat4 i{}{};", USAGE_VARIABLES[uint32_t(usage)], usageIndex);
println("\tfloat4 i{0}{1} [[user({2}{1})]];", USAGE_VARIABLES[uint32_t(usage)], usageIndex, USAGE_SEMANTICS[uint32_t(usage)]);
out += "#else\n";
@ -1643,7 +1643,7 @@ void ShaderRecompiler::recompile(const uint8_t* shaderData, const std::string_vi
out += "\tfloat4 oPos [[position]];\n";
for (auto& [usage, usageIndex] : INTERPOLATORS)
print("\tfloat4 o{0}{1};\n", USAGE_VARIABLES[uint32_t(usage)], usageIndex);
print("\tfloat4 o{0}{1} [[user({2}{1})]];\n", USAGE_VARIABLES[uint32_t(usage)], usageIndex, USAGE_SEMANTICS[uint32_t(usage)]);
out += "#else\n";