summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/shader_ir.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-03-29 22:36:54 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-03-30 06:53:29 +0100
commitcb68ce7c2fd8f1e5516cb5a8f5a0d3445d43fd4c (patch)
tree2ed66f8f2078ba5b96b864192ab594ed4c62a574 /src/video_core/shader/shader_ir.h
parentshader_ir: Implement immediate register tracking (diff)
downloadyuzu-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.h9
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);