Lines Matching refs:access

48     * boundary in our access chain in which case alignment is meaningless.
75 ptr->access |= ACCESS_NON_UNIFORM;
84 enum gl_access_qualifier access;
100 aa->access |= ACCESS_NON_UNIFORM;
117 /* If we're adding access flags, make a copy of the pointer. We could
121 if (aa.access & ~ptr->access) {
124 copy->access |= aa.access;
312 enum gl_access_qualifier access = base->access | deref_chain->access;
377 access |= type->access;
391 * a pointer which just has a block index and a later access chain
398 ptr->access = access;
402 /* If we got here, there's more access chain to handle and we have the
463 access |= type->access;
471 ptr->access = access;
492 enum gl_access_qualifier access)
496 inout->def = nir_load_deref_with_access(&b->nb, deref, access);
498 nir_store_deref_with_access(&b->nb, deref, inout->def, ~0, access);
506 _vtn_local_load_store(b, load, child, inout->elems[i], access);
513 _vtn_local_load_store(b, load, child, inout->elems[i], access);
547 enum gl_access_qualifier access)
551 _vtn_local_load_store(b, true, src_tail, val, access);
563 nir_deref_instr *dest, enum gl_access_qualifier access)
569 _vtn_local_load_store(b, true, dest_tail, val, access);
573 _vtn_local_load_store(b, false, dest_tail, val, access);
575 _vtn_local_load_store(b, false, dest_tail, src, access);
597 enum gl_access_qualifier access,
652 ptr->type->access | access);
655 ptr->type->access | access);
659 *inout = vtn_local_load(b, deref, ptr->type->access | access);
661 vtn_local_store(b, *inout, deref, ptr->type->access | access);
681 _vtn_variable_load_store(b, load, elem, ptr->type->access | access,
688 vtn_fail("Invalid access chain type");
694 enum gl_access_qualifier access)
697 _vtn_variable_load_store(b, true, src, src->access | access, &val);
703 struct vtn_pointer *dest, enum gl_access_qualifier access)
705 _vtn_variable_load_store(b, false, dest, dest->access | access, &src);
761 vtn_fail("Invalid access chain type");
1174 var_data->access |= ACCESS_NON_READABLE;
1178 var_data->access |= ACCESS_NON_WRITEABLE;
1181 var_data->access |= ACCESS_RESTRICT;
1184 var_data->access &= ~ACCESS_RESTRICT;
1187 var_data->access |= ACCESS_VOLATILE;
1190 var_data->access |= ACCESS_COHERENT;
1375 vtn_var->access |= ACCESS_NON_WRITEABLE;
1378 vtn_var->access |= ACCESS_NON_READABLE;
1381 vtn_var->access |= ACCESS_VOLATILE;
1384 vtn_var->access |= ACCESS_COHERENT;
1859 val->pointer->access = var->type->access;
1903 var->var->data.access = var->type->access;
2110 var->var->data.access |= b->mem_model != SpvMemoryModelOpenCL ? ACCESS_RESTRICT : 0;
2116 /* Propagate access flags from the OpVariable decorations. */
2117 val->pointer->access |= var->access;
2224 unsigned *idx, SpvMemoryAccessMask *access, unsigned *alignment,
2227 *access = 0;
2232 *access = w[(*idx)++];
2233 if (*access & SpvMemoryAccessAlignedMask) {
2238 if (*access & SpvMemoryAccessMakePointerAvailableMask) {
2244 if (*access & SpvMemoryAccessMakePointerVisibleMask) {
2254 spv_access_to_gl_access(SpvMemoryAccessMask access)
2258 if (access & SpvMemoryAccessVolatileMask)
2260 if (access & SpvMemoryAccessNontemporalMask)
2290 vtn_emit_make_visible_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
2293 if (!(access & SpvMemoryAccessMakePointerVisibleMask))
2302 vtn_emit_make_available_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
2305 if (!(access & SpvMemoryAccessMakePointerAvailableMask))
2317 enum gl_access_qualifier *access = void_ptr;
2321 *access |= ACCESS_NON_UNIFORM;
2399 enum gl_access_qualifier access = 0;
2414 vtn_foreach_decoration(b, link_val, ptr_nonuniform_workaround_cb, &access);
2424 access |= base->access & ACCESS_NON_UNIFORM;
2428 ptr->access |= access;
2506 SpvMemoryAccessMask access;
2508 vtn_get_mem_operands(b, w, count, &idx, &access, &alignment, NULL, &scope);
2511 vtn_emit_make_visible_barrier(b, access, scope, src->mode);
2513 vtn_push_ssa_value(b, w[2], vtn_variable_load(b, src, spv_access_to_gl_access(access)));
2548 SpvMemoryAccessMask access;
2550 vtn_get_mem_operands(b, w, count, &idx, &access, &alignment, &scope, NULL);
2554 vtn_variable_store(b, src, dest, spv_access_to_gl_access(access));
2556 vtn_emit_make_available_barrier(b, access, scope, dest->mode);
2583 .access=ptr->access | ptr->type->access);
2599 .access=ptr->access | ptr->type->access);