Module: Mesa Branch: master Commit: 23bfba8663cadeb5167c0b30d9b64cf01a913911 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23bfba8663cadeb5167c0b30d9b64cf01a913911
Author: Rhys Perry <pendingchao...@gmail.com> Date: Wed May 6 15:04:14 2020 +0100 spirv: implement MakePointerAvailable/MakePointerVisible for OpCopyMemory Signed-off-by: Rhys Perry <pendingchao...@gmail.com> Reviewed-by: Boris Brezillon <boris.brezil...@collabora.com> Reviewed-by: Jason Ekstrand <ja...@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6090> --- src/compiler/spirv/vtn_variables.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/compiler/spirv/vtn_variables.c b/src/compiler/spirv/vtn_variables.c index b3948351670..6de4ceffb82 100644 --- a/src/compiler/spirv/vtn_variables.c +++ b/src/compiler/spirv/vtn_variables.c @@ -2626,7 +2626,22 @@ vtn_handle_variables(struct vtn_builder *b, SpvOp opcode, vtn_assert_types_equal(b, opcode, dest->type->deref, src->type->deref); + unsigned idx = 3, dest_alignment, src_alignment; + SpvMemoryAccessMask dest_access, src_access; + SpvScope dest_scope, src_scope; + vtn_get_mem_operands(b, w, count, &idx, &dest_access, &dest_alignment, + &dest_scope, &src_scope); + if (!vtn_get_mem_operands(b, w, count, &idx, &src_access, &src_alignment, + NULL, &src_scope)) { + src_alignment = dest_alignment; + src_access = dest_access; + } + + vtn_emit_make_visible_barrier(b, src_access, src_scope, src->pointer->mode); + vtn_variable_copy(b, dest->pointer, src->pointer); + + vtn_emit_make_available_barrier(b, dest_access, dest_scope, dest->pointer->mode); break; } _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit