i965/vec4/nir: add nir_intrinsic_memory_barrier support
Fix OpenGL ES 3.1 conformance tests: advanced-readWrite-case1-vsfs and advanced-matrix-vsfs. v2: - Fix SHADER_OPCODE_MEMORY_FENCE emission and the allocation of 'tmp' (Francisco). Signed-off-by: Samuel Iglesias Gonsalvez <siglesias@igalia.com> Tested-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net>
This commit is contained in:
parent
f24e5e68d6
commit
023165a734
|
@ -921,6 +921,15 @@ vec4_visitor::nir_emit_intrinsic(nir_intrinsic_instr *instr)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case nir_intrinsic_memory_barrier: {
|
||||||
|
const vec4_builder bld =
|
||||||
|
vec4_builder(this).at_end().annotate(current_annotation, base_ir);
|
||||||
|
const dst_reg tmp = bld.vgrf(BRW_REGISTER_TYPE_UD, 2);
|
||||||
|
bld.emit(SHADER_OPCODE_MEMORY_FENCE, tmp)
|
||||||
|
->regs_written = 2;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
unreachable("Unknown intrinsic");
|
unreachable("Unknown intrinsic");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue