GLSL: Deal correctly with bitwidth on integer compares.
This commit is contained in:
parent
b960ae3b70
commit
3bf9fa7ed6
@ -8913,7 +8913,7 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
|
||||
case OpUGreaterThan:
|
||||
case OpSGreaterThan:
|
||||
{
|
||||
auto type = opcode == OpUGreaterThan ? SPIRType::UInt : SPIRType::Int;
|
||||
auto type = opcode == OpUGreaterThan ? uint_type : int_type;
|
||||
if (expression_type(ops[2]).vecsize > 1)
|
||||
GLSL_BFOP_CAST(greaterThan, type);
|
||||
else
|
||||
@ -8933,7 +8933,7 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
|
||||
case OpUGreaterThanEqual:
|
||||
case OpSGreaterThanEqual:
|
||||
{
|
||||
auto type = opcode == OpUGreaterThanEqual ? SPIRType::UInt : SPIRType::Int;
|
||||
auto type = opcode == OpUGreaterThanEqual ? uint_type : int_type;
|
||||
if (expression_type(ops[2]).vecsize > 1)
|
||||
GLSL_BFOP_CAST(greaterThanEqual, type);
|
||||
else
|
||||
@ -8953,7 +8953,7 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
|
||||
case OpULessThan:
|
||||
case OpSLessThan:
|
||||
{
|
||||
auto type = opcode == OpULessThan ? SPIRType::UInt : SPIRType::Int;
|
||||
auto type = opcode == OpULessThan ? uint_type : int_type;
|
||||
if (expression_type(ops[2]).vecsize > 1)
|
||||
GLSL_BFOP_CAST(lessThan, type);
|
||||
else
|
||||
@ -8973,7 +8973,7 @@ void CompilerGLSL::emit_instruction(const Instruction &instruction)
|
||||
case OpULessThanEqual:
|
||||
case OpSLessThanEqual:
|
||||
{
|
||||
auto type = opcode == OpULessThanEqual ? SPIRType::UInt : SPIRType::Int;
|
||||
auto type = opcode == OpULessThanEqual ? uint_type : int_type;
|
||||
if (expression_type(ops[2]).vecsize > 1)
|
||||
GLSL_BFOP_CAST(lessThanEqual, type);
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user