/third_party/mesa3d/src/gallium/drivers/vc4/ |
D | vc4_context.c | 42 struct vc4_context *vc4 = vc4_context(pctx); in vc4_flush() local 44 hash_table_foreach(vc4->jobs, entry) { in vc4_flush() 46 vc4_job_submit(vc4, job); in vc4_flush() 54 struct vc4_context *vc4 = vc4_context(pctx); in vc4_pipe_flush() local 64 drmSyncobjExportSyncFile(vc4->fd, vc4->job_syncobj, in vc4_pipe_flush() 68 struct vc4_fence *f = vc4_fence_create(vc4->screen, in vc4_pipe_flush() 69 vc4->last_emit_seqno, in vc4_pipe_flush() 90 struct vc4_context *vc4 = vc4_context(pctx); in vc4_set_debug_callback() local 93 vc4->debug = *cb; in vc4_set_debug_callback() 95 memset(&vc4->debug, 0, sizeof(vc4->debug)); in vc4_set_debug_callback() [all …]
|
D | vc4_draw.c | 76 vc4_start_draw(struct vc4_context *vc4) in vc4_start_draw() argument 78 struct vc4_job *job = vc4->job; in vc4_start_draw() 109 job->draw_width = vc4->framebuffer.width; in vc4_start_draw() 110 job->draw_height = vc4->framebuffer.height; in vc4_start_draw() 117 struct vc4_context *vc4 = vc4_context(pctx); in vc4_predraw_check_textures() local 128 vc4_flush_jobs_writing_resource(vc4, view->texture); in vc4_predraw_check_textures() 133 vc4_emit_gl_shader_state(struct vc4_context *vc4, in vc4_emit_gl_shader_state() argument 138 struct vc4_job *job = vc4->job; in vc4_emit_gl_shader_state() 140 struct vc4_vertex_stateobj *vtx = vc4->vtx; in vc4_emit_gl_shader_state() 142 struct vc4_vertexbuf_stateobj *vertexbuf = &vc4->vertexbuf; in vc4_emit_gl_shader_state() [all …]
|
D | vc4_job.c | 35 vc4_job_free(struct vc4_context *vc4, struct vc4_job *job) in vc4_job_free() argument 42 _mesa_hash_table_remove_key(vc4->jobs, &job->key); in vc4_job_free() 45 _mesa_hash_table_remove_key(vc4->write_jobs, in vc4_job_free() 50 _mesa_hash_table_remove_key(vc4->write_jobs, in vc4_job_free() 55 _mesa_hash_table_remove_key(vc4->write_jobs, in vc4_job_free() 60 _mesa_hash_table_remove_key(vc4->write_jobs, in vc4_job_free() 68 if (vc4->job == job) in vc4_job_free() 69 vc4->job = NULL; in vc4_job_free() 75 vc4_job_create(struct vc4_context *vc4) in vc4_job_create() argument 77 struct vc4_job *job = rzalloc(vc4, struct vc4_job); in vc4_job_create() [all …]
|
D | vc4_emit.c | 29 struct vc4_context *vc4 = vc4_context(pctx); in vc4_emit_state() local 30 struct vc4_job *job = vc4->job; in vc4_emit_state() 32 if (vc4->dirty & (VC4_DIRTY_SCISSOR | VC4_DIRTY_VIEWPORT | in vc4_emit_state() 34 float *vpscale = vc4->viewport.scale; in vc4_emit_state() 35 float *vptranslate = vc4->viewport.translate; in vc4_emit_state() 50 if (!vc4->rasterizer->base.scissor) { in vc4_emit_state() 56 minx = MAX2(vp_minx, vc4->scissor.minx); in vc4_emit_state() 57 miny = MAX2(vp_miny, vc4->scissor.miny); in vc4_emit_state() 58 maxx = MAX2(MIN2(vp_maxx, vc4->scissor.maxx), minx); in vc4_emit_state() 59 maxy = MAX2(MIN2(vp_maxy, vc4->scissor.maxy), miny); in vc4_emit_state() [all …]
|
D | vc4_blit.c | 54 struct vc4_context *vc4 = vc4_context(pctx); in vc4_tile_blit() local 130 vc4_flush_jobs_reading_resource(vc4, info->src.resource); in vc4_tile_blit() 132 struct vc4_job *job = vc4_get_job(vc4, dst_surf, NULL); in vc4_tile_blit() 148 vc4_job_submit(vc4, job); in vc4_tile_blit() 157 vc4_blitter_save(struct vc4_context *vc4) in vc4_blitter_save() argument 159 util_blitter_save_fragment_constant_buffer_slot(vc4->blitter, in vc4_blitter_save() 160 vc4->constbuf[PIPE_SHADER_FRAGMENT].cb); in vc4_blitter_save() 161 util_blitter_save_vertex_buffer_slot(vc4->blitter, vc4->vertexbuf.vb); in vc4_blitter_save() 162 util_blitter_save_vertex_elements(vc4->blitter, vc4->vtx); in vc4_blitter_save() 163 util_blitter_save_vertex_shader(vc4->blitter, vc4->prog.bind_vs); in vc4_blitter_save() [all …]
|
D | vc4_register_allocate.c | 109 vc4_alloc_reg_set(struct vc4_context *vc4) in vc4_alloc_reg_set() argument 115 if (vc4->regs) in vc4_alloc_reg_set() 118 vc4->regs = ra_alloc_reg_set(vc4, ARRAY_SIZE(vc4_regs), false); in vc4_alloc_reg_set() 125 vc4->reg_class_any[i] = ra_alloc_contig_reg_class(vc4->regs, 1); in vc4_alloc_reg_set() 126 vc4->reg_class_a_or_b[i] = ra_alloc_contig_reg_class(vc4->regs, 1); in vc4_alloc_reg_set() 127 vc4->reg_class_a_or_b_or_acc[i] = ra_alloc_contig_reg_class(vc4->regs, 1); in vc4_alloc_reg_set() 128 vc4->reg_class_r4_or_a[i] = ra_alloc_contig_reg_class(vc4->regs, 1); in vc4_alloc_reg_set() 129 vc4->reg_class_a[i] = ra_alloc_contig_reg_class(vc4->regs, 1); in vc4_alloc_reg_set() 131 vc4->reg_class_r0_r3 = ra_alloc_contig_reg_class(vc4->regs, 1); in vc4_alloc_reg_set() 135 ra_class_add_reg(vc4->reg_class_r0_r3, i); in vc4_alloc_reg_set() [all …]
|
D | vc4_state.c | 54 struct vc4_context *vc4 = vc4_context(pctx); in vc4_set_blend_color() local 55 vc4->blend_color.f = *blend_color; in vc4_set_blend_color() 57 vc4->blend_color.ub[i] = float_to_ubyte(blend_color->color[i]); in vc4_set_blend_color() 58 vc4->dirty |= VC4_DIRTY_BLEND_COLOR; in vc4_set_blend_color() 65 struct vc4_context *vc4 = vc4_context(pctx); in vc4_set_stencil_ref() local 66 vc4->stencil_ref = stencil_ref; in vc4_set_stencil_ref() 67 vc4->dirty |= VC4_DIRTY_STENCIL_REF; in vc4_set_stencil_ref() 74 struct vc4_context *vc4 = vc4_context(pctx); in vc4_set_clip_state() local 75 vc4->clip = *clip; in vc4_set_clip_state() 76 vc4->dirty |= VC4_DIRTY_CLIP; in vc4_set_clip_state() [all …]
|
D | vc4_fence.c | 110 struct vc4_context *vc4 = vc4_context(pctx); in vc4_fence_create_fd() local 114 *fence = vc4_fence_create(vc4->screen, vc4->last_emit_seqno, in vc4_fence_create_fd() 122 struct vc4_context *vc4 = vc4_context(pctx); in vc4_fence_server_sync() local 126 sync_accumulate("vc4", &vc4->in_fence_fd, fence->fd); in vc4_fence_server_sync() 138 vc4_fence_context_init(struct vc4_context *vc4) in vc4_fence_context_init() argument 140 vc4->base.create_fence_fd = vc4_fence_create_fd; in vc4_fence_context_init() 141 vc4->base.fence_server_sync = vc4_fence_server_sync; in vc4_fence_context_init() 142 vc4->in_fence_fd = -1; in vc4_fence_context_init() 147 if (vc4->screen->has_syncobj) { in vc4_fence_context_init() 148 return drmSyncobjCreate(vc4->fd, DRM_SYNCOBJ_CREATE_SIGNALED, in vc4_fence_context_init() [all …]
|
D | vc4_program.c | 1883 if (!c->vc4->screen->has_control_flow) { in ntq_emit_if() 2038 if (!c->vc4->screen->has_control_flow) { in ntq_emit_loop() 2205 vc4_shader_ntq(struct vc4_context *vc4, enum qstage stage, in vc4_shader_ntq() argument 2210 c->vc4 = vc4; in vc4_shader_ntq() 2394 vc4_generate_code(vc4, c); in vc4_shader_ntq() 2416 struct vc4_context *vc4 = vc4_context(pctx); in vc4_shader_state_create() local 2421 so->program_id = vc4->next_uncompiled_program_id++; in vc4_shader_state_create() 2495 vc4_setup_compiled_fs_inputs(struct vc4_context *vc4, struct vc4_compile *c, in vc4_setup_compiled_fs_inputs() argument 2543 struct set_entry *entry = _mesa_set_search(vc4->fs_inputs_set, &inputs); in vc4_setup_compiled_fs_inputs() 2550 alloc_inputs = rzalloc(vc4->fs_inputs_set, struct vc4_fs_inputs); in vc4_setup_compiled_fs_inputs() [all …]
|
D | vc4_context.h | 431 if (unlikely(vc4->debug.debug_message)) \ 432 util_debug_message(&vc4->debug, PERF_INFO, __VA_ARGS__); \ 481 void vc4_write_uniforms(struct vc4_context *vc4, 487 int vc4_job_init(struct vc4_context *vc4); 488 int vc4_fence_context_init(struct vc4_context *vc4); 489 struct vc4_job *vc4_get_job(struct vc4_context *vc4, 492 struct vc4_job *vc4_get_job_for_fbo(struct vc4_context *vc4); 494 void vc4_job_submit(struct vc4_context *vc4, struct vc4_job *job); 495 void vc4_flush_jobs_writing_resource(struct vc4_context *vc4, 497 void vc4_flush_jobs_reading_resource(struct vc4_context *vc4, [all …]
|
D | vc4_uniforms.c | 191 vc4_write_uniforms(struct vc4_context *vc4, struct vc4_compiled_shader *shader, in vc4_write_uniforms() argument 196 struct vc4_job *job = vc4->job; in vc4_write_uniforms() 219 cl_aligned_f(&uniforms, vc4->viewport.scale[0] * 16.0f); in vc4_write_uniforms() 222 cl_aligned_f(&uniforms, vc4->viewport.scale[1] * 16.0f); in vc4_write_uniforms() 226 cl_aligned_f(&uniforms, vc4->viewport.translate[2]); in vc4_write_uniforms() 229 cl_aligned_f(&uniforms, vc4->viewport.scale[2]); in vc4_write_uniforms() 234 vc4->clip.ucp[data / 4][data % 4]); in vc4_write_uniforms() 260 u_upload_data(vc4->uploader, 0, in vc4_write_uniforms() 306 CLAMP(vc4->blend_color.f.color[uinfo->contents[i] - in vc4_write_uniforms() 313 vc4_get_format_swizzle(vc4->framebuffer.cbufs[0]->format); in vc4_write_uniforms() [all …]
|
D | vc4_resource.c | 76 struct vc4_context *vc4 = vc4_context(pctx); in vc4_resource_transfer_unmap() local 95 slab_free(&vc4->transfer_pool, ptrans); in vc4_resource_transfer_unmap() 105 struct vc4_context *vc4 = vc4_context(pctx); in vc4_resource_transfer_map() local 133 vc4->dirty |= VC4_DIRTY_VTXBUF; in vc4_resource_transfer_map() 138 vc4_flush_jobs_reading_resource(vc4, prsc); in vc4_resource_transfer_map() 146 vc4_flush_jobs_reading_resource(vc4, prsc); in vc4_resource_transfer_map() 148 vc4_flush_jobs_writing_resource(vc4, prsc); in vc4_resource_transfer_map() 156 trans = slab_zalloc(&vc4->transfer_pool); in vc4_resource_transfer_map() 1016 struct vc4_context *vc4 = vc4_context(pctx); in vc4_update_shadow_baselevel_texture() local 1087 struct vc4_context *vc4 = vc4_context(pctx); in vc4_get_shadow_index_buffer() local [all …]
|
/third_party/alsa-lib/src/conf/cards/ |
D | vc4-hdmi.conf | 8 vc4-hdmi.pcm.front.0 { 18 vc4-hdmi.pcm.default { 35 vc4-hdmi.pcm.iec958.0 {
|
/third_party/mesa3d/docs/relnotes/ |
D | 17.2.2.rst | 53 - broadcom/vc4: Fix infinite retry in vc4_bo_alloc() 72 - broadcom/vc4: Fix use-after-free for flushing when writing to a 74 - broadcom/vc4: Fix use-after-free trying to mix a quad and tile clear. 75 - broadcom/vc4: Fix use-after-free when deleting a program. 76 - broadcom/vc4: Keep pipe_sampler_view->texture matching the original
|
D | 11.1.4.rst | 73 - vc4: Fix subimage accesses to LT textures. 74 - vc4: Add support for rendering to cube map surfaces. 75 - vc4: Fix tests for format supported with nr_samples == 1. 76 - vc4: Make sure we recompile when sample_mask changes.
|
D | 18.3.3.rst | 70 - vc4: Use named parameters for the NEON inline asm. 71 - vc4: Declare the cpu pointers as being modified in NEON asm. 101 - vc4: Don't leak the GPU fd for renderonly usage. 102 - vc4: Enable NEON asm on meson cross-builds.
|
D | 11.0.6.rst | 75 - vc4: Return GL_OUT_OF_MEMORY when buffer allocation fails. 76 - vc4: Return NULL when we can't make our shadow for a sampler view. 77 - vc4: Add support for nir_op_uge, using the carry bit on QPU_A_SUB.
|
D | 11.2.2.rst | 82 - vc4: Fix subimage accesses to LT textures. 83 - vc4: Add support for rendering to cube map surfaces. 84 - vc4: Fix tests for format supported with nr_samples == 1. 85 - vc4: Make sure we recompile when sample_mask changes.
|
D | 17.1.10.rst | 72 - broadcom/vc4: Fix use-after-free for flushing when writing to a 74 - broadcom/vc4: Fix use-after-free trying to mix a quad and tile clear. 75 - broadcom/vc4: Fix use-after-free when deleting a program.
|
D | 18.1.6.rst | 89 - vc4: Fix a leak of the no-vertex-elements workaround BO. 90 - vc4: Respect a sampler view's first_layer field. 91 - vc4: Ignore samplers for finding uniform offsets.
|
D | 20.2.2.rst | 42 - vc4 in 20.2-rc has regression causing app to crash 73 - vc4: Add missing load_ubo set_align in yuv_blit fs. 74 - vc4: Enable nir_lower_io for uniforms
|
/third_party/mesa3d/docs/ |
D | features.txt | 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) 49 GL_ARB_framebuffer_object (Framebuffer objects) DONE (v3d, vc4) 51 GL_ARB_half_float_vertex DONE (v3d, vc4, lima) 58 GL_ARB_vertex_array_object (Vertex array objects) DONE (v3d, vc4, lima) 59 GL_EXT_framebuffer_sRGB (sRGB framebuffer format) DONE (v3d, vc4, lima) 65 GLX_ARB_create_context (GLX 1.4 is required) DONE (v3d, vc4) 76 GL_ARB_copy_buffer (Buffer copying) DONE (v3d, vc4, lima) 80 GL_ARB_texture_rectangle (Rectangular textures) DONE (v3d, vc4, lima) 90 GL_ARB_draw_elements_base_vertex (Base vertex offset) DONE (v3d, vc4, panfrost, lima) [all …]
|
/third_party/mesa3d/src/broadcom/drm-shim/ |
D | README.md | 12 This implements the minimum of vc4 in order to make shader-db work. 15 Export `MESA_LOADER_DRIVER_OVERRIDE=vc4
|
/third_party/mesa3d/docs/drivers/ |
D | vc4.rst | 4 Mesa's ``vc4`` graphics driver supports multiple implementations of 11 This Mesa driver talks directly to the `vc4 12 <https://www.kernel.org/doc/html/latest/gpu/vc4.html>`__ kernel DRM 21 The vc4 driver is a nearly conformant GLES2 driver, and the hardware 32 GLES2.0, and vc4, don't have ``GL_UNSIGNED_INT`` index buffers. To support 33 them in vc4, we create a shadow copy of your index buffer with the 80 useful. Install `vc4-gpu-tools 81 <https://github.com/anholt/vc4-gpu-tools/>` and use 236 sudo perf record -f -g -e vc4:vc4_wait_for_seqno_begin -c 1 openarena 274 working on the compiler in Mesa. On vc4, there is a lot of [all …]
|
D | v3d.rst | 13 4, the kernel uses the vc4 DRM driver for display support, so Mesa 33 is closely related to the vc4 GPU present in the Raspberry Pi. They 44 the i915 graphics driver with all of the vc4 rendering commands
|