Download include/spirv_cross/spirv_cpp.hpp from MNghia/soft_gripper_envs: direct link, hf CLI and curl.
- Browser
- Download file 2.64 kB
-
https://huggingface.co/MNghia/soft_gripper_envs/resolve/main/include/spirv_cross/spirv_cpp.hpp
- Command line
-
hf download hf://MNghia/soft_gripper_envs/include/spirv_cross/spirv_cpp.hpp
-
curl -L -o spirv_cpp.hpp https://huggingface.co/MNghia/soft_gripper_envs/resolve/main/include/spirv_cross/spirv_cpp.hpp
2.64 kB
| /* | |
| * Copyright 2015-2021 Arm Limited | |
| * SPDX-License-Identifier: Apache-2.0 OR MIT | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| */ | |
| /* | |
| * At your option, you may choose to accept this material under either: | |
| * 1. The Apache License, Version 2.0, found at <http://www.apache.org/licenses/LICENSE-2.0>, or | |
| * 2. The MIT License, found at <http://opensource.org/licenses/MIT>. | |
| */ | |
| namespace SPIRV_CROSS_NAMESPACE | |
| { | |
| class CompilerCPP : public CompilerGLSL | |
| { | |
| public: | |
| explicit CompilerCPP(std::vector<uint32_t> spirv_) | |
| : CompilerGLSL(std::move(spirv_)) | |
| { | |
| } | |
| CompilerCPP(const uint32_t *ir_, size_t word_count) | |
| : CompilerGLSL(ir_, word_count) | |
| { | |
| } | |
| explicit CompilerCPP(const ParsedIR &ir_) | |
| : CompilerGLSL(ir_) | |
| { | |
| } | |
| explicit CompilerCPP(ParsedIR &&ir_) | |
| : CompilerGLSL(std::move(ir_)) | |
| { | |
| } | |
| std::string compile() override; | |
| // Sets a custom symbol name that can override | |
| // spirv_cross_get_interface. | |
| // | |
| // Useful when several shader interfaces are linked | |
| // statically into the same binary. | |
| void set_interface_name(std::string name) | |
| { | |
| interface_name = std::move(name); | |
| } | |
| private: | |
| void emit_header() override; | |
| void emit_c_linkage(); | |
| void emit_function_prototype(SPIRFunction &func, const Bitset &return_flags) override; | |
| void emit_resources(); | |
| void emit_buffer_block(const SPIRVariable &type) override; | |
| void emit_push_constant_block(const SPIRVariable &var) override; | |
| void emit_interface_block(const SPIRVariable &type); | |
| void emit_block_chain(SPIRBlock &block); | |
| void emit_uniform(const SPIRVariable &var) override; | |
| void emit_shared(const SPIRVariable &var); | |
| void emit_block_struct(SPIRType &type); | |
| std::string variable_decl(const SPIRType &type, const std::string &name, uint32_t id) override; | |
| std::string argument_decl(const SPIRFunction::Parameter &arg); | |
| SmallVector<std::string> resource_registrations; | |
| std::string impl_type; | |
| std::string resource_type; | |
| uint32_t shared_counter = 0; | |
| std::string interface_name; | |
| }; | |
| } // namespace SPIRV_CROSS_NAMESPACE | |