diff options
author | Nguyen Dac Nam <nam.kazt.91@gmail.com> | 2020-02-18 21:34:01 +0700 |
---|---|---|
committer | namkazy <nam.kazt.91@gmail.com> | 2020-02-19 08:39:01 +0700 |
commit | f6f0762e81c45faa6293cbb1f0be0b0d9a4b7a7b (patch) | |
tree | 1ca8d76aa9cb1aa76e2035916b4a143427fe38be /src | |
parent | 72d4c6fee0eed8bad5686f1db6043446900020d9 (diff) |
vk_shader: Implement function ImageLoad (Used by Kirby Start Allies)
Please enter the commit message for your changes. Lines starting
Diffstat (limited to 'src')
-rw-r--r-- | src/video_core/renderer_vulkan/vk_shader_decompiler.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp index 24a658dce..070c98eef 100644 --- a/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp +++ b/src/video_core/renderer_vulkan/vk_shader_decompiler.cpp @@ -1748,8 +1748,12 @@ private: } Expression ImageLoad(Operation operation) { - UNIMPLEMENTED(); - return {}; + const auto& meta{std::get<MetaImage>(operation.GetMeta())}; + + const Id coords = GetCoordinates(operation, Type::Int); + const Id texel = OpImageRead(t_uint4, GetImage(operation), coords); + + return {OpCompositeExtract(t_uint, texel, meta.element), Type::Uint}; } Expression ImageStore(Operation operation) { |