diff options
Diffstat (limited to 'src/shader_recompiler/main.cpp')
| -rw-r--r-- | src/shader_recompiler/main.cpp | 13 |
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 | ||
| 63 | static 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 | |||
| 63 | int main() { | 74 | int 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); |