Home
last modified time | relevance | path

Searched refs:staging (Results 1 - 25 of 45) sorted by relevance

12

/third_party/mesa3d/src/gallium/drivers/virgl/
H A Dvirgl_staging_mgr.c35 virgl_staging_alloc_buffer(struct virgl_staging_mgr *staging, unsigned min_size) in virgl_staging_alloc_buffer() argument
37 struct virgl_winsys *vws = staging->vws; in virgl_staging_alloc_buffer()
42 vws->resource_reference(vws, &staging->hw_res, NULL); in virgl_staging_alloc_buffer()
46 size = align(MAX2(staging->default_size, min_size), 4096); in virgl_staging_alloc_buffer()
48 staging->hw_res = vws->resource_create(vws, in virgl_staging_alloc_buffer()
61 if (staging->hw_res == NULL) in virgl_staging_alloc_buffer()
64 staging->map = vws->resource_map(vws, staging->hw_res); in virgl_staging_alloc_buffer()
65 if (staging->map == NULL) { in virgl_staging_alloc_buffer()
66 vws->resource_reference(vws, &staging in virgl_staging_alloc_buffer()
77 virgl_staging_init(struct virgl_staging_mgr *staging, struct pipe_context *pipe, unsigned default_size) virgl_staging_init() argument
87 virgl_staging_destroy(struct virgl_staging_mgr *staging) virgl_staging_destroy() argument
94 virgl_staging_alloc(struct virgl_staging_mgr *staging, unsigned size, unsigned alignment, unsigned *out_offset, struct virgl_hw_res **outbuf, void **ptr) virgl_staging_alloc() argument
[all...]
H A Dvirgl_staging_mgr.h25 /* virgl staging buffer manager, heavily inspired by u_upload_mgr. */
40 unsigned default_size; /* Minimum size of the staging buffer, in bytes. */
42 unsigned size; /* Current staging buffer size. */
43 uint8_t *map; /* Pointer to the mapped staging buffer. */
48 * Init the staging manager.
50 * \param staging Pointer to the staging manager to initialize.
52 * \param default_size Minimum size of the staging buffer, in bytes.
55 virgl_staging_init(struct virgl_staging_mgr *staging, struct pipe_context *pipe,
59 * Destroy the staging manage
[all...]
H A Dvirgl_context.h84 struct virgl_staging_mgr staging; member
102 /* The total size of staging resources used in queued copy transfers. */
/third_party/mesa3d/src/gallium/drivers/virgl/tests/
H A Dvirgl_staging_mgr_test.cpp132 virgl_staging_init(&staging, ctx, staging_size); in VirglStagingMgr()
137 virgl_staging_destroy(&staging); in ~VirglStagingMgr()
143 struct virgl_staging_mgr staging; member in VirglStagingMgr
169 virgl_staging_alloc(&staging, alloc_sizes[i], alignment, &out_offset, in TEST_P()
202 virgl_staging_alloc(&staging, staging_size - 1, 1, &out_offset, in TEST_F()
211 virgl_staging_alloc(&staging, 2, 1, &out_offset, in TEST_F()
234 virgl_staging_alloc(&staging, staging_size - 1, 1, &out_offset, in TEST_F()
243 virgl_staging_alloc(&staging, 1, 16, &out_offset, in TEST_F()
268 virgl_staging_alloc(&staging, 5123, 1, &out_offset, in TEST_F()
278 virgl_staging_alloc(&staging, 1934 in TEST_F()
[all...]
/third_party/mesa3d/src/gallium/drivers/r600/
H A Dr600_buffer_common.c283 void *data, struct r600_resource *staging, in r600_buffer_get_transfer()
298 transfer->staging = staging; in r600_buffer_get_transfer()
342 * So don't ever use staging buffers. in r600_buffer_transfer_map()
392 struct r600_resource *staging = NULL; in r600_buffer_transfer_map() local
397 &offset, (struct pipe_resource**)&staging, in r600_buffer_transfer_map()
400 if (staging) { in r600_buffer_transfer_map()
403 ptransfer, data, staging, offset); in r600_buffer_transfer_map()
412 /* Use a staging buffer in cached GTT for reads. */ in r600_buffer_transfer_map()
419 struct r600_resource *staging; in r600_buffer_transfer_map() local
278 r600_buffer_get_transfer(struct pipe_context *ctx, struct pipe_resource *resource, unsigned usage, const struct pipe_box *box, struct pipe_transfer **ptransfer, void *data, struct r600_resource *staging, unsigned offset) r600_buffer_get_transfer() argument
[all...]
H A Dr600_texture.c133 /* Copy from a full GPU texture to a transfer's staging one. */
138 struct pipe_resource *dst = &rtransfer->staging->b.b; in r600_copy_to_staging_texture()
151 /* Copy from a transfer's staging texture to a full GPU one. */
157 struct pipe_resource *src = &rtransfer->staging->b.b; in r600_copy_from_staging_texture()
1151 struct r600_texture **staging) in r600_init_flushed_depth_texture()
1155 struct r600_texture **flushed_depth_texture = staging ? in r600_init_flushed_depth_texture()
1156 staging : &rtex->flushed_depth_texture; in r600_init_flushed_depth_texture()
1159 if (!staging) { in r600_init_flushed_depth_texture()
1201 resource.usage = staging ? PIPE_USAGE_STAGING : PIPE_USAGE_DEFAULT; in r600_init_flushed_depth_texture()
1205 if (staging) in r600_init_flushed_depth_texture()
1149 r600_init_flushed_depth_texture(struct pipe_context *ctx, struct pipe_resource *texture, struct r600_texture **staging) r600_init_flushed_depth_texture() argument
1423 struct r600_texture *staging; r600_texture_transfer_map() local
[all...]
H A Dr600_blit.c115 struct r600_texture *staging, in r600_blit_decompress_depth()
122 struct r600_texture *flushed_depth_texture = staging ? in r600_blit_decompress_depth()
123 staging : texture->flushed_depth_texture; in r600_blit_decompress_depth()
128 if (!staging && !texture->dirty_level_mask) in r600_blit_decompress_depth()
155 if (!staging && !(texture->dirty_level_mask & (1 << level))) in r600_blit_decompress_depth()
195 if (!staging && in r600_blit_decompress_depth()
113 r600_blit_decompress_depth(struct pipe_context *ctx, struct r600_texture *texture, struct r600_texture *staging, unsigned first_level, unsigned last_level, unsigned first_layer, unsigned last_layer, unsigned first_sample, unsigned last_sample) r600_blit_decompress_depth() argument
/third_party/mesa3d/src/panfrost/bifrost/valhall/
H A Dva_lower_constants.c112 va_resolve_constant(bi_builder *b, uint32_t value, struct va_src_info info, bool is_signed, bool staging) in va_resolve_constant() argument
115 if (!staging) { in va_resolve_constant()
134 if (!staging && info.swizzle && info.size == VA_SIZE_16 && replicated_halves) { in va_resolve_constant()
146 if (!staging && (info.widen || info.lanes) && in va_resolve_constant()
154 if (!staging && info.widen && in va_resolve_constant()
162 if (!staging && info.swizzle && info.size == VA_SIZE_32) { in va_resolve_constant()
187 bool staging = (s < valhall_opcodes[I->op].nr_staging_srcs); in va_lower_constants() local
221 bi_index cons = va_resolve_constant(&b, value, info, is_signed, staging); in va_lower_constants()
H A Dvalhall.py184 def __init__(self, name, opcode, opcode2, srcs = [], dests = [], immediates = [], modifiers = [], staging = None, unit = None):
192 self.staging = staging
218 assert(len(dests) == 0 or not staging)
296 # Get staging registers
297 staging = [build_staging(i, el) for i, el in enumerate(el.findall('sr'))]
309 instr = Instruction(name, opcode, opcode2, srcs = sources, dests = dests, immediates = imms, modifiers = modifiers, staging = staging, unit = unit)
H A Dasm.py172 expected_op_count = len(ins.srcs) + len(ins.dests) + len(ins.immediates) + len(ins.staging)
177 for i, (op, sr) in enumerate(zip(operands, ins.staging)):
178 die_if(op[0] != '@', f'Expected staging register, got {op}')
191 die_if(sr_count > max_sr_count, f'Too many staging registers {sr_count}')
195 'Expected consecutive staging registers, got {op}')
197 'Consecutive staging registers must be aligned to a register pair')
206 die_if(sr_count != sr.count, f"Expected {sr.count} staging registers, got {sr_count}")
209 operands = operands[len(ins.staging):]
215 if len(ins.dests) == 0 and len(ins.staging) == 0:
/third_party/mesa3d/src/gallium/auxiliary/util/
H A Du_transfer_helper.c87 void *staging; /* staging buffer */ member
88 struct pipe_resource *ss; /* staging resource for MSAA resolves */
170 * pctx->transfer_map() to map the staging resource, to handle cases of
276 trans->staging = malloc(ptrans->layer_stride); in u_transfer_helper_transfer_map()
277 if (!trans->staging) in u_transfer_helper_transfer_map()
293 util_format_z32_float_s8x24_uint_pack_z_float(trans->staging, in u_transfer_helper_transfer_map()
298 util_format_z32_float_s8x24_uint_pack_s_8uint(trans->staging, in u_transfer_helper_transfer_map()
306 util_format_z24_unorm_s8_uint_pack_separate(trans->staging, in u_transfer_helper_transfer_map()
325 util_format_rgtc1_unorm_pack_rgba_8unorm(trans->staging, in u_transfer_helper_transfer_map()
[all...]
/third_party/mesa3d/src/gallium/drivers/radeonsi/
H A Dsi_buffer.c316 struct si_resource *staging, unsigned offset) in si_buffer_get_transfer()
332 transfer->staging = staging; in si_buffer_get_transfer()
357 * So don't ever use staging buffers. in si_buffer_transfer_map()
415 struct si_resource *staging = NULL; in si_buffer_transfer_map() local
429 (struct pipe_resource **)&staging, (void **)&data); in si_buffer_transfer_map()
431 if (staging) { in si_buffer_transfer_map()
433 return si_buffer_get_transfer(ctx, resource, usage, box, ptransfer, data, staging, in si_buffer_transfer_map()
443 /* Use a staging buffer in cached GTT for reads. */ in si_buffer_transfer_map()
447 struct si_resource *staging; in si_buffer_transfer_map() local
313 si_buffer_get_transfer(struct pipe_context *ctx, struct pipe_resource *resource, unsigned usage, const struct pipe_box *box, struct pipe_transfer **ptransfer, void *data, struct si_resource *staging, unsigned offset) si_buffer_get_transfer() argument
[all...]
H A Dsi_texture.c86 /* Copy from a full GPU texture to a transfer's staging one. */
90 struct pipe_resource *dst = &stransfer->staging->b.b; in si_copy_to_staging_texture()
103 /* Copy from a transfer's staging texture to a full GPU one. */
108 struct pipe_resource *src = &stransfer->staging->b.b; in si_copy_from_staging_texture()
1846 /* Depth and sparse textures use staging unconditionally. */ in si_texture_transfer_map()
1850 * On dGPUs, the staging texture is always faster. in si_texture_transfer_map()
1861 * access. The staging texture is always linear and is placed in GART. in si_texture_transfer_map()
1863 * dGPU use a staging texture for VRAM, so that we don't map it and in si_texture_transfer_map()
1866 * Reading from VRAM or GTT WC is slow, always use the staging in si_texture_transfer_map()
1869 * Use the staging textur in si_texture_transfer_map()
1900 struct si_texture *staging; si_texture_transfer_map() local
[all...]
/third_party/mesa3d/src/gallium/drivers/etnaviv/
H A Detnaviv_transfer.c132 } else if (trans->staging) { in etna_transfer_unmap()
140 trans->staging + z * ptrans->layer_stride, in etna_transfer_unmap()
150 trans->staging, ptrans->stride, in etna_transfer_unmap()
156 FREE(trans->staging); in etna_transfer_unmap()
445 trans->staging = MALLOC(size); in etna_transfer_map()
446 if (!trans->staging) in etna_transfer_map()
452 etna_texture_untile(trans->staging + z * ptrans->layer_stride, in etna_transfer_map()
459 util_copy_box(trans->staging, rsc->base.format, ptrans->stride, in etna_transfer_map()
471 return trans->staging; in etna_transfer_map()
/third_party/mesa3d/src/gallium/drivers/panfrost/
H A Dpan_resource.c313 /* AFBC<-->staging is expensive */ in panfrost_should_afbc()
790 * the 3D pipe for this. Let's wrap u_blitter to blit to/from staging textures.
850 blit.src.resource = trans->staging.rsrc; in pan_blit_from_staging()
851 blit.src.format = pan_blit_format(trans->staging.rsrc->format); in pan_blit_from_staging()
853 blit.src.box = trans->staging.box; in pan_blit_from_staging()
870 blit.dst.resource = trans->staging.rsrc; in pan_blit_to_staging()
871 blit.dst.format = pan_blit_format(trans->staging.rsrc->format); in pan_blit_to_staging()
873 blit.dst.box = trans->staging.box; in pan_blit_to_staging()
979 /* We don't have s/w routines for AFBC, so use a staging texture */ in panfrost_ptr_map()
981 struct panfrost_resource *staging in panfrost_ptr_map() local
[all...]
H A Dpan_resource.h110 } staging; member
/third_party/ffmpeg/libavutil/
H A Dhwcontext_d3d11va.c371 av_log(ctx, AV_LOG_ERROR, "Could not create the staging texture (%lx)\n", (long)hr); in d3d11va_create_staging_texture()
403 ID3D11Resource *staging; in d3d11va_transfer_data() local
424 staging = (ID3D11Resource *)s->staging_texture; in d3d11va_transfer_data()
430 staging, 0, 0, 0, 0, in d3d11va_transfer_data()
434 staging, 0, D3D11_MAP_READ, 0, &map); in d3d11va_transfer_data()
443 ID3D11DeviceContext_Unmap(device_hwctx->device_context, staging, 0); in d3d11va_transfer_data()
446 staging, 0, D3D11_MAP_WRITE, 0, &map); in d3d11va_transfer_data()
455 ID3D11DeviceContext_Unmap(device_hwctx->device_context, staging, 0); in d3d11va_transfer_data()
459 staging, 0, NULL); in d3d11va_transfer_data()
/third_party/skia/third_party/externals/dawn/src/dawn_native/null/
H A DDeviceNull.cpp85 destination->CopyFromStaging(staging, sourceOffset, destinationOffset, size); in Execute()
88 StagingBufferBase* staging; member
207 operation->staging = source; in CopyFromStagingToBuffer()
300 // staging buffer. in IsCPUWritableAtCreation()
308 void Buffer::CopyFromStaging(StagingBufferBase* staging, in CopyFromStaging() argument
312 uint8_t* ptr = reinterpret_cast<uint8_t*>(staging->GetMappedPointer()); in CopyFromStaging()
/third_party/mesa3d/src/gallium/drivers/lima/
H A Dlima_resource.c667 trans->staging = malloc(ptrans->stride * ptrans->box.height * ptrans->box.depth); in lima_transfer_map()
677 trans->staging + i * ptrans->stride * ptrans->box.height, in lima_transfer_map()
686 return trans->staging; in lima_transfer_map()
750 if (trans->staging) { in lima_transfer_flush_region()
765 trans->staging + i * ptrans->stride * ptrans->box.height, in lima_transfer_flush_region()
781 trans->staging + i * ptrans->stride * ptrans->box.height, in lima_transfer_flush_region()
803 if (trans->staging) in lima_transfer_unmap()
804 free(trans->staging); in lima_transfer_unmap()
905 .staging = (void *)data, in lima_texture_subdata()
952 * using staging buffe in lima_resource_context_init()
[all...]
H A Dlima_resource.h74 void *staging; member
/third_party/skia/third_party/externals/oboe/
H A Dbuild_all_android.sh44 STAGING_DIR=staging
/third_party/ffmpeg/libavfilter/
H A Dvaf_spectrumsynth.c460 AVFrame **staging[2] = { &s->magnitude, &s->phase }; in activate() local
467 if (*staging[i]) in activate()
469 ret = ff_inlink_consume_frame(ctx->inputs[i], staging[i]); in activate()
488 if (!*staging[i]) in activate()
/third_party/mesa3d/src/gallium/drivers/crocus/
H A Dcrocus_resource.c197 /* Use linear for staging buffers */ in crocus_resource_configure_main()
258 * Don't create staging surfaces that will use > half the aperture in crocus_resource_configure_main()
259 * since staging implies you are sending to another resource, in crocus_resource_configure_main()
1206 /* Account for extra alignment padding in staging buffer */ in crocus_flush_staging_region()
1220 dst_box.x, dst_box.y, dst_box.z, map->staging, 0, in crocus_flush_staging_region()
1227 crocus_resource_destroy(map->staging->screen, map->staging); in crocus_unmap_copy_region()
1261 map->staging = crocus_resource_create(pscreen, &templ); in crocus_map_copy_region()
1262 assert(map->staging); in crocus_map_copy_region()
1265 struct isl_surf *surf = &((struct crocus_resource *) map->staging) in crocus_map_copy_region()
[all...]
/third_party/mesa3d/src/panfrost/bifrost/
H A Dbi_packer.c.py37 # compiler IR when dealing with staging registers (TODO: reorder in the IR to
224 # Pack sources. Offset over to deal with staging/immediate weirdness in our
227 staging = states[0][1].get("staging", "")
229 if staging in ["r", "rw"]:
H A Dbifrost_isa.py132 'staging': ins.attrib.get('staging', '').split('=')[0],
133 'staging_count': ins.attrib.get('staging', '=0').split('=')[1],
243 'staging': ins['staging'],
270 assert(s['staging'] == variants[0]['staging'])
284 'staging': variants[0]['staging'],
344 # staging registe
[all...]

Completed in 39 milliseconds

12