i965: Switch to NIR for ldexp lowering.
The old GLSL IR based lowering doesn't quite work right in all cases, and fails several dEQP-GLES31 and Vulkan CTS tests. Jason's new approach in NIR passes all the tests. There's not likely to be a ton of advantage to lowering early in GLSL IR anyway, so...switch. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Matt Turner <mattst88@gmail.com>
This commit is contained in:
parent
4455bfa9a0
commit
505a8fbdf8
|
@ -289,6 +289,7 @@ ir_channel_expressions_visitor::visit_leave(ir_assignment *ir)
|
|||
case ir_binop_gequal:
|
||||
case ir_binop_equal:
|
||||
case ir_binop_nequal:
|
||||
case ir_binop_ldexp:
|
||||
for (i = 0; i < vector_elements; i++) {
|
||||
ir_rvalue *op0 = get_element(op_var[0], i);
|
||||
ir_rvalue *op1 = get_element(op_var[1], i);
|
||||
|
@ -404,7 +405,6 @@ ir_channel_expressions_visitor::visit_leave(ir_assignment *ir)
|
|||
case ir_unop_unpack_unorm_2x16:
|
||||
case ir_unop_unpack_unorm_4x8:
|
||||
case ir_unop_unpack_half_2x16:
|
||||
case ir_binop_ldexp:
|
||||
case ir_binop_vector_extract:
|
||||
case ir_triop_vector_insert:
|
||||
case ir_quadop_vector:
|
||||
|
|
|
@ -110,7 +110,6 @@ process_glsl_ir(gl_shader_stage stage,
|
|||
SUB_TO_ADD_NEG |
|
||||
EXP_TO_EXP2 |
|
||||
LOG_TO_LOG2 |
|
||||
LDEXP_TO_ARITH |
|
||||
CARRY_TO_ARITH |
|
||||
BORROW_TO_ARITH);
|
||||
|
||||
|
|
Loading…
Reference in New Issue