Lines Matching refs:job
38 vc4_get_draw_cl_space(struct vc4_job *job, int vert_count) in vc4_get_draw_cl_space() argument
48 cl_ensure_space(&job->bcl, in vc4_get_draw_cl_space()
58 cl_ensure_space(&job->shader_rec, in vc4_get_draw_cl_space()
66 cl_ensure_space(&job->bo_handles, (2 * 16 + 20) * sizeof(uint32_t)); in vc4_get_draw_cl_space()
67 cl_ensure_space(&job->bo_pointers, in vc4_get_draw_cl_space()
77 struct vc4_job *job = vc4->job; in vc4_start_draw() local
79 if (job->needs_flush) in vc4_start_draw()
82 vc4_get_draw_cl_space(job, 0); in vc4_start_draw()
84 cl_emit(&job->bcl, TILE_BINNING_MODE_CONFIGURATION, bin) { in vc4_start_draw()
85 bin.width_in_tiles = job->draw_tiles_x; in vc4_start_draw()
86 bin.height_in_tiles = job->draw_tiles_y; in vc4_start_draw()
87 bin.multisample_mode_4x = job->msaa; in vc4_start_draw()
95 cl_emit(&job->bcl, START_TILE_BINNING, start); in vc4_start_draw()
102 cl_emit(&job->bcl, PRIMITIVE_LIST_FORMAT, list) { in vc4_start_draw()
107 job->needs_flush = true; in vc4_start_draw()
108 job->draw_width = vc4->framebuffer.width; in vc4_start_draw()
109 job->draw_height = vc4->framebuffer.height; in vc4_start_draw()
136 struct vc4_job *job = vc4->job; in vc4_emit_gl_shader_state() local
148 cl_start_shader_reloc(&job->shader_rec, 3 + num_elements_emit); in vc4_emit_gl_shader_state()
150 cl_emit(&job->shader_rec, SHADER_RECORD, rec) { in vc4_emit_gl_shader_state()
198 cl_emit(&job->shader_rec, ATTRIBUTE_RECORD, attr) { in vc4_emit_gl_shader_state()
218 cl_emit(&job->shader_rec, ATTRIBUTE_RECORD, attr) { in vc4_emit_gl_shader_state()
227 cl_emit(&job->bcl, GL_SHADER_STATE, shader_state) { in vc4_emit_gl_shader_state()
249 job->shader_rec_count++; in vc4_emit_gl_shader_state()
276 struct vc4_job *job = vc4_get_job_for_fbo(vc4); in vc4_hw_2116_workaround() local
278 if (job->draw_calls_queued + vert_count / 65535 >= VC4_HW_2116_COUNT) { in vc4_hw_2116_workaround()
281 vc4_job_submit(vc4, job); in vc4_hw_2116_workaround()
318 struct vc4_job *job = vc4_get_job_for_fbo(vc4); in vc4_draw_vbo() local
323 if (job->flags != vc4->rasterizer->tile_raster_order_flags) { in vc4_draw_vbo()
324 vc4_job_submit(vc4, job); in vc4_draw_vbo()
325 job = vc4_get_job_for_fbo(vc4); in vc4_draw_vbo()
328 vc4_get_draw_cl_space(job, info->count); in vc4_draw_vbo()
388 struct vc4_cl_out *bcl = cl_start(&job->bcl); in vc4_draw_vbo()
400 uint32_t hindex = vc4_gem_hindex(job, rsc->bo); in vc4_draw_vbo()
401 if (job->last_gem_handle_hindex != hindex) { in vc4_draw_vbo()
405 job->last_gem_handle_hindex = hindex; in vc4_draw_vbo()
418 cl_end(&job->bcl, bcl); in vc4_draw_vbo()
419 job->draw_calls_queued++; in vc4_draw_vbo()
488 cl_emit(&job->bcl, VERTEX_ARRAY_PRIMITIVES, array) { in vc4_draw_vbo()
493 job->draw_calls_queued++; in vc4_draw_vbo()
505 assert(job->draw_calls_queued <= VC4_HW_2116_COUNT); in vc4_draw_vbo()
512 job->resolve |= PIPE_CLEAR_DEPTH; in vc4_draw_vbo()
517 job->resolve |= PIPE_CLEAR_STENCIL; in vc4_draw_vbo()
522 job->resolve |= PIPE_CLEAR_COLOR0; in vc4_draw_vbo()
528 if (job->bo_space > 128 * 1024 * 1024) in vc4_draw_vbo()
551 struct vc4_job *job = vc4_get_job_for_fbo(vc4); in vc4_clear() local
566 (rsc->initialized_buffers & ~(zsclear | job->cleared)) && in vc4_clear()
582 job = vc4_get_job_for_fbo(vc4); in vc4_clear()
589 if (job->draw_calls_queued) { in vc4_clear()
591 vc4_job_submit(vc4, job); in vc4_clear()
592 job = vc4_get_job_for_fbo(vc4); in vc4_clear()
614 job->clear_color[0] = job->clear_color[1] = clear_color; in vc4_clear()
626 job->clear_depth = util_pack_z(PIPE_FORMAT_Z24X8_UNORM, in vc4_clear()
630 job->clear_stencil = stencil; in vc4_clear()
635 job->draw_min_x = 0; in vc4_clear()
636 job->draw_min_y = 0; in vc4_clear()
637 job->draw_max_x = vc4->framebuffer.width; in vc4_clear()
638 job->draw_max_y = vc4->framebuffer.height; in vc4_clear()
639 job->cleared |= buffers; in vc4_clear()
640 job->resolve |= buffers; in vc4_clear()