translate_program.h 1.1 KB

1234567891011121314151617181920212223242526272829
  1. // Copyright 2021 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "shader_recompiler/environment.h"
  6. #include "shader_recompiler/frontend/ir/basic_block.h"
  7. #include "shader_recompiler/frontend/ir/program.h"
  8. #include "shader_recompiler/frontend/maxwell/control_flow.h"
  9. #include "shader_recompiler/object_pool.h"
  10. #include "shader_recompiler/runtime_info.h"
  11. namespace Shader {
  12. struct HostTranslateInfo;
  13. }
  14. namespace Shader::Maxwell {
  15. [[nodiscard]] IR::Program TranslateProgram(ObjectPool<IR::Inst>& inst_pool,
  16. ObjectPool<IR::Block>& block_pool, Environment& env,
  17. Flow::CFG& cfg, const HostTranslateInfo& host_info);
  18. [[nodiscard]] IR::Program MergeDualVertexPrograms(IR::Program& vertex_a, IR::Program& vertex_b,
  19. Environment& env_vertex_b);
  20. void ConvertLegacyToGeneric(IR::Program& program, const RuntimeInfo& runtime_info);
  21. } // namespace Shader::Maxwell