fix minor spirv val
This commit is contained in:
@@ -514,21 +514,23 @@ pub(crate) fn compile_interval_function(
|
||||
float: u32,
|
||||
b: &mut rspirv::dr::Builder,
|
||||
bool: u32,
|
||||
choice: u32,
|
||||
choice_type: u32,
|
||||
glsl: u32,
|
||||
val_a: (u32, u32),
|
||||
val_b: (u32, u32),
|
||||
) -> ((u32, u32), u32) {
|
||||
let choice_left = b.constant_bit32(choice, Choice::Left as u32);
|
||||
let choice_right = b.constant_bit32(choice, Choice::Right as u32);
|
||||
let choice_both = b.constant_bit32(choice, Choice::Both as u32);
|
||||
let choice_left = b.constant_bit32(choice_type, Choice::Left as u32);
|
||||
let choice_right = b.constant_bit32(choice_type, Choice::Right as u32);
|
||||
let choice_both = b.constant_bit32(choice_type, Choice::Both as u32);
|
||||
|
||||
let alt = b.f_ord_less_than(bool, None, val_a.1, val_b.0).unwrap();
|
||||
let blt = b.f_ord_less_than(bool, None, val_b.1, val_a.0).unwrap();
|
||||
let choice = b
|
||||
.select(choice, None, alt, choice_left, choice_both)
|
||||
.select(choice_type, None, alt, choice_left, choice_both)
|
||||
.unwrap();
|
||||
let choice = b
|
||||
.select(choice_type, None, blt, choice_right, choice)
|
||||
.unwrap();
|
||||
let choice = b.select(choice, None, blt, choice_right, choice).unwrap();
|
||||
(
|
||||
(
|
||||
b.ext_inst(
|
||||
@@ -564,21 +566,23 @@ pub(crate) fn compile_interval_function(
|
||||
float: u32,
|
||||
b: &mut rspirv::dr::Builder,
|
||||
bool: u32,
|
||||
choice: u32,
|
||||
choice_type: u32,
|
||||
glsl: u32,
|
||||
val_a: (u32, u32),
|
||||
val_b: (u32, u32),
|
||||
) -> ((u32, u32), u32) {
|
||||
let choice_left = b.constant_bit32(choice, Choice::Left as u32);
|
||||
let choice_right = b.constant_bit32(choice, Choice::Right as u32);
|
||||
let choice_both = b.constant_bit32(choice, Choice::Both as u32);
|
||||
let choice_left = b.constant_bit32(choice_type, Choice::Left as u32);
|
||||
let choice_right = b.constant_bit32(choice_type, Choice::Right as u32);
|
||||
let choice_both = b.constant_bit32(choice_type, Choice::Both as u32);
|
||||
|
||||
let agt = b.f_ord_greater_than(bool, None, val_a.0, val_b.1).unwrap();
|
||||
let bgt = b.f_ord_greater_than(bool, None, val_b.0, val_a.1).unwrap();
|
||||
let choice = b
|
||||
.select(choice, None, agt, choice_left, choice_both)
|
||||
.select(choice_type, None, agt, choice_left, choice_both)
|
||||
.unwrap();
|
||||
let choice = b
|
||||
.select(choice_type, None, bgt, choice_right, choice)
|
||||
.unwrap();
|
||||
let choice = b.select(choice, None, bgt, choice_right, choice).unwrap();
|
||||
(
|
||||
(
|
||||
b.ext_inst(
|
||||
@@ -779,7 +783,9 @@ pub(crate) fn compile_interval_function(
|
||||
},
|
||||
SSAReturn => {
|
||||
let value = input_resolve(types.float, b, &mapping, instruction.inputs[0]);
|
||||
let value_vec2 = b.constant_composite(types.vec2, [value.0, value.1]);
|
||||
let value_vec2 = b
|
||||
.composite_construct(types.vec2, None, [value.0, value.1])
|
||||
.unwrap();
|
||||
b.ret_value(value_vec2).unwrap();
|
||||
},
|
||||
SSAPosition => {
|
||||
|
||||
@@ -474,7 +474,7 @@ impl SSATape {
|
||||
let void = b.type_void();
|
||||
let float = b.type_float(32);
|
||||
let bool = b.type_bool();
|
||||
let choice = b.type_int(8, 0);
|
||||
let choice = b.type_int(32, 0);
|
||||
let vec2 = b.type_vector(float, 2);
|
||||
let vec3 = b.type_vector(float, 3);
|
||||
let vec4 = b.type_vector(float, 4);
|
||||
|
||||
Reference in New Issue
Block a user