diff options
| author | bunnei <bunneidev@gmail.com> | 2019-09-14 00:45:51 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-14 00:45:51 -0400 |
| commit | 3cc27e4ddaf6a8c7449b2c2b7c8d9aa7fbf248ad (patch) | |
| tree | 3e6e0e818e952a038fbe10262bf39cf6d52eaa61 /src/video_core/shader/shader_ir.h | |
| parent | 34b2c60f95c964354f00546385684fc9c8726d76 (diff) | |
| parent | 36abf67e79b234a361b99a342391249095ccd79c (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.h | 10 |
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); |
