/third_party/mesa3d/src/gallium/drivers/freedreno/ |
H A D | freedreno_gmem.c | 83 * 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 D | gmemtool.c | 32 /* 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 D | freedreno_gmem.h | 70 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 D | freedreno_batch.c | 67 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 D | freedreno_batch.h | 49 * 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 D | fd5_gmem.c | 47 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 D | fd4_gmem.c | 147 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 D | fd2_gmem.c | 66 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 D | fd3_gmem.c | 144 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 D | fd6_gmem.c | 75 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 D | fd6_blitter.c | 833 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 D | parse-submits.lua | 20 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 D | nv50_compute.c | 380 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 D | nv50_program.h | 112 struct nv50_gmem_state gmem[NV50_MAX_GLOBALS]; member
|
H A D | nv50_program.c | 446 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 D | msm_pipe.c | 61 *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 D | msm_priv.h | 57 uint32_t gmem; member
|
/third_party/mesa3d/src/freedreno/drm/msm/ |
H A D | msm_pipe.c | 83 *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 D | msm_priv.h | 55 uint32_t gmem; member
|
/third_party/mesa3d/src/freedreno/drm/virtio/ |
H A D | virtio_pipe.c | 87 *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 D | virtio_priv.h | 120 uint32_t gmem; member
|
/third_party/mesa3d/src/freedreno/vulkan/ |
H A D | tu_pass.c | 33 * 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 D | tu_pass.h | 82 bool gmem; member 104 /* memory bandwidth costs (in bytes) for gmem / sysmem rendering */
|
H A D | tu_cmd_buffer.c | 179 .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 D | nv50_ir_driver.h | 194 } gmem[16]; /* nv50 only */ member
|