merge checkpoint 2 - functional merge without q4_0_4_4 (need regen shaders)

This commit is contained in:
Concedo 2024-12-13 17:04:19 +08:00
commit de64b9198c
218 changed files with 175736 additions and 49778 deletions

View file

@ -20,7 +20,7 @@
#include <string>
#include <vector>
#include "spirv-tools/libspirv.h"
#include "libspirv.h"
namespace spvtools {
@ -37,7 +37,7 @@ using InstructionParser =
std::function<spv_result_t(const spv_parsed_instruction_t& instruction)>;
// C++ RAII wrapper around the C context object spv_context.
class Context {
class SPIRV_TOOLS_EXPORT Context {
public:
// Constructs a context targeting the given environment |env|.
//
@ -73,7 +73,7 @@ class Context {
};
// A RAII wrapper around a validator options object.
class ValidatorOptions {
class SPIRV_TOOLS_EXPORT ValidatorOptions {
public:
ValidatorOptions() : options_(spvValidatorOptionsCreate()) {}
~ValidatorOptions() { spvValidatorOptionsDestroy(options_); }
@ -163,7 +163,7 @@ class ValidatorOptions {
};
// A C++ wrapper around an optimization options object.
class OptimizerOptions {
class SPIRV_TOOLS_EXPORT OptimizerOptions {
public:
OptimizerOptions() : options_(spvOptimizerOptionsCreate()) {}
~OptimizerOptions() { spvOptimizerOptionsDestroy(options_); }
@ -205,7 +205,7 @@ class OptimizerOptions {
};
// A C++ wrapper around a reducer options object.
class ReducerOptions {
class SPIRV_TOOLS_EXPORT ReducerOptions {
public:
ReducerOptions() : options_(spvReducerOptionsCreate()) {}
~ReducerOptions() { spvReducerOptionsDestroy(options_); }
@ -236,7 +236,7 @@ class ReducerOptions {
};
// A C++ wrapper around a fuzzer options object.
class FuzzerOptions {
class SPIRV_TOOLS_EXPORT FuzzerOptions {
public:
FuzzerOptions() : options_(spvFuzzerOptionsCreate()) {}
~FuzzerOptions() { spvFuzzerOptionsDestroy(options_); }
@ -283,7 +283,7 @@ class FuzzerOptions {
// provides methods for assembling, disassembling, and validating.
//
// Instances of this class provide basic thread-safety guarantee.
class SpirvTools {
class SPIRV_TOOLS_EXPORT SpirvTools {
public:
enum {
// Default assembling option used by assemble():
@ -388,7 +388,8 @@ class SpirvTools {
bool IsValid() const;
private:
struct Impl; // Opaque struct for holding the data fields used by this class.
struct SPIRV_TOOLS_LOCAL
Impl; // Opaque struct for holding the data fields used by this class.
std::unique_ptr<Impl> impl_; // Unique pointer to implementation data.
};