Home
last modified time | relevance | path

Searched refs:gmem (Results 1 - 25 of 28) sorted by relevance

12

/third_party/mesa3d/src/gallium/drivers/freedreno/
H A Dfreedreno_gmem.c83 * meant to be the minimal set of data that results in a unique gmem
84 * configuration, avoiding multiple keys arriving at the same gmem
89 * max_scissor which would result in the same gmem state, do not
134 dump_gmem_state(const struct fd_gmem_stateobj *gmem) in dump_gmem_state() argument
137 printf("GMEM LAYOUT: bin=%ux%u, nbins=%ux%u\n", gmem->bin_w, gmem->bin_h, in dump_gmem_state()
138 gmem->nbins_x, gmem->nbins_y); in dump_gmem_state()
139 for (int i = 0; i < ARRAY_SIZE(gmem->cbuf_base); i++) { in dump_gmem_state()
140 if (!gmem in dump_gmem_state()
171 layout_gmem(struct gmem_key *key, uint32_t nbins_x, uint32_t nbins_y, struct fd_gmem_stateobj *gmem) layout_gmem() argument
221 calc_nbins(struct gmem_key *key, struct fd_gmem_stateobj *gmem) calc_nbins() argument
279 struct fd_gmem_stateobj *gmem = gmem_stateobj_init() local
458 __fd_gmem_destroy(struct fd_gmem_stateobj *gmem) __fd_gmem_destroy() argument
548 struct fd_gmem_stateobj *gmem = NULL; lookup_gmem_state() local
757 struct fd_gmem_stateobj *gmem = lookup_gmem_state(batch, false, false); fd_gmem_render_tiles() local
792 struct fd_gmem_stateobj *gmem = lookup_gmem_state(batch, !!pfb->zsbuf, true); fd_gmem_estimate_bins_per_pipe() local
[all...]
H A Dgmemtool.c32 /* NOTE, non-interesting gmem keys (ie. things that are small enough to fit
179 struct fd_gmem_stateobj *gmem = gmem_stateobj_init(&screen, &key); in main() local
180 dump_gmem_state(gmem); in main()
182 assert((gmem->bin_w * gmem->nbins_x) >= key.width); in main()
183 assert((gmem->bin_h * gmem->nbins_y) >= key.height); in main()
184 assert(gmem->bin_w < screen.info->tile_max_w); in main()
185 assert(gmem->bin_h < screen.info->tile_max_h); in main()
187 ralloc_free(gmem); in main()
[all...]
H A Dfreedreno_gmem.h70 void __fd_gmem_destroy(struct fd_gmem_stateobj *gmem);
73 fd_gmem_reference(struct fd_gmem_stateobj **ptr, struct fd_gmem_stateobj *gmem) in fd_gmem_reference() argument
77 if (pipe_reference(&(*ptr)->reference, &gmem->reference)) in fd_gmem_reference()
80 *ptr = gmem; in fd_gmem_reference()
H A Dfreedreno_batch.c67 batch->gmem = alloc_ring(batch, 0x1000, FD_RINGBUFFER_PRIMARY); in batch_init()
70 batch->gmem = alloc_ring(batch, 0x100000, FD_RINGBUFFER_PRIMARY); in batch_init()
154 fd_ringbuffer_del(batch->gmem); in cleanup_submit()
H A Dfreedreno_batch.h49 * ringbuffers used for binning, draw, and gmem cmds, list of associated
83 * to gmem.
113 * rendering, the appropriate gmem state is looked up:
147 * Pointer only valid during gmem emit code.
163 * mem2gmem/gmem2mem) to avoid needlessly moving data in/out of gmem.
184 * know the gmem layout:
203 /** tiling/gmem (IB0) cmdstream: */
204 struct fd_ringbuffer *gmem; member
/third_party/mesa3d/src/gallium/drivers/freedreno/a5xx/
H A Dfd5_gmem.c47 struct pipe_surface **bufs, const struct fd_gmem_stateobj *gmem) in emit_mrt()
62 if (gmem) { in emit_mrt()
85 if (gmem) { in emit_mrt()
86 stride = gmem->bin_w * gmem->cbuf_cpp[i]; in emit_mrt()
87 size = stride * gmem->bin_h; in emit_mrt()
88 base = gmem->cbuf_base[i]; in emit_mrt()
104 COND(gmem, in emit_mrt()
109 if (gmem || (i >= nr_bufs) || !bufs[i]) { in emit_mrt()
135 const struct fd_gmem_stateobj *gmem) in emit_zs()
46 emit_mrt(struct fd_ringbuffer *ring, unsigned nr_bufs, struct pipe_surface **bufs, const struct fd_gmem_stateobj *gmem) emit_mrt() argument
134 emit_zs(struct fd_ringbuffer *ring, struct pipe_surface *zsbuf, const struct fd_gmem_stateobj *gmem) emit_zs() argument
264 const struct fd_gmem_stateobj *gmem = batch->gmem_state; use_hw_binning() local
300 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
343 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
458 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
510 const struct fd_gmem_stateobj *gmem = batch->gmem_state; emit_mem2gmem_surf() local
568 const struct fd_gmem_stateobj *gmem = batch->gmem_state; fd5_emit_tile_mem2gmem() local
610 const struct fd_gmem_stateobj *gmem = batch->gmem_state; fd5_emit_tile_renderprep() local
676 const struct fd_gmem_stateobj *gmem = batch->gmem_state; fd5_emit_tile_gmem2mem() local
[all...]
/third_party/mesa3d/src/gallium/drivers/freedreno/a4xx/
H A Dfd4_gmem.c147 const struct fd_gmem_stateobj *gmem = batch->gmem_state; in use_hw_binning() local
154 if (gmem->minx || gmem->miny) in use_hw_binning()
157 if ((gmem->maxpw * gmem->maxph) > 32) in use_hw_binning()
160 if ((gmem->maxpw > 15) || (gmem->maxph > 15)) in use_hw_binning()
163 return fd_binning_enabled && ((gmem->nbins_x * gmem->nbins_y) > 2); in use_hw_binning()
166 /* transfer from gmem t
213 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
346 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
577 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
614 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
680 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
724 const struct fd_gmem_stateobj *gmem = batch->gmem_state; fd4_emit_tile_prep() local
776 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
[all...]
/third_party/mesa3d/src/gallium/drivers/freedreno/a2xx/
H A Dfd2_gmem.c66 const struct fd_gmem_stateobj *gmem = batch->gmem_state; in use_hw_binning() local
71 * gmem->num_vsc_pipes == 0 means empty batch (TODO: does it still happen?) in use_hw_binning()
73 if (gmem->num_vsc_pipes > 8 || !gmem->num_vsc_pipes) in use_hw_binning()
82 return fd_binning_enabled && ((gmem->nbins_x * gmem->nbins_y) > 2); in use_hw_binning()
85 /* transfer from gmem to system memory (ie. normal RAM) */
140 const struct fd_gmem_stateobj *gmem = batch->gmem_state; variable
197 OUT_RING(ring, fui((float)gmem->bin_w / 2.0f)); /* XSCALE */
198 OUT_RING(ring, fui((float)gmem
285 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
491 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
[all...]
/third_party/mesa3d/src/gallium/drivers/freedreno/a3xx/
H A Dfd3_gmem.c144 const struct fd_gmem_stateobj *gmem = batch->gmem_state; in use_hw_binning() local
160 if (gmem->minx || gmem->miny) in use_hw_binning()
163 if ((gmem->maxpw * gmem->maxph) > 32) in use_hw_binning()
166 if ((gmem->maxpw > 15) || (gmem->maxph > 15)) in use_hw_binning()
169 return fd_binning_enabled && ((gmem->nbins_x * gmem->nbins_y) > 2); in use_hw_binning()
178 const struct fd_gmem_stateobj *gmem variable
381 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
564 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
796 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
828 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
956 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
1011 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
[all...]
/third_party/mesa3d/src/gallium/drivers/freedreno/a6xx/
H A Dfd6_gmem.c75 const struct fd_gmem_stateobj *gmem) in emit_mrt()
105 uint32_t base = gmem ? gmem->cbuf_base[i] : 0; in emit_mrt()
158 const struct fd_gmem_stateobj *gmem) in emit_zs()
165 uint32_t base = gmem ? gmem->zsbuf_base[0] : 0; in emit_zs()
207 uint32_t base = gmem ? gmem->zsbuf_base[1] : 0; in emit_zs()
247 const struct fd_gmem_stateobj *gmem = batch->gmem_state; in use_hw_binning() local
249 if ((gmem in use_hw_binning()
74 emit_mrt(struct fd_ringbuffer *ring, struct pipe_framebuffer_state *pfb, const struct fd_gmem_stateobj *gmem) emit_mrt() argument
157 emit_zs(struct fd_ringbuffer *ring, struct pipe_surface *zsbuf, const struct fd_gmem_stateobj *gmem) emit_zs() argument
264 const struct fd_gmem_stateobj *gmem = batch->gmem_state; patch_fb_read_gmem() local
402 const struct fd_gmem_stateobj *gmem = batch->gmem_state; update_vsc_pipe() local
481 const struct fd_gmem_stateobj *gmem = batch->gmem_state; emit_vsc_overflow_test() local
686 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
803 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
908 const struct fd_gmem_stateobj *gmem = batch->gmem_state; fd6_emit_tile_prep() local
948 const struct fd_gmem_stateobj *gmem = batch->gmem_state; fd6_emit_tile_prep() local
1048 const struct fd_gmem_stateobj *gmem = batch->gmem_state; emit_clears() local
1207 const struct fd_gmem_stateobj *gmem = batch->gmem_state; emit_restore_blits() local
1391 const struct fd_gmem_stateobj *gmem = batch->gmem_state; global() variable
[all...]
H A Dfd6_blitter.c833 const struct fd_gmem_stateobj *gmem = batch->gmem_state; in fd6_resolve_tile() local
835 uint32_t gmem_pitch = gmem->bin_w * batch->framebuffer.samples * in fd6_resolve_tile()
/third_party/mesa3d/src/freedreno/decode/scripts/
H A Dparse-submits.lua20 function push_mrt(fmt, w, h, samples, base, flag, gmem)
30 mrt.gmem = gmem
142 if cleared[mrt.gmem] then
145 if restored[mrt.gmem] then
148 if resolved[mrt.gmem] then
/third_party/mesa3d/src/gallium/drivers/nouveau/nv50/
H A Dnv50_compute.c380 struct nv50_gmem_state *gmem = &nv50->compprog->cp.gmem[i]; in nv50_compute_validate_surfaces() local
386 if (gmem->valid && !gmem->image && nv50->buffers[gmem->slot].buffer) { in nv50_compute_validate_surfaces()
387 struct pipe_shader_buffer *buffer = &nv50->buffers[gmem->slot]; in nv50_compute_validate_surfaces()
405 } else if (gmem->valid && gmem->image && nv50->images[gmem->slot].resource) { in nv50_compute_validate_surfaces()
406 struct pipe_image_view *view = &nv50->images[gmem in nv50_compute_validate_surfaces()
[all...]
H A Dnv50_program.h112 struct nv50_gmem_state gmem[NV50_MAX_GLOBALS]; member
H A Dnv50_program.c446 prog->cp.gmem[i] = (struct nv50_gmem_state){ in nv50_program_translate()
447 .valid = info_out.prop.cp.gmem[i].valid, in nv50_program_translate()
448 .image = info_out.prop.cp.gmem[i].image, in nv50_program_translate()
449 .slot = info_out.prop.cp.gmem[i].slot in nv50_program_translate()
/third_party/libdrm/freedreno/msm/
H A Dmsm_pipe.c61 *value = msm_pipe->gmem; in msm_pipe_get_param()
193 msm_pipe->gmem = get_param(pipe, MSM_PARAM_GMEM_SIZE); in msm_pipe_new()
202 INFO_MSG(" GMEM size: 0x%08x", msm_pipe->gmem); in msm_pipe_new()
H A Dmsm_priv.h57 uint32_t gmem; member
/third_party/mesa3d/src/freedreno/drm/msm/
H A Dmsm_pipe.c83 *value = msm_pipe->gmem; in msm_pipe_get_param()
266 msm_pipe->gmem = get_param(pipe, MSM_PARAM_GMEM_SIZE); in msm_pipe_new()
278 INFO_MSG(" GMEM size: 0x%08x", msm_pipe->gmem); in msm_pipe_new()
H A Dmsm_priv.h55 uint32_t gmem; member
/third_party/mesa3d/src/freedreno/drm/virtio/
H A Dvirtio_pipe.c87 *value = virtio_pipe->gmem; in virtio_pipe_get_param()
253 virtio_pipe->gmem = virtio_dev->caps.u.msm.gmem_size; in virtio_pipe_new()
267 INFO_MSG(" GMEM size: 0x%08x", virtio_pipe->gmem); in virtio_pipe_new()
H A Dvirtio_priv.h120 uint32_t gmem; member
/third_party/mesa3d/src/freedreno/vulkan/
H A Dtu_pass.c33 * renderpass into a gmem one into two parts: in dep_invalid_for_gmem()
81 * We cannot decide whether to allow gmem rendering before a barrier in tu_render_pass_add_subpass_dep()
101 perf_debug((struct tu_device *)pass->base.device, "Disabling gmem rendering due to invalid subpass dependency"); in tu_render_pass_add_subpass_dep()
557 if (att->gmem) { in tu_render_pass_gmem_config()
579 /* no gmem attachments */ in tu_render_pass_gmem_config()
600 if (!att->gmem) in tu_render_pass_gmem_config()
633 /* if the loop didn't complete then the gmem config is impossible */ in tu_render_pass_gmem_config()
737 pass->attachments[a].gmem = true; in tu_subpass_use_attachment()
786 /* Initially not allocated into gmem, tu_subpass_use_attachment() will move it there. */ in tu_CreateRenderPass2()
787 att->gmem in tu_CreateRenderPass2()
[all...]
H A Dtu_pass.h82 bool gmem; member
104 /* memory bandwidth costs (in bytes) for gmem / sysmem rendering */
H A Dtu_cmd_buffer.c179 .gmem = ccu_state == TU_CMD_CCU_GMEM)); in tu_emit_cache_flush_ccu()
581 /* can't fit attachments into gmem */ in use_sysmem_rendering()
623 /* Optimization: there is no reason to load gmem if there is no
721 * transfer command, so we have to manually flush similar to the gmem in tu6_emit_sysmem_resolves()
770 if (pass->attachments[a].gmem) in tu6_emit_tile_store()
1091 bool gmem) in tu_emit_input_attachments()
1096 * renderpass, this would avoid emitting both sysmem/gmem versions in tu_emit_input_attachments()
1186 if (!gmem || !subpass->input_attachments[i / 2].patch_input_gmem) in tu_emit_input_attachments()
1189 /* patched for gmem */ in tu_emit_input_attachments()
1302 * tile_store_cs in the gmem pat in tu6_sysmem_render_end()
1089 tu_emit_input_attachments(struct tu_cmd_buffer *cmd, const struct tu_subpass *subpass, bool gmem) tu_emit_input_attachments() argument
3105 vk2tu_access(VkAccessFlags2 flags, VkPipelineStageFlags2 stages, bool image_only, bool gmem) vk2tu_access() argument
5231 bool gmem = cmd->state.ccu_state == TU_CMD_CCU_GMEM && tu_barrier() local
[all...]
/third_party/mesa3d/src/nouveau/codegen/
H A Dnv50_ir_driver.h194 } gmem[16]; /* nv50 only */ member

Completed in 19 milliseconds

12