Home
last modified time | relevance | path

Searched full:v3d (Results 1 – 25 of 228) sorted by relevance

12345678910

/aosp_15_r20/external/mesa3d/src/gallium/drivers/v3d/
H A Dv3dx_draw.c43 v3dX(start_binning)(struct v3d_context *v3d, struct v3d_job *job) in v3dX()
77 job->tile_alloc = v3d_bo_alloc(v3d->screen, tile_alloc_size, in v3dX()
80 job->tile_state = v3d_bo_alloc(v3d->screen, in v3dX()
144 v3d_start_draw(struct v3d_context *v3d) in v3d_start_draw() argument
146 struct v3d_job *job = v3d->job; in v3d_start_draw()
152 job->draw_width = v3d->framebuffer.width; in v3d_start_draw()
153 job->draw_height = v3d->framebuffer.height; in v3d_start_draw()
154 job->num_layers = util_framebuffer_get_num_layers(&v3d->framebuffer); in v3d_start_draw()
156 v3dX(start_binning)(v3d, job); in v3d_start_draw()
163 struct v3d_context *v3d = v3d_context(pctx); in v3d_predraw_check_stage_inputs() local
[all …]
H A Dv3dx_emit.c82 translate_colormask(struct v3d_context *v3d, uint32_t colormask, int rt) in translate_colormask() argument
84 if (v3d->swap_color_rb & (1 << rt)) { in translate_colormask()
94 emit_rt_blend(struct v3d_context *v3d, struct v3d_job *job, in emit_rt_blend() argument
184 struct v3d_context *v3d = job->v3d; in emit_varying_flags() local
187 for (int i = 0; i < ARRAY_SIZE(v3d->prog.fs->prog_data.fs->flat_shade_flags); i++) { in emit_varying_flags()
211 get_tf_shader(struct v3d_context *v3d) in get_tf_shader() argument
213 if (v3d->prog.bind_gs) in get_tf_shader()
214 return v3d->prog.bind_gs; in get_tf_shader()
216 return v3d->prog.bind_vs; in get_tf_shader()
222 struct v3d_context *v3d = v3d_context(pctx); in v3dX() local
[all …]
H A Dv3d_program.c38 /* packets here are the same across V3D versions. */
42 v3d_get_compiled_shader(struct v3d_context *v3d,
221 v3d_shader_precompile(struct v3d_context *v3d, in v3d_shader_precompile() argument
242 v3d_get_compiled_shader(v3d, &key.base, sizeof(key), so); in v3d_shader_precompile()
254 v3d_get_compiled_shader(v3d, &key.base, sizeof(key), so); in v3d_shader_precompile()
264 v3d_get_compiled_shader(v3d, &key.base, sizeof(key), so); in v3d_shader_precompile()
278 v3d_get_compiled_shader(v3d, &key.base, sizeof(key), so); in v3d_shader_precompile()
288 v3d_get_compiled_shader(v3d, &key.base, sizeof(key), so); in v3d_shader_precompile()
341 struct v3d_context *v3d = v3d_context(pctx); in v3d_uncompiled_shader_create() local
346 so->program_id = v3d->next_uncompiled_program_id++; in v3d_uncompiled_shader_create()
[all …]
H A Dv3d_context.c47 struct v3d_context *v3d = v3d_context(pctx); in v3d_flush() local
49 hash_table_foreach(v3d->jobs, entry) { in v3d_flush()
51 v3d_job_submit(v3d, job); in v3d_flush()
59 struct v3d_context *v3d = v3d_context(pctx); in v3d_pipe_flush() local
65 /* Snapshot the last V3D rendering's out fence. We'd rather in v3d_pipe_flush()
70 drmSyncobjExportSyncFile(v3d->fd, v3d->out_sync, &fd); in v3d_pipe_flush()
78 struct v3d_fence *f = v3d_fence_create(v3d, fd); in v3d_pipe_flush()
97 struct v3d_context *v3d = v3d_context(pctx); in v3d_memory_barrier() local
117 struct v3d_context *v3d = v3d_context(pctx); in v3d_invalidate_resource() local
123 struct hash_entry *entry = _mesa_hash_table_search(v3d->write_jobs, in v3d_invalidate_resource()
[all …]
H A Dv3d_job.c26 * Functions for submitting V3D render jobs to the kernel.
32 /* The OQ/semaphore packets are the same across V3D versions. */
42 v3d_job_free(struct v3d_context *v3d, struct v3d_job *job) in v3d_job_free() argument
49 _mesa_hash_table_remove_key(v3d->jobs, &job->key); in v3d_job_free()
55 _mesa_hash_table_remove_key(v3d->write_jobs, prsc); in v3d_job_free()
61 _mesa_hash_table_remove_key(v3d->write_jobs, in v3d_job_free()
69 _mesa_hash_table_remove_key(v3d->write_jobs, in v3d_job_free()
72 _mesa_hash_table_remove_key(v3d->write_jobs, in v3d_job_free()
82 if (v3d->job == job) in v3d_job_free()
83 v3d->job = NULL; in v3d_job_free()
[all …]
H A Dv3d_blit.c41 v3d_blitter_save(struct v3d_context *v3d, enum v3d_blitter_op op) in v3d_blitter_save() argument
43 util_blitter_save_fragment_constant_buffer_slot(v3d->blitter, in v3d_blitter_save()
44 v3d->constbuf[PIPE_SHADER_FRAGMENT].cb); in v3d_blitter_save()
45 util_blitter_save_vertex_buffers(v3d->blitter, v3d->vertexbuf.vb, v3d->vertexbuf.count); in v3d_blitter_save()
46 util_blitter_save_vertex_elements(v3d->blitter, v3d->vtx); in v3d_blitter_save()
47 util_blitter_save_vertex_shader(v3d->blitter, v3d->prog.bind_vs); in v3d_blitter_save()
48 util_blitter_save_geometry_shader(v3d->blitter, v3d->prog.bind_gs); in v3d_blitter_save()
49 util_blitter_save_so_targets(v3d->blitter, v3d->streamout.num_targets, in v3d_blitter_save()
50 v3d->streamout.targets); in v3d_blitter_save()
51 util_blitter_save_rasterizer(v3d->blitter, v3d->rasterizer); in v3d_blitter_save()
[all …]
H A Dv3dx_state.c52 struct v3d_context *v3d = v3d_context(pctx); in v3d_set_blend_color() local
53 v3d->blend_color.f = *blend_color; in v3d_set_blend_color()
55 v3d->blend_color.hf[i] = in v3d_set_blend_color()
58 v3d->dirty |= V3D_DIRTY_BLEND_COLOR; in v3d_set_blend_color()
65 struct v3d_context *v3d = v3d_context(pctx); in v3d_set_stencil_ref() local
66 v3d->stencil_ref = stencil_ref; in v3d_set_stencil_ref()
67 v3d->dirty |= V3D_DIRTY_STENCIL_REF; in v3d_set_stencil_ref()
74 struct v3d_context *v3d = v3d_context(pctx); in v3d_set_clip_state() local
75 v3d->clip = *clip; in v3d_set_clip_state()
76 v3d->dirty |= V3D_DIRTY_CLIP; in v3d_set_clip_state()
[all …]
H A Dv3dx_query_perfcnt.c27 * This contains the performance V3D counters queries.
43 kperfmon_destroy(struct v3d_context *v3d, struct v3d_perfmon_state *perfmon) in kperfmon_destroy() argument
48 int ret = v3d_ioctl(v3d->fd, DRM_IOCTL_V3D_PERFMON_DESTROY, &destroyreq); in kperfmon_destroy()
69 info->name = "V3D counters"; in v3dX()
124 v3d_destroy_query_perfcnt(struct v3d_context *v3d, struct v3d_query *query) in v3d_destroy_query_perfcnt() argument
130 if (v3d->active_perfmon == pquery->perfmon) { in v3d_destroy_query_perfcnt()
135 kperfmon_destroy(v3d, pquery->perfmon); in v3d_destroy_query_perfcnt()
143 v3d_begin_query_perfcnt(struct v3d_context *v3d, struct v3d_query *query) in v3d_begin_query_perfcnt() argument
150 if (v3d->active_perfmon) { in v3d_begin_query_perfcnt()
161 kperfmon_destroy(v3d, pquery->perfmon); in v3d_begin_query_perfcnt()
[all …]
H A Dv3d_query_pipe.c50 v3d_destroy_query_pipe(struct v3d_context *v3d, struct v3d_query *query) in v3d_destroy_query_pipe() argument
59 v3d_begin_query_pipe(struct v3d_context *v3d, struct v3d_query *query) in v3d_begin_query_pipe() argument
70 if (v3d->prog.gs) in v3d_begin_query_pipe()
71 v3d_update_primitive_counters(v3d); in v3d_begin_query_pipe()
72 pquery->start = v3d->prims_generated; in v3d_begin_query_pipe()
73 v3d->n_primitives_generated_queries_in_flight++; in v3d_begin_query_pipe()
79 if (v3d->streamout.num_targets > 0) in v3d_begin_query_pipe()
80 v3d_update_primitive_counters(v3d); in v3d_begin_query_pipe()
81 pquery->start = v3d->tf_prims_generated; in v3d_begin_query_pipe()
87 pquery->bo = v3d_bo_alloc(v3d->screen, 4096, "query"); in v3d_begin_query_pipe()
[all …]
H A Dv3d_context.h170 /* V3D 4.x: Texture state struct. */
193 /* V3D 3.x: Packed texture state. */
195 /* V3D 4.x: Sampler state struct. */
245 * V3D_DIRTY_* flags that, when set in v3d->dirty, mean that the
303 /* Hash table key for v3d->jobs */
319 /* V3D 4.x texture shader state struct */
352 struct v3d_context *v3d; member
490 * Set if a packet enabling TF has been emitted in the job (V3D 4.x).
703 if (unlikely(v3d->base.debug.debug_message)) \
704 util_debug_message(&v3d->base.debug, PERF_INFO, __VA_ARGS__); \
[all …]
H A Dv3d_query.c53 struct v3d_context *v3d = v3d_context(pctx); in v3d_create_query() local
55 return v3d_create_query_pipe(v3d, query_type, index); in v3d_create_query()
62 struct v3d_context *v3d = v3d_context(pctx); in v3d_create_batch_query() local
63 struct v3d_screen *screen = v3d->screen; in v3d_create_batch_query()
74 struct v3d_context *v3d = v3d_context(pctx); in v3d_destroy_query() local
77 q->funcs->destroy_query(v3d, q); in v3d_destroy_query()
83 struct v3d_context *v3d = v3d_context(pctx); in v3d_begin_query() local
86 return q->funcs->begin_query(v3d, q); in v3d_begin_query()
92 struct v3d_context *v3d = v3d_context(pctx); in v3d_end_query() local
95 return q->funcs->end_query(v3d, q); in v3d_end_query()
[all …]
H A Dv3d_uniforms.c127 /** Writes the V3D 4.x TMU configuration parameter 0. */
179 /** Writes the V3D 4.x TMU configuration parameter 1. */
206 v3d_pack_unnormalized_coordinates(&job->v3d->screen->devinfo, &p1_packed, in write_tmu_p1()
215 v3d_write_uniforms(struct v3d_context *v3d, struct v3d_job *job, in v3d_write_uniforms() argument
219 struct v3d_device_info *devinfo = &v3d->screen->devinfo; in v3d_write_uniforms()
220 struct v3d_constbuf_stateobj *cb = &v3d->constbuf[stage]; in v3d_write_uniforms()
221 struct v3d_texture_stateobj *texstate = &v3d->tex[stage]; in v3d_write_uniforms()
252 … cl_aligned_f(&uniforms, v3d->viewport.scale[0] * devinfo->clipper_xy_granularity); in v3d_write_uniforms()
256 … cl_aligned_f(&uniforms, v3d->viewport.scale[1] * devinfo->clipper_xy_granularity); in v3d_write_uniforms()
260 cl_aligned_f(&uniforms, v3d->viewport.translate[2]); in v3d_write_uniforms()
[all …]
H A Dv3d_fence.c123 v3d_fence_create(struct v3d_context *v3d, int fd) in v3d_fence_create() argument
139 struct v3d_context *v3d = (struct v3d_context *)pctx; in v3d_fence_create_fd() local
143 *fence = v3d_fence_create(v3d, fcntl(fd, F_DUPFD_CLOEXEC, 3)); in v3d_fence_create_fd()
150 struct v3d_context *v3d = (struct v3d_context*)pctx; in v3d_fence_server_sync() local
153 sync_accumulate("v3d", &v3d->in_fence_fd, fence->fd); in v3d_fence_server_sync()
164 v3d_fence_context_init(struct v3d_context *v3d) in v3d_fence_context_init() argument
166 v3d->base.create_fence_fd = v3d_fence_create_fd; in v3d_fence_context_init()
167 v3d->base.fence_server_sync = v3d_fence_server_sync; in v3d_fence_context_init()
168 v3d->in_fence_fd = -1; in v3d_fence_context_init()
173 return drmSyncobjCreate(v3d->fd, DRM_SYNCOBJ_CREATE_SIGNALED, in v3d_fence_context_init()
[all …]
H A Dv3d_resource.c40 /* The packets used here the same across V3D versions. */
130 struct v3d_context *v3d = v3d_context(pctx); in v3d_resource_transfer_unmap() local
158 slab_free(&v3d->transfer_pool, ptrans); in v3d_resource_transfer_unmap()
162 rebind_sampler_views(struct v3d_context *v3d, in rebind_sampler_views() argument
166 struct v3d_texture_stateobj *tex = v3d->tex + st; in rebind_sampler_views()
181 &v3d->screen->devinfo; in rebind_sampler_views()
183 v3d_X(devinfo, create_texture_shader_state_bo)(v3d, sview); in rebind_sampler_views()
185 v3d_flag_dirty_sampler_state(v3d, st); in rebind_sampler_views()
195 struct v3d_context *v3d = v3d_context(pctx); in v3d_map_usage_prep() local
205 v3d->dirty |= V3D_DIRTY_VTXBUF; in v3d_map_usage_prep()
[all …]
H A Dv3d_disk_cache.c25 * V3D on-disk shader cache.
97 v3d_disk_cache_retrieve(struct v3d_context *v3d, in v3d_disk_cache_retrieve() argument
101 struct v3d_screen *screen = v3d->screen; in v3d_disk_cache_retrieve()
119 fprintf(stderr, "[v3d on-disk cache] %s %s\n", in v3d_disk_cache_retrieve()
169 u_upload_data(v3d->state_uploader, 0, qpu_size, 8, in v3d_disk_cache_retrieve()
178 v3d_disk_cache_store(struct v3d_context *v3d, in v3d_disk_cache_store() argument
185 struct v3d_screen *screen = v3d->screen; in v3d_disk_cache_store()
200 fprintf(stderr, "[v3d on-disk cache] storing %s\n", sha1); in v3d_disk_cache_store()
/aosp_15_r20/external/mesa3d/src/broadcom/simulator/
H A Dv3dx_simulator.c27 * Implements the actual HW interaction betweeh the GL driver's V3D simulator and the simulator.
29 * The register headers between V3D versions will have conflicting defines, so
30 * all register interactions appear in this file and are compiled per V3D version
52 #include "libs/core/v3d/registers/7.1.7.0/v3d.h"
55 #include "libs/core/v3d/registers/4.2.14.0/v3d.h"
59 #define V3D_WRITE(reg, val) v3d_hw_write_reg(v3d, reg, val)
60 #define V3D_READ(reg) v3d_hw_read_reg(v3d, reg)
64 v3d_invalidate_l2c(struct v3d_hw *v3d) in v3d_invalidate_l2c() argument
82 v3d_invalidate_l2t(struct v3d_hw *v3d) in v3d_invalidate_l2t() argument
97 static UNUSED void v3d_core_wait_l2tcactl(struct v3d_hw *v3d, in v3d_core_wait_l2tcactl() argument
[all …]
H A Dv3d_simulator.c27 * Implements V3D simulation on top of a non-V3D GEM fd.
29 * This file's goal is to emulate the V3D ioctls' behavior in the kernel on
30 * top of the simpenrose software simulator. Generally, V3D driver BOs have a
43 * window system's BO size matches what V3D is going to use, which of course
44 * doesn't work out in practice. This means that for now, only DRI3 (V3D
79 struct v3d_hw *v3d; member
199 … v3d_hw_read_mem(sim_state.v3d, gmp, file->gmp_addr, (gmp_offset + gmp_count)*sizeof(uint32_t)); in set_gmp_flags()
209 … v3d_hw_write_mem(sim_state.v3d, file->gmp_addr, gmp, (gmp_offset + gmp_count)*sizeof(uint32_t)); in set_gmp_flags()
236 v3d_hw_set_mem(sim_state.v3d, sim_bo->sim_addr, 0xd0, size); in v3d_create_simulator_bo()
239 … v3d_hw_write_mem(sim_state.v3d, sim_bo->sim_addr + sim_bo->size, &sentinel, sizeof(sentinel)); in v3d_create_simulator_bo()
[all …]
H A Dv3dx_simulator.h26 /* This file generates the per-v3d-version function prototypes. It must only
37 void v3dX(simulator_init_regs)(struct v3d_hw *v3d);
38 int v3dX(simulator_get_param_ioctl)(struct v3d_hw *v3d,
43 void v3dX(simulator_submit_cl_ioctl)(struct v3d_hw *v3d,
46 int v3dX(simulator_submit_tfu_ioctl)(struct v3d_hw *v3d,
48 int v3dX(simulator_submit_csd_ioctl)(struct v3d_hw *v3d,
51 void v3dX(simulator_perfmon_start)(struct v3d_hw *v3d,
54 void v3dX(simulator_perfmon_stop)(struct v3d_hw *v3d,
/aosp_15_r20/external/mesa3d/docs/
H A Dfeatures.txt42 GL_NV_conditional_render (Conditional rendering) DONE (v3d, etnaviv/HALTI0)
43 GL_ARB_map_buffer_range (Map buffer subranges) DONE (v3d, vc4, lima)
44 GL_ARB_color_buffer_float (Clamping controls) DONE (v3d, vc4, lima, etnaviv)
45 GL_ARB_texture_float (Float textures, renderbuffers) DONE (v3d)
46 GL_EXT_packed_float DONE (v3d, etnaviv/HALTI0)
47 GL_EXT_texture_shared_exponent DONE (v3d)
48 GL_ARB_depth_buffer_float (Float depth buffers) DONE (v3d)
49 GL_ARB_framebuffer_object (Framebuffer objects) DONE (v3d, vc4, etnaviv)
51 GL_ARB_half_float_vertex DONE (v3d, vc4, lima, etnaviv)
52 GL_EXT_texture_integer DONE (v3d)
[all …]
/aosp_15_r20/external/mesa3d/docs/relnotes/
H A D19.0.0.rst681 - v3d: Fix a copy-and-paste comment in the simulator code.
682 - v3d: Fix a typo in a comment in job handling.
683 - v3d: Drop #if 0-ed out v3d_dump_to_file().
684 - v3d: Respect user-passed strides for BO imports.
685 - v3d: Take advantage of \_mesa_hash_table_remove_key() in the
687 - v3d: Use the TLB R/B swapping instead of recompiles when available.
688 - v3d: Update the TLB config for depth writes on V3D 4.2.
690 - v3d: Maintain a mapping of the GEM buffer in the simulator.
691 - v3d: Remove the special path for simulaton of the submit ioctl.
699 - v3d: Fix double-swapping of R/B on V3D 4.1
[all …]
H A D19.1.0.rst425 - panfrost: Import job data structures from v3d
443 - v3d: Use shared drm_find_modifier util
1361 - v3d: Always enable the NEON utile load/store code.
1362 - v3d: Fix a release build set-but-unused compiler warning.
1364 - v3d: Fix image_load_store clamping of signed integer stores.
1365 - nir: Move V3D's "the shader was TGSI, ignore FS output types" flag to
1367 - v3d: Fix precompile of FRAG_RESULT_DATA1 and higher outputs.
1368 - v3d: Store the actual mask of color buffers present in the key.
1369 - v3d: Fix dumping of shaders with alpha test.
1370 - v3d: Fix pack/unpack of VFPACK operand unpacks.
[all …]
/aosp_15_r20/external/mesa3d/src/broadcom/ci/
H A Dgitlab-ci.yml46 v3d-rpi4-gl:arm64:
50 - .v3d-rules
57 v3d-rpi4-gl-full:arm64:
59 - v3d-rpi4-gl:arm64
60 - .v3d-manual-rules
69 v3d-rpi4-rusticl:arm64:
73 - .v3d-rusticl-manual-rules
76 DEQP_SUITE: v3d-rusticl
78 v3d-rpi4-traces:arm64:
83 - .v3d-rules
[all …]
H A Dgitlab-ci-inc.yml56 .v3d-rules:
66 - src/gallium/drivers/v3d/**/*
67 - src/gallium/winsys/v3d/**/*
72 .v3d-manual-rules:
84 .v3d-rusticl-rules:
87 - !reference [.v3d-rules, rules]
90 .v3d-rusticl-manual-rules:
94 - !reference [.v3d-manual-rules, rules]
/aosp_15_r20/external/mesa3d/src/broadcom/qpu/
H A Dqpu_instr.h56 bool small_imm_a:1; /* raddr_a (add a), since V3D 7.x */
58 bool small_imm_c:1; /* raddr_c (mul a), since V3D 7.x */
59 bool small_imm_d:1; /* raddr_d (mul b), since V3D 7.x */
94 V3D_QPU_WADDR_R0 = 0, /* Reserved on V3D 7.x */
95 V3D_QPU_WADDR_R1 = 1, /* Reserved on V3D 7.x */
96 V3D_QPU_WADDR_R2 = 2, /* Reserved on V3D 7.x */
97 V3D_QPU_WADDR_R3 = 3, /* Reserved on V3D 7.x */
98 V3D_QPU_WADDR_R4 = 4, /* Reserved on V3D 7.x */
99 V3D_QPU_WADDR_R5 = 5, /* V3D 4.x */
100 V3D_QPU_WADDR_QUAD = 5, /* V3D 7.x */
[all …]
/aosp_15_r20/external/mesa3d/docs/drivers/
H A Dv3d.rst1 V3D title
4 Mesa's V3D graphics driver stack includes a `conformant GLES3.1
7 called V3D and a Vulkan graphics driver called V3DV, notably
10 The V3D Mesa drivers communicate directly with the `V3D
11 <https://www.kernel.org/doc/html/latest/gpu/v3d.html>`__ kernel DRM
16 while executing rendering on the V3D kernel module.
18 Initial development work was done on the Broadcom 7268 (V3D 3.3) and
19 7278 (V3D 4.1). Development since then has been on V3D 4.2 (Raspberry
20 Pi 4), and V3D 7.1 (Raspberry Pi 5). When the support for V3D 7.1
25 source V3D stack, but porting a particular hardware implementation to
[all …]

12345678910