Lines Matching defs:offset
47 /* Convert byte offset to address of appropriate width for GPU */
68 /* src[] = { buffer_index, offset }. No const_index */
74 struct ir3_instruction *ldgb, *src0, *src1, *byte_offset, *offset;
79 offset = ir3_get_src(ctx, &intr->src[2])[0];
81 /* src0 is uvec2(offset*4, 0), src1 is offset.. nir already *= 4: */
83 src1 = offset;
96 /* src[] = { value, block_index, offset }. const_index[] = { write_mask } */
101 struct ir3_instruction *stgb, *src0, *src1, *src2, *byte_offset, *offset;
110 offset = ir3_get_src(ctx, &intr->src[3])[0];
112 /* src0 is value, src1 is offset, src2 is uvec2(offset*4, 0)..
116 src1 = offset;
140 * 1: The byte offset into the SSBO buffer of the variable that the atomic
145 * Non-CompSwap: The dword offset into the SSBO buffer variable.
146 * 4: CompSwap: The dword offset into the SSBO buffer variable.
149 * so we can have the dword offset generated in NIR.
161 /* 64b byte offset */
164 /* dword offset for everything but comp_swap */
225 struct ir3_instruction *offset;
229 /* to calculate the byte offset (yes, uggg) we need (up to) three
244 /* offset = coords.x * bytes_per_pixel: */
246 offset = ir3_MUL_S24(b, coords[0], 0, create_uniform(b, cb + 3), 0);
248 offset = ir3_MUL_S24(b, coords[0], 0, create_uniform(b, cb + 0), 0);
250 /* offset += coords.y * y_pitch: */
251 offset =
252 ir3_MAD_S24(b, create_uniform(b, cb + 1), 0, coords[1], 0, offset, 0);
255 /* offset += coords.z * z_pitch: */
256 offset =
257 ir3_MAD_S24(b, create_uniform(b, cb + 2), 0, coords[2], 0, offset, 0);
262 offset = ir3_ADD_U(b, offset, 0, create_uniform(b, cb + 0), 0);
265 /* Some cases, like atomics, seem to use dword offset instead
269 offset = ir3_SHR_B(b, offset, 0, create_immed(b, 2), 0);
273 return ir3_collect(b, offset, create_immed(b, 0));
275 return offset;
286 struct ir3_instruction *offset = get_image_offset(ctx, intr, coords, true);
300 b, ibo, 0, offset, 0, ir3_create_collect(b, coords, ncoords), 0);
303 b, ibo, 0, offset, 0, ir3_create_collect(b, coords, ncoords), 0);
331 struct ir3_instruction *stib, *offset;
341 * src2 is 64b byte offset
344 offset = get_image_offset(ctx, intr, coords, true);
346 /* NOTE: stib seems to take byte offset, but stgb.typed can be used
347 * too and takes a dword offset.. not quite sure yet why blob uses
352 ir3_create_collect(b, coords, ncoords), 0, offset, 0);
375 * src2 is 64b byte offset