| | |
| | |
| |
|
| | #pragma once |
| |
|
| | #include <array> |
| | #include <string> |
| |
|
| | #include "shader_recompiler/frontend/ir/abstract_syntax_list.h" |
| | #include "shader_recompiler/frontend/ir/basic_block.h" |
| | #include "shader_recompiler/program_header.h" |
| | #include "shader_recompiler/shader_info.h" |
| | #include "shader_recompiler/stage.h" |
| |
|
| | namespace Shader::IR { |
| |
|
| | struct Program { |
| | AbstractSyntaxList syntax_list; |
| | BlockList blocks; |
| | BlockList post_order_blocks; |
| | Info info; |
| | Stage stage{}; |
| | std::array<u32, 3> workgroup_size{}; |
| | OutputTopology output_topology{}; |
| | u32 output_vertices{}; |
| | u32 invocations{}; |
| | u32 local_memory_size{}; |
| | u32 shared_memory_size{}; |
| | bool is_geometry_passthrough{}; |
| | }; |
| |
|
| | [[nodiscard]] std::string DumpProgram(const Program& program); |
| |
|
| | } |
| |
|