Xlib.h header uses a very ugly define for Bool which conflicts with
SPIRV-Cross.

The hassle free solution is to use Boolean instead.
This commit is contained in:
Hans-Kristian Arntzen 2016-06-05 20:13:45 +02:00
Родитель 81a8fc1952
Коммит 5f629276a7
4 изменённых файлов: 14 добавлений и 14 удалений

Просмотреть файл

@ -160,7 +160,7 @@ struct SPIRType : IVariant
{
Unknown,
Void,
Bool,
Boolean,
Char,
Int,
UInt,

Просмотреть файл

@ -1016,7 +1016,7 @@ void Compiler::parse(const Instruction &instruction)
{
uint32_t id = ops[0];
auto &type = set<SPIRType>(id);
type.basetype = SPIRType::Bool;
type.basetype = SPIRType::Boolean;
type.width = 1;
break;
}
@ -1786,7 +1786,7 @@ size_t Compiler::get_declared_struct_member_size(const SPIRType &struct_type, ui
{
case SPIRType::Unknown:
case SPIRType::Void:
case SPIRType::Bool: // Bools are purely logical, and cannot be used for externally visible types.
case SPIRType::Boolean: // Bools are purely logical, and cannot be used for externally visible types.
case SPIRType::AtomicCounter:
case SPIRType::Image:
case SPIRType::SampledImage:

Просмотреть файл

@ -1283,7 +1283,7 @@ string CompilerGLSL::constant_expression_vector(const SPIRConstant &c, uint32_t
}
break;
case SPIRType::Bool:
case SPIRType::Boolean:
if (splat)
res += c.scalar(vector, 0) ? "true" : "false";
else
@ -1421,7 +1421,7 @@ void CompilerGLSL::emit_binary_op_cast(uint32_t result_type, uint32_t result_id,
// Special case boolean outputs since relational opcodes output booleans instead of int/uint.
bool extra_parens = true;
string expr;
if (out_type.basetype != input_type && out_type.basetype != SPIRType::Bool)
if (out_type.basetype != input_type && out_type.basetype != SPIRType::Boolean)
{
expected_type.basetype = input_type;
expr = bitcast_glsl_op(out_type, expected_type);
@ -1459,7 +1459,7 @@ void CompilerGLSL::emit_binary_func_op_cast(uint32_t result_type, uint32_t resul
// Special case boolean outputs since relational opcodes output booleans instead of int/uint.
string expr;
if (out_type.basetype != input_type && out_type.basetype != SPIRType::Bool)
if (out_type.basetype != input_type && out_type.basetype != SPIRType::Boolean)
{
expected_type.basetype = input_type;
expr = bitcast_glsl_op(out_type, expected_type);
@ -1540,7 +1540,7 @@ void CompilerGLSL::emit_mix_op(uint32_t result_type, uint32_t id, uint32_t left,
// Boolean mix not supported on desktop without extension.
// Was added in OpenGL 4.5 with ES 3.1 compat.
if (!has_boolean_mix && lerptype.basetype == SPIRType::Bool)
if (!has_boolean_mix && lerptype.basetype == SPIRType::Boolean)
{
// Could use GL_EXT_shader_integer_mix on desktop at least,
// but Apple doesn't support it. :(
@ -3982,7 +3982,7 @@ string CompilerGLSL::type_to_glsl(const SPIRType &type)
{
switch (type.basetype)
{
case SPIRType::Bool:
case SPIRType::Boolean:
return "bool";
case SPIRType::Int:
return backend.basic_int_type;
@ -4000,7 +4000,7 @@ string CompilerGLSL::type_to_glsl(const SPIRType &type)
{
switch (type.basetype)
{
case SPIRType::Bool:
case SPIRType::Boolean:
return join("bvec", type.vecsize);
case SPIRType::Int:
return join("ivec", type.vecsize);
@ -4016,7 +4016,7 @@ string CompilerGLSL::type_to_glsl(const SPIRType &type)
{
switch (type.basetype)
{
case SPIRType::Bool:
case SPIRType::Boolean:
return join("bmat", type.vecsize);
case SPIRType::Int:
return join("imat", type.vecsize);
@ -4032,7 +4032,7 @@ string CompilerGLSL::type_to_glsl(const SPIRType &type)
{
switch (type.basetype)
{
case SPIRType::Bool:
case SPIRType::Boolean:
return join("bmat", type.columns, "x", type.vecsize);
case SPIRType::Int:
return join("imat", type.columns, "x", type.vecsize);

Просмотреть файл

@ -1287,7 +1287,7 @@ string CompilerMSL::type_to_glsl(const SPIRType &type)
{
switch (type.basetype)
{
case SPIRType::Bool:
case SPIRType::Boolean:
return "bool";
case SPIRType::Char:
return "char";
@ -1307,7 +1307,7 @@ string CompilerMSL::type_to_glsl(const SPIRType &type)
{
switch (type.basetype)
{
case SPIRType::Bool:
case SPIRType::Boolean:
return join("bool", type.vecsize);
case SPIRType::Char:
return join("char", type.vecsize);
@ -1326,7 +1326,7 @@ string CompilerMSL::type_to_glsl(const SPIRType &type)
{
switch (type.basetype)
{
case SPIRType::Bool:
case SPIRType::Boolean:
case SPIRType::Int:
case SPIRType::UInt:
case SPIRType::Float: