diff options
author | bunnei <bunneidev@gmail.com> | 2021-11-16 18:52:11 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-16 18:52:11 -0800 |
commit | 71313509f75aeafe425e531824d1faa9e7c0a40b (patch) | |
tree | cb1df371d288677fcede6a3409eb079e0d278163 /src/shader_recompiler/backend/spirv/emit_spirv.h | |
parent | 3154773c000ca9c40a217a7de55ad62d4c110e2b (diff) | |
parent | 1c8a3d8d2916e8d43808c9b4e75c756f162890e8 (diff) |
Merge pull request #7219 from FernandoS27/aristotles-right-testicle
Project A.R.T. Advanced Rendering Techniques
Diffstat (limited to 'src/shader_recompiler/backend/spirv/emit_spirv.h')
-rw-r--r-- | src/shader_recompiler/backend/spirv/emit_spirv.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_spirv.h b/src/shader_recompiler/backend/spirv/emit_spirv.h index db0c935fe..4b25534ce 100644 --- a/src/shader_recompiler/backend/spirv/emit_spirv.h +++ b/src/shader_recompiler/backend/spirv/emit_spirv.h @@ -16,6 +16,19 @@ namespace Shader::Backend::SPIRV { +constexpr u32 NUM_TEXTURE_SCALING_WORDS = 4; +constexpr u32 NUM_IMAGE_SCALING_WORDS = 2; +constexpr u32 NUM_TEXTURE_AND_IMAGE_SCALING_WORDS = + NUM_TEXTURE_SCALING_WORDS + NUM_IMAGE_SCALING_WORDS; + +struct RescalingLayout { + alignas(16) std::array<u32, NUM_TEXTURE_SCALING_WORDS> rescaling_textures; + alignas(16) std::array<u32, NUM_IMAGE_SCALING_WORDS> rescaling_images; + alignas(16) u32 down_factor; +}; +constexpr u32 RESCALING_LAYOUT_WORDS_OFFSET = offsetof(RescalingLayout, rescaling_textures); +constexpr u32 RESCALING_LAYOUT_DOWN_FACTOR_OFFSET = offsetof(RescalingLayout, down_factor); + [[nodiscard]] std::vector<u32> EmitSPIRV(const Profile& profile, const RuntimeInfo& runtime_info, IR::Program& program, Bindings& bindings); |