aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader/shader_ir.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-09-14 00:45:51 -0400
committerGitHub <noreply@github.com>2019-09-14 00:45:51 -0400
commit3cc27e4ddaf6a8c7449b2c2b7c8d9aa7fbf248ad (patch)
tree3e6e0e818e952a038fbe10262bf39cf6d52eaa61 /src/video_core/shader/shader_ir.h
parent34b2c60f95c964354f00546385684fc9c8726d76 (diff)
parent36abf67e79b234a361b99a342391249095ccd79c (diff)
Merge pull request #2757 from ReinUsesLisp/suatom
shader/image: Implement SUATOM and fix SUST
Diffstat (limited to 'src/video_core/shader/shader_ir.h')
-rw-r--r--src/video_core/shader/shader_ir.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/video_core/shader/shader_ir.h b/src/video_core/shader/shader_ir.h
index 0f891eace..62816bd56 100644
--- a/src/video_core/shader/shader_ir.h
+++ b/src/video_core/shader/shader_ir.h
@@ -272,10 +272,16 @@ private:
bool is_shadow);
/// Accesses an image.
- Image& GetImage(Tegra::Shader::Image image, Tegra::Shader::ImageType type);
+ Image& GetImage(Tegra::Shader::Image image, Tegra::Shader::ImageType type,
+ std::optional<Tegra::Shader::ImageAtomicSize> size = {});
/// Access a bindless image sampler.
- Image& GetBindlessImage(Tegra::Shader::Register reg, Tegra::Shader::ImageType type);
+ Image& GetBindlessImage(Tegra::Shader::Register reg, Tegra::Shader::ImageType type,
+ std::optional<Tegra::Shader::ImageAtomicSize> size = {});
+
+ /// Tries to access an existing image, updating it's state as needed
+ Image* TryUseExistingImage(u64 offset, Tegra::Shader::ImageType type,
+ std::optional<Tegra::Shader::ImageAtomicSize> size);
/// Extracts a sequence of bits from a node
Node BitfieldExtract(Node value, u32 offset, u32 bits);