| |
| |
|
|
| #pragma once |
|
|
| #include "shader_recompiler/environment.h" |
| #include "shader_recompiler/frontend/ir/program.h" |
|
|
| namespace Shader { |
| struct HostTranslateInfo; |
| } |
|
|
| namespace Shader::Optimization { |
|
|
| void CollectShaderInfoPass(Environment& env, IR::Program& program); |
| void ConditionalBarrierPass(IR::Program& program); |
| void ConstantPropagationPass(Environment& env, IR::Program& program); |
| void DeadCodeEliminationPass(IR::Program& program); |
| void GlobalMemoryToStorageBufferPass(IR::Program& program, const HostTranslateInfo& host_info); |
| void IdentityRemovalPass(IR::Program& program); |
| void LowerFp64ToFp32(IR::Program& program); |
| void LowerFp16ToFp32(IR::Program& program); |
| void LowerInt64ToInt32(IR::Program& program); |
| void RescalingPass(IR::Program& program); |
| void SsaRewritePass(IR::Program& program); |
| void PositionPass(Environment& env, IR::Program& program); |
| void TexturePass(Environment& env, IR::Program& program, const HostTranslateInfo& host_info); |
| void LayerPass(IR::Program& program, const HostTranslateInfo& host_info); |
| void VendorWorkaroundPass(IR::Program& program); |
| void VerificationPass(const IR::Program& program); |
|
|
| |
| void VertexATransformPass(IR::Program& program); |
| void VertexBTransformPass(IR::Program& program); |
| void JoinTextureInfo(Info& base, Info& source); |
| void JoinStorageInfo(Info& base, Info& source); |
|
|
| } |
|
|