summaryrefslogtreecommitdiffstats
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.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/shader_recompiler/main.cpp b/src/shader_recompiler/main.cpp
index 050a37f18..abd44e323 100644
--- a/src/shader_recompiler/main.cpp
+++ b/src/shader_recompiler/main.cpp
@@ -67,8 +67,8 @@ int main() {
ObjectPool<IR::Inst> inst_pool;
ObjectPool<IR::Block> block_pool;
- FileEnvironment env{"D:\\Shaders\\Database\\Oninaki\\CS8F146B41DB6BD826.bin"};
- // FileEnvironment env{"D:\\Shaders\\shader.bin"};
+ // FileEnvironment env{"D:\\Shaders\\Database\\Oninaki\\CS8F146B41DB6BD826.bin"};
+ FileEnvironment env{"D:\\Shaders\\shader.bin"};
block_pool.ReleaseContents();
inst_pool.ReleaseContents();
flow_block_pool.ReleaseContents();
@@ -76,5 +76,9 @@ int main() {
fmt::print(stdout, "{}\n", cfg.Dot());
IR::Program program{TranslateProgram(inst_pool, block_pool, env, cfg)};
fmt::print(stdout, "{}\n", IR::DumpProgram(program));
- void(Backend::SPIRV::EmitSPIRV(env, program));
+ const std::vector<u32> spirv{Backend::SPIRV::EmitSPIRV(env, program)};
+ std::FILE* const file{std::fopen("D:\\shader.spv", "wb")};
+ std::fwrite(spirv.data(), spirv.size(), sizeof(u32), file);
+ std::fclose(file);
+ std::system("spirv-dis D:\\shader.spv");
}