Update spirv-tools and add spirv-headers
This commit is contained in:
parent
9abfc52b77
commit
753911146b
|
@ -34,3 +34,6 @@
|
||||||
[submodule "third_party/yaml-cpp"]
|
[submodule "third_party/yaml-cpp"]
|
||||||
path = third_party/yaml-cpp
|
path = third_party/yaml-cpp
|
||||||
url = https://github.com/jbeder/yaml-cpp.git
|
url = https://github.com/jbeder/yaml-cpp.git
|
||||||
|
[submodule "third_party/spirv-headers"]
|
||||||
|
path = third_party/spirv-headers
|
||||||
|
url = https://github.com/KhronosGroup/SPIRV-Headers
|
||||||
|
|
|
@ -50,7 +50,8 @@ size_t SpirvAssembler::Result::word_count() const {
|
||||||
return binary_ ? binary_->wordCount : 0;
|
return binary_ ? binary_->wordCount : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SpirvAssembler::SpirvAssembler() : spv_context_(spvContextCreate()) {}
|
SpirvAssembler::SpirvAssembler()
|
||||||
|
: spv_context_(spvContextCreate(SPV_ENV_VULKAN_1_0)) {}
|
||||||
|
|
||||||
SpirvAssembler::~SpirvAssembler() { spvContextDestroy(spv_context_); }
|
SpirvAssembler::~SpirvAssembler() { spvContextDestroy(spv_context_); }
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,8 @@ void SpirvDisassembler::Result::AppendText(StringBuffer* target_buffer) const {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SpirvDisassembler::SpirvDisassembler() : spv_context_(spvContextCreate()) {}
|
SpirvDisassembler::SpirvDisassembler()
|
||||||
|
: spv_context_(spvContextCreate(SPV_ENV_VULKAN_1_0)) {}
|
||||||
|
|
||||||
SpirvDisassembler::~SpirvDisassembler() { spvContextDestroy(spv_context_); }
|
SpirvDisassembler::~SpirvDisassembler() { spvContextDestroy(spv_context_); }
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,8 @@
|
||||||
#ifndef XENIA_UI_SPIRV_SPIRV_UTIL_H_
|
#ifndef XENIA_UI_SPIRV_SPIRV_UTIL_H_
|
||||||
#define XENIA_UI_SPIRV_SPIRV_UTIL_H_
|
#define XENIA_UI_SPIRV_SPIRV_UTIL_H_
|
||||||
|
|
||||||
|
#include "third_party/spirv-headers/include/spirv/1.1/spirv.hpp11"
|
||||||
#include "third_party/spirv/GLSL.std.450.hpp11"
|
#include "third_party/spirv/GLSL.std.450.hpp11"
|
||||||
#include "third_party/spirv/spirv.hpp11"
|
|
||||||
|
|
||||||
// Forward declarations from SPIRV-Tools so we don't pollute /so/ much.
|
// Forward declarations from SPIRV-Tools so we don't pollute /so/ much.
|
||||||
struct spv_binary_t;
|
struct spv_binary_t;
|
||||||
|
|
|
@ -53,7 +53,8 @@ void SpirvValidator::Result::AppendText(StringBuffer* target_buffer) const {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
SpirvValidator::SpirvValidator() : spv_context_(spvContextCreate()) {}
|
SpirvValidator::SpirvValidator()
|
||||||
|
: spv_context_(spvContextCreate(SPV_ENV_UNIVERSAL_1_1)) {}
|
||||||
SpirvValidator::~SpirvValidator() { spvContextDestroy(spv_context_); }
|
SpirvValidator::~SpirvValidator() { spvContextDestroy(spv_context_); }
|
||||||
|
|
||||||
std::unique_ptr<SpirvValidator::Result> SpirvValidator::Validate(
|
std::unique_ptr<SpirvValidator::Result> SpirvValidator::Validate(
|
||||||
|
@ -61,8 +62,7 @@ std::unique_ptr<SpirvValidator::Result> SpirvValidator::Validate(
|
||||||
spv_text text = nullptr;
|
spv_text text = nullptr;
|
||||||
spv_diagnostic diagnostic = nullptr;
|
spv_diagnostic diagnostic = nullptr;
|
||||||
spv_const_binary_t binary = {words, word_count};
|
spv_const_binary_t binary = {words, word_count};
|
||||||
auto result_code =
|
auto result_code = spvValidate(spv_context_, &binary, &diagnostic);
|
||||||
spvValidate(spv_context_, &binary, SPV_VALIDATE_ALL, &diagnostic);
|
|
||||||
std::unique_ptr<Result> result(new Result(text, diagnostic));
|
std::unique_ptr<Result> result(new Result(text, diagnostic));
|
||||||
if (result_code) {
|
if (result_code) {
|
||||||
XELOGE("Failed to validate spv: %d", result_code);
|
XELOGE("Failed to validate spv: %d", result_code);
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 34d319db9d6cefe93191b921f5f1593378a98c4c
|
|
@ -1 +1 @@
|
||||||
Subproject commit 4d2f2239bf896dc14127e25011f41ac79d687052
|
Subproject commit 327bc49a2d811ce3c8b3443c2624f1f807965c62
|
|
@ -9,14 +9,30 @@ project("spirv-tools")
|
||||||
"_LIB",
|
"_LIB",
|
||||||
})
|
})
|
||||||
includedirs({
|
includedirs({
|
||||||
"spirv-tools/external/include",
|
"spirv-headers/include",
|
||||||
"spirv-tools/include",
|
"spirv-tools/include",
|
||||||
|
"spirv-tools/source",
|
||||||
})
|
})
|
||||||
files({
|
files({
|
||||||
"spirv-tools/include/spirv/GLSL.std.450.h",
|
|
||||||
"spirv-tools/include/spirv/OpenCL.std.h",
|
|
||||||
"spirv-tools/include/spirv/spirv.h",
|
|
||||||
"spirv-tools/include/spirv-tools/libspirv.h",
|
"spirv-tools/include/spirv-tools/libspirv.h",
|
||||||
|
-- "spirv-tools/source/opt/basic_block.h",
|
||||||
|
-- "spirv-tools/source/opt/function.cpp",
|
||||||
|
-- "spirv-tools/source/opt/function.h",
|
||||||
|
-- "spirv-tools/source/opt/instruction.cpp",
|
||||||
|
-- "spirv-tools/source/opt/instruction.h",
|
||||||
|
-- "spirv-tools/source/opt/ir_loader.cpp",
|
||||||
|
-- "spirv-tools/source/opt/ir_loader.h",
|
||||||
|
-- "spirv-tools/source/opt/module.cpp",
|
||||||
|
-- "spirv-tools/source/opt/module.h",
|
||||||
|
-- "spirv-tools/source/opt/reflect.h",
|
||||||
|
"spirv-tools/source/val/BasicBlock.cpp",
|
||||||
|
"spirv-tools/source/val/BasicBlock.h",
|
||||||
|
"spirv-tools/source/val/Construct.cpp",
|
||||||
|
"spirv-tools/source/val/Construct.h",
|
||||||
|
"spirv-tools/source/val/Function.cpp",
|
||||||
|
"spirv-tools/source/val/Function.h",
|
||||||
|
"spirv-tools/source/val/ValidationState.cpp",
|
||||||
|
"spirv-tools/source/val/ValidationState.h",
|
||||||
"spirv-tools/source/assembly_grammar.cpp",
|
"spirv-tools/source/assembly_grammar.cpp",
|
||||||
"spirv-tools/source/assembly_grammar.h",
|
"spirv-tools/source/assembly_grammar.h",
|
||||||
"spirv-tools/source/binary.cpp",
|
"spirv-tools/source/binary.cpp",
|
||||||
|
@ -28,19 +44,20 @@ project("spirv-tools")
|
||||||
"spirv-tools/source/ext_inst.h",
|
"spirv-tools/source/ext_inst.h",
|
||||||
"spirv-tools/source/instruction.cpp",
|
"spirv-tools/source/instruction.cpp",
|
||||||
"spirv-tools/source/instruction.h",
|
"spirv-tools/source/instruction.h",
|
||||||
|
"spirv-tools/source/macro.h",
|
||||||
"spirv-tools/source/opcode.cpp",
|
"spirv-tools/source/opcode.cpp",
|
||||||
"spirv-tools/source/opcode.h",
|
"spirv-tools/source/opcode.h",
|
||||||
"spirv-tools/source/opcode.inc",
|
|
||||||
"spirv-tools/source/opencl_std_ext_inst.inc",
|
|
||||||
"spirv-tools/source/operand.cpp",
|
"spirv-tools/source/operand.cpp",
|
||||||
"spirv-tools/source/operand.h",
|
"spirv-tools/source/operand.h",
|
||||||
"spirv-tools/source/print.cpp",
|
"spirv-tools/source/print.cpp",
|
||||||
"spirv-tools/source/print.h",
|
"spirv-tools/source/print.h",
|
||||||
|
-- "spirv-tools/source/software_version.cpp",
|
||||||
"spirv-tools/source/spirv_constant.h",
|
"spirv-tools/source/spirv_constant.h",
|
||||||
"spirv-tools/source/spirv_definition.h",
|
"spirv-tools/source/spirv_definition.h",
|
||||||
"spirv-tools/source/spirv_endian.cpp",
|
"spirv-tools/source/spirv_endian.cpp",
|
||||||
"spirv-tools/source/spirv_endian.h",
|
"spirv-tools/source/spirv_endian.h",
|
||||||
"spirv-tools/source/spirv_operands.h",
|
"spirv-tools/source/spirv_target_env.cpp",
|
||||||
|
"spirv-tools/source/spirv_target_env.h",
|
||||||
"spirv-tools/source/table.cpp",
|
"spirv-tools/source/table.cpp",
|
||||||
"spirv-tools/source/table.h",
|
"spirv-tools/source/table.h",
|
||||||
"spirv-tools/source/text.cpp",
|
"spirv-tools/source/text.cpp",
|
||||||
|
@ -53,9 +70,7 @@ project("spirv-tools")
|
||||||
"spirv-tools/source/validate_id.cpp",
|
"spirv-tools/source/validate_id.cpp",
|
||||||
"spirv-tools/source/validate_instruction.cpp",
|
"spirv-tools/source/validate_instruction.cpp",
|
||||||
"spirv-tools/source/validate_layout.cpp",
|
"spirv-tools/source/validate_layout.cpp",
|
||||||
"spirv-tools/source/validate_passes.h",
|
|
||||||
"spirv-tools/source/validate_ssa.cpp",
|
"spirv-tools/source/validate_ssa.cpp",
|
||||||
"spirv-tools/source/validate_types.cpp",
|
|
||||||
"spirv-tools/source/util/bitutils.h",
|
"spirv-tools/source/util/bitutils.h",
|
||||||
"spirv-tools/source/util/hex_float.h",
|
"spirv-tools/source/util/hex_float.h",
|
||||||
})
|
})
|
||||||
|
|
Loading…
Reference in New Issue