summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shader_recompiler/main.cpp')
-rw-r--r--src/shader_recompiler/main.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/shader_recompiler/main.cpp b/src/shader_recompiler/main.cpp
index abd44e323..72565f477 100644
--- a/src/shader_recompiler/main.cpp
+++ b/src/shader_recompiler/main.cpp
@@ -60,6 +60,17 @@ void RunDatabase() {
60 fmt::print(stdout, "{} ms", duration_cast<milliseconds>(t - t0).count() / double(N)); 60 fmt::print(stdout, "{} ms", duration_cast<milliseconds>(t - t0).count() / double(N));
61} 61}
62 62
63static constexpr Profile PROFILE{
64 .unified_descriptor_binding = true,
65 .support_float_controls = true,
66 .support_separate_denorm_behavior = true,
67 .support_separate_rounding_mode = true,
68 .support_fp16_denorm_preserve = true,
69 .support_fp32_denorm_preserve = true,
70 .support_fp16_denorm_flush = true,
71 .support_fp32_denorm_flush = true,
72};
73
63int main() { 74int main() {
64 // RunDatabase(); 75 // RunDatabase();
65 76
@@ -76,7 +87,7 @@ int main() {
76 fmt::print(stdout, "{}\n", cfg.Dot()); 87 fmt::print(stdout, "{}\n", cfg.Dot());
77 IR::Program program{TranslateProgram(inst_pool, block_pool, env, cfg)}; 88 IR::Program program{TranslateProgram(inst_pool, block_pool, env, cfg)};
78 fmt::print(stdout, "{}\n", IR::DumpProgram(program)); 89 fmt::print(stdout, "{}\n", IR::DumpProgram(program));
79 const std::vector<u32> spirv{Backend::SPIRV::EmitSPIRV(env, program)}; 90 const std::vector<u32> spirv{Backend::SPIRV::EmitSPIRV(PROFILE, env, program)};
80 std::FILE* const file{std::fopen("D:\\shader.spv", "wb")}; 91 std::FILE* const file{std::fopen("D:\\shader.spv", "wb")};
81 std::fwrite(spirv.data(), spirv.size(), sizeof(u32), file); 92 std::fwrite(spirv.data(), spirv.size(), sizeof(u32), file);
82 std::fclose(file); 93 std::fclose(file);