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:
authorHans-Kristian Arntzen <post@arntzen-software.no>2020-01-08 15:05:56 +0300
committerHans-Kristian Arntzen <post@arntzen-software.no>2020-01-08 15:05:56 +0300
commitca9398c12249fad14a5022007e330c962527053c (patch)
tree178e9e1c4756ef50a5065011a465d5fca887a27d /spirv_hlsl.hpp
parentb522b409ae27b256a7d6d96dbab6b1e38c65590e (diff)
HLSL: Support loading complex composites from ByteAddressBuffer.
Diffstat (limited to 'spirv_hlsl.hpp')
-rw-r--r--spirv_hlsl.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/spirv_hlsl.hpp b/spirv_hlsl.hpp
index b0db688b..105bf06c 100644
--- a/spirv_hlsl.hpp
+++ b/spirv_hlsl.hpp
@@ -182,7 +182,9 @@ private:
void emit_sampled_image_op(uint32_t result_type, uint32_t result_id, uint32_t image_id, uint32_t samp_id) override;
void emit_access_chain(const Instruction &instruction);
void emit_load(const Instruction &instruction);
- std::string read_access_chain(const SPIRAccessChain &chain);
+ void read_access_chain(std::string *expr, const std::string &lhs, const SPIRAccessChain &chain);
+ void read_access_chain_struct(const std::string &lhs, const SPIRAccessChain &chain);
+ void read_access_chain_array(const std::string &lhs, const SPIRAccessChain &chain);
void write_access_chain(const SPIRAccessChain &chain, uint32_t value);
void emit_store(const Instruction &instruction);
void emit_atomic(const uint32_t *ops, uint32_t length, spv::Op op);
@@ -257,6 +259,9 @@ private:
std::vector<RootConstants> root_constants_layout;
void validate_shader_model();
+
+ std::string get_unique_identifier();
+ uint32_t unique_identifier_count = 0;
};
} // namespace SPIRV_CROSS_NAMESPACE