Lines Matching refs:job

45         struct vc5_job *job = vc5->job;  in vc5_start_draw()  local
47 if (job->needs_flush) in vc5_start_draw()
53 vc5_cl_ensure_space_with_branch(&job->bcl, 256 /* XXX */); in vc5_start_draw()
55 job->submit.bcl_start = job->bcl.bo->offset; in vc5_start_draw()
56 vc5_job_add_bo(job, job->bcl.bo); in vc5_start_draw()
58 job->tile_alloc = vc5_bo_alloc(vc5->screen, 1024 * 1024, "tile alloc"); in vc5_start_draw()
60 job->tile_state = vc5_bo_alloc(vc5->screen, in vc5_start_draw()
61 job->draw_tiles_y * in vc5_start_draw()
62 job->draw_tiles_x * in vc5_start_draw()
72 cl_emit(&job->bcl, TILE_BINNING_MODE_CONFIGURATION_PART2, config) { in vc5_start_draw()
74 cl_address(job->tile_alloc, 0); in vc5_start_draw()
75 config.tile_allocation_memory_size = job->tile_alloc->size; in vc5_start_draw()
79 cl_emit(&job->bcl, TILE_BINNING_MODE_CONFIGURATION_PART1, config) { in vc5_start_draw()
87 cl_address(job->tile_state, 0); in vc5_start_draw()
89 config.width_in_tiles = job->draw_tiles_x; in vc5_start_draw()
90 config.height_in_tiles = job->draw_tiles_y; in vc5_start_draw()
96 config.multisample_mode_4x = job->msaa; in vc5_start_draw()
98 config.maximum_bpp_of_all_render_targets = job->internal_bpp; in vc5_start_draw()
102 cl_emit(&job->bcl, FLUSH_VCD_CACHE, bin); in vc5_start_draw()
105 cl_emit(&job->bcl, OCCLUSION_QUERY_COUNTER, counter); in vc5_start_draw()
110 cl_emit(&job->bcl, START_TILE_BINNING, bin); in vc5_start_draw()
112 job->needs_flush = true; in vc5_start_draw()
113 job->draw_width = vc5->framebuffer.width; in vc5_start_draw()
114 job->draw_height = vc5->framebuffer.height; in vc5_start_draw()
136 struct vc5_job *job = vc5->job; in vc5_emit_gl_shader_state() local
159 vc5_cl_ensure_space(&job->indirect, in vc5_emit_gl_shader_state()
165 cl_emit(&job->indirect, GL_SHADER_STATE_RECORD, shader) { in vc5_emit_gl_shader_state()
261 cl_emit_with_prepacked(&job->indirect, in vc5_emit_gl_shader_state()
283 cl_emit(&job->indirect, GL_SHADER_STATE_ATTRIBUTE_RECORD, attr) { in vc5_emit_gl_shader_state()
285 attr.address = cl_address(job->indirect.bo, 0); in vc5_emit_gl_shader_state()
296 cl_emit(&job->bcl, GL_SHADER_STATE, state) { in vc5_emit_gl_shader_state()
297 state.address = cl_address(job->indirect.bo, shader_rec_offset); in vc5_emit_gl_shader_state()
305 job->shader_rec_count++; in vc5_emit_gl_shader_state()
373 struct vc5_job *job = vc5_get_job_for_fbo(vc5); in vc5_draw_vbo() local
378 vc5_cl_ensure_space_with_branch(&job->bcl, 256 /* XXX */); in vc5_draw_vbo()
413 cl_emit(&job->bcl, BASE_VERTEX_BASE_INSTANCE, base) { in vc5_draw_vbo()
449 cl_emit(&job->bcl, INDEX_BUFFER_SETUP, ib) { in vc5_draw_vbo()
456 cl_emit(&job->bcl, INDEXED_INSTANCED_PRIMITIVE_LIST, prim) { in vc5_draw_vbo()
472 cl_emit(&job->bcl, INDEXED_PRIMITIVE_LIST, prim) { in vc5_draw_vbo()
487 job->draw_calls_queued++; in vc5_draw_vbo()
493 cl_emit(&job->bcl, VERTEX_ARRAY_INSTANCED_PRIMITIVES, prim) { in vc5_draw_vbo()
500 cl_emit(&job->bcl, VERTEX_ARRAY_PRIMITIVES, prim) { in vc5_draw_vbo()
507 job->draw_calls_queued++; in vc5_draw_vbo()
509 if (vc5->zsa && job->zsbuf && in vc5_draw_vbo()
512 struct vc5_resource *rsc = vc5_resource(job->zsbuf->texture); in vc5_draw_vbo()
513 vc5_job_add_bo(job, rsc->bo); in vc5_draw_vbo()
516 job->resolve |= PIPE_CLEAR_DEPTH; in vc5_draw_vbo()
520 job->uses_early_z = true; in vc5_draw_vbo()
524 job->resolve |= PIPE_CLEAR_STENCIL; in vc5_draw_vbo()
532 if (job->resolve & bit || !job->cbufs[i]) in vc5_draw_vbo()
534 struct vc5_resource *rsc = vc5_resource(job->cbufs[i]->texture); in vc5_draw_vbo()
536 job->resolve |= bit; in vc5_draw_vbo()
537 vc5_job_add_bo(job, rsc->bo); in vc5_draw_vbo()
540 if (job->referenced_size > 768 * 1024 * 1024) { in vc5_draw_vbo()
542 job->referenced_size / 1024); in vc5_draw_vbo()
555 struct vc5_job *job = vc5_get_job_for_fbo(vc5); in vc5_clear() local
560 if (job->draw_calls_queued) { in vc5_clear()
562 vc5_job_submit(vc5, job); in vc5_clear()
563 job = vc5_get_job_for_fbo(vc5); in vc5_clear()
601 memcpy(job->clear_color[i], uc.ui, internal_size); in vc5_clear()
605 job->clear_color[i][0] = ((uc.ui[0] & 0xff) | in vc5_clear()
613 memcpy(job->clear_color[i], uc.ui, internal_size); in vc5_clear()
617 job->clear_color[i][0] = ((uc.ui[0] & 0xffff) | in vc5_clear()
619 job->clear_color[i][1] = ((uc.ui[2] & 0xffff) | in vc5_clear()
625 memcpy(job->clear_color[i], color->ui, internal_size); in vc5_clear()
638 job->clear_z = depth; in vc5_clear()
640 job->clear_s = stencil; in vc5_clear()
645 job->draw_min_x = 0; in vc5_clear()
646 job->draw_min_y = 0; in vc5_clear()
647 job->draw_max_x = vc5->framebuffer.width; in vc5_clear()
648 job->draw_max_y = vc5->framebuffer.height; in vc5_clear()
649 job->cleared |= buffers; in vc5_clear()
650 job->resolve |= buffers; in vc5_clear()