--- src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 15 +++++++++++++++ src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp | 17 ++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index db4d42c..003b2b8 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -3177,6 +3177,21 @@ fs_visitor::visit(ir_call *ir) !strcmp("__intrinsic_atomic_predecrement", callee)) { brw::visit_atomic_counter_intrinsic(this, bld, ir); + } else if (!strcmp("__intrinsic_image_load", callee) || + !strcmp("__intrinsic_image_store", callee) || + !strcmp("__intrinsic_image_atomic_add", callee) || + !strcmp("__intrinsic_image_atomic_min", callee) || + !strcmp("__intrinsic_image_atomic_max", callee) || + !strcmp("__intrinsic_image_atomic_and", callee) || + !strcmp("__intrinsic_image_atomic_or", callee) || + !strcmp("__intrinsic_image_atomic_xor", callee) || + !strcmp("__intrinsic_image_atomic_exchange", callee) || + !strcmp("__intrinsic_image_atomic_comp_swap", callee)) { + brw::visit_image_intrinsic(this, bld, ir); + + } else if (!strcmp("__intrinsic_memory_barrier", callee)) { + brw::visit_barrier_intrinsic(this, bld, ir); + } else { unreachable("Unsupported intrinsic."); } diff --git a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp index 90cf583..93dc78e 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp @@ -2447,7 +2447,22 @@ vec4_visitor::visit(ir_call *ir) !strcmp("__intrinsic_atomic_predecrement", callee)) { brw::visit_atomic_counter_intrinsic(this, bld, ir); - } else { + } else if (!strcmp("__intrinsic_image_load", callee) || + !strcmp("__intrinsic_image_store", callee) || + !strcmp("__intrinsic_image_atomic_add", callee) || + !strcmp("__intrinsic_image_atomic_min", callee) || + !strcmp("__intrinsic_image_atomic_max", callee) || + !strcmp("__intrinsic_image_atomic_and", callee) || + !strcmp("__intrinsic_image_atomic_or", callee) || + !strcmp("__intrinsic_image_atomic_xor", callee) || + !strcmp("__intrinsic_image_atomic_exchange", callee) || + !strcmp("__intrinsic_image_atomic_comp_swap", callee)) { + brw::visit_image_intrinsic(this, bld, ir); + + } else if (!strcmp("__intrinsic_memory_barrier", callee)) { + brw::visit_barrier_intrinsic(this, bld, ir); + + } else { unreachable("Unsupported intrinsic."); } } -- 2.3.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev