Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/KhronosGroup/SPIRV-Cross.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spirv_hlsl.hpp')
-rw-r--r--spirv_hlsl.hpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/spirv_hlsl.hpp b/spirv_hlsl.hpp
index e98c6443..fa3b656f 100644
--- a/spirv_hlsl.hpp
+++ b/spirv_hlsl.hpp
@@ -264,8 +264,23 @@ private:
bool requires_scalar_reflect = false;
bool requires_scalar_refract = false;
bool requires_scalar_faceforward = false;
- uint64_t required_textureSizeVariants = 0;
- void require_texture_query_variant(const SPIRType &type);
+
+ struct TextureSizeVariants
+ {
+ // MSVC 2013 workaround.
+ TextureSizeVariants()
+ {
+ srv = 0;
+ for (auto &unorm : uav)
+ for (auto &u : unorm)
+ u = 0;
+ }
+ uint64_t srv;
+ uint64_t uav[3][4];
+ } required_texture_size_variants;
+
+ void require_texture_query_variant(uint32_t var_id);
+ void emit_texture_size_variants(uint64_t variant_mask, const char *vecsize_qualifier, bool uav, const char *type_qualifier);
enum TextureQueryVariantDim
{