diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-03-29 22:36:54 +0100 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-03-30 06:53:29 +0100 |
commit | cb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c (patch) | |
tree | 2ed66f8f2078ba5b96b864192ab594ed4c62a574 /src/video_core/shader/shader_ir.h | |
parent | shader_ir: Implement immediate register tracking (diff) | |
download | yuzu-cb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c.tar yuzu-cb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c.tar.gz yuzu-cb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c.tar.bz2 yuzu-cb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c.tar.lz yuzu-cb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c.tar.xz yuzu-cb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c.tar.zst yuzu-cb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c.zip |
Diffstat (limited to 'src/video_core/shader/shader_ir.h')
-rw-r--r-- | src/video_core/shader/shader_ir.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/video_core/shader/shader_ir.h b/src/video_core/shader/shader_ir.h index 7a4a231dc..4888998d3 100644 --- a/src/video_core/shader/shader_ir.h +++ b/src/video_core/shader/shader_ir.h @@ -291,6 +291,7 @@ struct MetaTexture { const Sampler& sampler; Node array{}; Node depth_compare{}; + std::vector<Node> aoffi; Node bias{}; Node lod{}; Node component{}; @@ -742,14 +743,14 @@ private: Node4 GetTexCode(Tegra::Shader::Instruction instr, Tegra::Shader::TextureType texture_type, Tegra::Shader::TextureProcessMode process_mode, bool depth_compare, - bool is_array); + bool is_array, bool is_aoffi); Node4 GetTexsCode(Tegra::Shader::Instruction instr, Tegra::Shader::TextureType texture_type, Tegra::Shader::TextureProcessMode process_mode, bool depth_compare, bool is_array); Node4 GetTld4Code(Tegra::Shader::Instruction instr, Tegra::Shader::TextureType texture_type, - bool depth_compare, bool is_array); + bool depth_compare, bool is_array, bool is_aoffi); Node4 GetTldsCode(Tegra::Shader::Instruction instr, Tegra::Shader::TextureType texture_type, bool is_array); @@ -758,9 +759,11 @@ private: Tegra::Shader::TextureType texture_type, bool depth_compare, bool is_array, bool lod_bias_enabled, std::size_t max_coords, std::size_t max_inputs); + std::vector<Node> GetAoffiCoordinates(Node aoffi_reg, std::size_t coord_count, bool is_tld4); + Node4 GetTextureCode(Tegra::Shader::Instruction instr, Tegra::Shader::TextureType texture_type, Tegra::Shader::TextureProcessMode process_mode, std::vector<Node> coords, - Node array, Node depth_compare, u32 bias_offset); + Node array, Node depth_compare, u32 bias_offset, std::vector<Node> aoffi); Node GetVideoOperand(Node op, bool is_chunk, bool is_signed, Tegra::Shader::VideoType type, u64 byte_height); |