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
464 access |= type->access;
472 ptr->access = access;
493 enum gl_access_qualifier access)
497 inout->def = nir_load_deref_with_access(&b->nb, deref, access);
499 nir_store_deref_with_access(&b->nb, deref, inout->def, ~0, access);
507 _vtn_local_load_store(b, load, child, inout->elems[i], access);
514 _vtn_local_load_store(b, load, child, inout->elems[i], access);
548 enum gl_access_qualifier access)
552 _vtn_local_load_store(b, true, src_tail, val, access);
564 nir_deref_instr *dest, enum gl_access_qualifier access)
570 _vtn_local_load_store(b, true, dest_tail, val, access);
574 _vtn_local_load_store(b, false, dest_tail, val, access);
576 _vtn_local_load_store(b, false, dest_tail, src, access);
598 enum gl_access_qualifier access,
654 ptr->type->access | access);
657 ptr->type->access | access);
661 *inout = vtn_local_load(b, deref, ptr->type->access | access);
663 vtn_local_store(b, *inout, deref, ptr->type->access | access);
683 _vtn_variable_load_store(b, load, elem, ptr->type->access | access,
690 vtn_fail("Invalid access chain type");
696 enum gl_access_qualifier access)
699 _vtn_variable_load_store(b, true, src, src->access | access, &val);
705 struct vtn_pointer *dest, enum gl_access_qualifier access)
707 _vtn_variable_load_store(b, false, dest, dest->access | access, &src);
763 vtn_fail("Invalid access chain type");
1199 var_data->access |= ACCESS_NON_READABLE;
1203 var_data->access |= ACCESS_NON_WRITEABLE;
1206 var_data->access |= ACCESS_RESTRICT;
1209 var_data->access &= ~ACCESS_RESTRICT;
1212 var_data->access |= ACCESS_VOLATILE;
1215 var_data->access |= ACCESS_COHERENT;
1390 vtn_var->access |= ACCESS_NON_WRITEABLE;
1393 vtn_var->access |= ACCESS_NON_READABLE;
1396 vtn_var->access |= ACCESS_VOLATILE;
1399 vtn_var->access |= ACCESS_COHERENT;
1910 val->pointer->access = var->type->access;
1956 var->var->data.access = var->type->access;
2154 var->var->data.access |= b->mem_model != SpvMemoryModelOpenCL ? ACCESS_RESTRICT : 0;
2160 /* Propagate access flags from the OpVariable decorations. */
2161 val->pointer->access |= var->access;
2269 unsigned *idx, SpvMemoryAccessMask *access, unsigned *alignment,
2272 *access = 0;
2277 *access = w[(*idx)++];
2278 if (*access & SpvMemoryAccessAlignedMask) {
2283 if (*access & SpvMemoryAccessMakePointerAvailableMask) {
2289 if (*access & SpvMemoryAccessMakePointerVisibleMask) {
2299 spv_access_to_gl_access(SpvMemoryAccessMask access)
2303 if (access & SpvMemoryAccessVolatileMask)
2305 if (access & SpvMemoryAccessNontemporalMask)
2335 vtn_emit_make_visible_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
2338 if (!(access & SpvMemoryAccessMakePointerVisibleMask))
2347 vtn_emit_make_available_barrier(struct vtn_builder *b, SpvMemoryAccessMask access,
2350 if (!(access & SpvMemoryAccessMakePointerAvailableMask))
2362 enum gl_access_qualifier *access = void_ptr;
2366 *access |= ACCESS_NON_UNIFORM;
2444 enum gl_access_qualifier access = 0;
2459 vtn_foreach_decoration(b, link_val, ptr_nonuniform_workaround_cb, &access);
2471 access |= base->access & ACCESS_NON_UNIFORM;
2475 ptr->access |= access;
2553 SpvMemoryAccessMask access;
2555 vtn_get_mem_operands(b, w, count, &idx, &access, &alignment, NULL, &scope);
2558 vtn_emit_make_visible_barrier(b, access, scope, src->mode);
2560 vtn_push_ssa_value(b, w[2], vtn_variable_load(b, src, spv_access_to_gl_access(access)));
2595 SpvMemoryAccessMask access;
2597 vtn_get_mem_operands(b, w, count, &idx, &access, &alignment, &scope, NULL);
2601 vtn_variable_store(b, src, dest, spv_access_to_gl_access(access));
2603 vtn_emit_make_available_barrier(b, access, scope, dest->mode);
2630 .access=ptr->access | ptr->type->access);
2646 .access=ptr->access | ptr->type->access);