glsl: Add support for lowering SSBO float atomics
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
This commit is contained in:
parent
280ab4afa8
commit
39bf3100ac
|
@ -970,7 +970,8 @@ lower_ubo_reference_visitor::lower_ssbo_atomic_intrinsic(ir_call *ir)
|
|||
inst->ir_type == ir_type_swizzle);
|
||||
|
||||
ir_rvalue *deref = (ir_rvalue *) inst;
|
||||
assert(deref->type->is_scalar() && deref->type->is_integer());
|
||||
assert(deref->type->is_scalar() &&
|
||||
(deref->type->is_integer() || deref->type->is_float()));
|
||||
|
||||
ir_variable *var = deref->variable_referenced();
|
||||
assert(var);
|
||||
|
@ -1016,8 +1017,7 @@ lower_ubo_reference_visitor::lower_ssbo_atomic_intrinsic(ir_call *ir)
|
|||
ir_variable(glsl_type::uint_type, "offset" , ir_var_function_in);
|
||||
sig_params.push_tail(sig_param);
|
||||
|
||||
const glsl_type *type = deref->type->base_type == GLSL_TYPE_INT ?
|
||||
glsl_type::int_type : glsl_type::uint_type;
|
||||
const glsl_type *type = deref->type->get_scalar_type();
|
||||
sig_param = new(mem_ctx)
|
||||
ir_variable(type, "data1", ir_var_function_in);
|
||||
sig_params.push_tail(sig_param);
|
||||
|
|
Loading…
Reference in New Issue