intel/ir/gen12: Add SYNC hardware instruction.
authorFrancisco Jerez <currojerez@riseup.net>
Wed, 6 Feb 2019 04:53:06 +0000 (20:53 -0800)
committerFrancisco Jerez <currojerez@riseup.net>
Fri, 11 Oct 2019 19:24:16 +0000 (12:24 -0700)
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/intel/compiler/brw_eu.cpp
src/intel/compiler/brw_eu_defines.h
src/intel/compiler/brw_shader.cpp

index a8c3e55f65f0420daca548cb07fcb5a9ade8d645..54c8511ae8dcc0d738986052bd536d73c76b4183 100644 (file)
@@ -467,6 +467,7 @@ enum gen {
 static const struct opcode_desc opcode_descs[] = {
    /* IR,                 HW,  name,      nsrc, ndst, gens */
    { BRW_OPCODE_ILLEGAL,  0,   "illegal", 0,    0,    GEN_ALL },
+   { BRW_OPCODE_SYNC,     1,   "sync",    1,    0,    GEN_GE(GEN12) },
    { BRW_OPCODE_MOV,      1,   "mov",     1,    1,    GEN_LT(GEN12) },
    { BRW_OPCODE_MOV,      97,  "mov",     1,    1,    GEN_GE(GEN12) },
    { BRW_OPCODE_SEL,      2,   "sel",     2,    1,    GEN_LT(GEN12) },
index 6250b50c691d2f467dc27ddea479501028182e99..7252e0cb4b15790145212c65fb1b9ede76aaaa50 100644 (file)
@@ -197,6 +197,7 @@ enum PACKED gen10_align1_3src_dst_horizontal_stride {
 enum opcode {
    /* These are the actual hardware instructions. */
    BRW_OPCODE_ILLEGAL,
+   BRW_OPCODE_SYNC,
    BRW_OPCODE_MOV,
    BRW_OPCODE_SEL,
    BRW_OPCODE_MOVI, /**< G45+ */
index 5c6b4dcd6a9134e50b69cd35ede30a9717eb314f..94976a12c000d5c658bbf57af6f9eeecb8e31161 100644 (file)
@@ -1042,6 +1042,7 @@ backend_instruction::has_side_effects() const
    case SHADER_OPCODE_SEND:
       return send_has_side_effects;
 
+   case BRW_OPCODE_SYNC:
    case VEC4_OPCODE_UNTYPED_ATOMIC:
    case SHADER_OPCODE_UNTYPED_ATOMIC_LOGICAL:
    case SHADER_OPCODE_UNTYPED_ATOMIC_FLOAT_LOGICAL: