• Home
  • Raw
  • Download

Lines Matching refs:job

45         struct v3d_job *job = v3d->job;  in v3d_start_draw()  local
47 if (job->needs_flush) in v3d_start_draw()
53 v3d_cl_ensure_space_with_branch(&job->bcl, 256 /* XXX */); in v3d_start_draw()
55 job->submit.bcl_start = job->bcl.bo->offset; in v3d_start_draw()
56 v3d_job_add_bo(job, job->bcl.bo); in v3d_start_draw()
64 MAX2(fb_layers, 1) * job->draw_tiles_x * job->draw_tiles_y * 64; in v3d_start_draw()
81 job->tile_alloc = v3d_bo_alloc(v3d->screen, tile_alloc_size, in v3d_start_draw()
84 job->tile_state = v3d_bo_alloc(v3d->screen, in v3d_start_draw()
86 job->draw_tiles_y * in v3d_start_draw()
87 job->draw_tiles_x * in v3d_start_draw()
95 cl_emit(&job->bcl, NUMBER_OF_LAYERS, config) { in v3d_start_draw()
102 cl_emit(&job->bcl, TILE_BINNING_MODE_CFG, config) { in v3d_start_draw()
108 config.multisample_mode_4x = job->msaa; in v3d_start_draw()
110 config.maximum_bpp_of_all_render_targets = job->internal_bpp; in v3d_start_draw()
118 cl_emit(&job->bcl, TILE_BINNING_MODE_CFG_PART2, config) { in v3d_start_draw()
120 cl_address(job->tile_alloc, 0); in v3d_start_draw()
121 config.tile_allocation_memory_size = job->tile_alloc->size; in v3d_start_draw()
124 cl_emit(&job->bcl, TILE_BINNING_MODE_CFG_PART1, config) { in v3d_start_draw()
126 cl_address(job->tile_state, 0); in v3d_start_draw()
128 config.width_in_tiles = job->draw_tiles_x; in v3d_start_draw()
129 config.height_in_tiles = job->draw_tiles_y; in v3d_start_draw()
134 config.multisample_mode_4x = job->msaa; in v3d_start_draw()
136 config.maximum_bpp_of_all_render_targets = job->internal_bpp; in v3d_start_draw()
141 cl_emit(&job->bcl, FLUSH_VCD_CACHE, bin); in v3d_start_draw()
144 cl_emit(&job->bcl, OCCLUSION_QUERY_COUNTER, counter); in v3d_start_draw()
149 cl_emit(&job->bcl, START_TILE_BINNING, bin); in v3d_start_draw()
151 job->needs_flush = true; 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 = fb_layers; in v3d_start_draw()
305 v3d_emit_wait_for_tf(struct v3d_job *job) in v3d_emit_wait_for_tf() argument
310 cl_emit(&job->bcl, FLUSH_TRANSFORM_FEEDBACK_DATA, flush); in v3d_emit_wait_for_tf()
312 cl_emit(&job->bcl, WAIT_FOR_TRANSFORM_FEEDBACK, wait) { in v3d_emit_wait_for_tf()
322 _mesa_set_clear(job->tf_write_prscs, NULL); in v3d_emit_wait_for_tf()
326 v3d_emit_wait_for_tf_if_needed(struct v3d_context *v3d, struct v3d_job *job) in v3d_emit_wait_for_tf_if_needed() argument
328 if (!job->tf_enabled) in v3d_emit_wait_for_tf_if_needed()
331 set_foreach(job->tf_write_prscs, entry) { in v3d_emit_wait_for_tf_if_needed()
345 v3d_emit_wait_for_tf(job); in v3d_emit_wait_for_tf_if_needed()
364 v3d_emit_gs_state_record(struct v3d_job *job, in v3d_emit_gs_state_record() argument
370 cl_emit(&job->indirect, GEOMETRY_SHADER_STATE_RECORD, shader) { in v3d_emit_gs_state_record()
410 v3d_emit_tes_gs_common_params(struct v3d_job *job, in v3d_emit_tes_gs_common_params() argument
419 cl_emit(&job->indirect, TESSELLATION_GEOMETRY_COMMON_PARAMS, shader) { in v3d_emit_tes_gs_common_params()
450 v3d_emit_tes_gs_shader_params(struct v3d_job *job, in v3d_emit_tes_gs_shader_params() argument
455 cl_emit(&job->indirect, TESSELLATION_GEOMETRY_SHADER_PARAMS, shader) { in v3d_emit_tes_gs_shader_params()
629 struct v3d_job *job = v3d->job; in v3d_emit_gl_shader_state() local
637 v3d_write_uniforms(v3d, job, v3d->prog.fs, in v3d_emit_gl_shader_state()
643 gs_uniforms = v3d_write_uniforms(v3d, job, v3d->prog.gs, in v3d_emit_gl_shader_state()
647 gs_bin_uniforms = v3d_write_uniforms(v3d, job, v3d->prog.gs_bin, in v3d_emit_gl_shader_state()
652 v3d_write_uniforms(v3d, job, v3d->prog.vs, in v3d_emit_gl_shader_state()
655 v3d_write_uniforms(v3d, job, v3d->prog.cs, in v3d_emit_gl_shader_state()
659 job->tmu_dirty_rcl |= v3d->prog.cs->prog_data.vs->base.tmu_dirty_rcl; in v3d_emit_gl_shader_state()
660 job->tmu_dirty_rcl |= v3d->prog.vs->prog_data.vs->base.tmu_dirty_rcl; in v3d_emit_gl_shader_state()
662 job->tmu_dirty_rcl |= in v3d_emit_gl_shader_state()
666 job->tmu_dirty_rcl |= in v3d_emit_gl_shader_state()
669 job->tmu_dirty_rcl |= v3d->prog.fs->prog_data.fs->base.tmu_dirty_rcl; in v3d_emit_gl_shader_state()
686 v3d_cl_ensure_space(&job->indirect, in v3d_emit_gl_shader_state()
711 v3d_emit_gs_state_record(v3d->job, in v3d_emit_gl_shader_state()
718 v3d_emit_tes_gs_common_params(v3d->job, in v3d_emit_gl_shader_state()
727 v3d_emit_tes_gs_shader_params(v3d->job, in v3d_emit_gl_shader_state()
737 v3d_emit_tes_gs_shader_params(v3d->job, in v3d_emit_gl_shader_state()
746 cl_emit(&job->indirect, GL_SHADER_STATE_RECORD, shader) { in v3d_emit_gl_shader_state()
885 cl_emit_with_prepacked(&job->indirect, in v3d_emit_gl_shader_state()
922 cl_emit(&job->indirect, GL_SHADER_STATE_ATTRIBUTE_RECORD, attr) { in v3d_emit_gl_shader_state()
924 attr.address = cl_address(job->indirect.bo, 0); in v3d_emit_gl_shader_state()
935 cl_emit(&job->bcl, VCM_CACHE_SIZE, vcm) { in v3d_emit_gl_shader_state()
942 cl_emit(&job->bcl, GL_SHADER_STATE_INCLUDING_GS, state) { in v3d_emit_gl_shader_state()
943 state.address = cl_address(job->indirect.bo, in v3d_emit_gl_shader_state()
948 cl_emit(&job->bcl, GL_SHADER_STATE, state) { in v3d_emit_gl_shader_state()
949 state.address = cl_address(job->indirect.bo, in v3d_emit_gl_shader_state()
956 cl_emit(&job->bcl, GL_SHADER_STATE, state) { in v3d_emit_gl_shader_state()
957 state.address = cl_address(job->indirect.bo, shader_rec_offset); in v3d_emit_gl_shader_state()
992 v3d_update_job_ez(struct v3d_context *v3d, struct v3d_job *job) in v3d_update_job_ez() argument
1007 if (job->ez_state == VC5_EZ_UNDECIDED) in v3d_update_job_ez()
1008 job->ez_state = v3d->zsa->ez_state; in v3d_update_job_ez()
1009 else if (job->ez_state != v3d->zsa->ez_state) in v3d_update_job_ez()
1010 job->ez_state = VC5_EZ_DISABLED; in v3d_update_job_ez()
1018 job->ez_state = VC5_EZ_DISABLED; in v3d_update_job_ez()
1027 job->ez_state = VC5_EZ_DISABLED; in v3d_update_job_ez()
1030 if (job->first_ez_state == VC5_EZ_UNDECIDED && in v3d_update_job_ez()
1031 (job->ez_state != VC5_EZ_DISABLED || job->draw_calls_queued == 0)) in v3d_update_job_ez()
1032 job->first_ez_state = job->ez_state; in v3d_update_job_ez()
1148 struct v3d_job *job = v3d_get_job_for_fbo(v3d); in v3d_draw_vbo() local
1161 job->submit.in_sync_bcl = v3d->out_sync; in v3d_draw_vbo()
1168 job->submit.in_sync_bcl = v3d->out_sync; in v3d_draw_vbo()
1177 v3d_job_add_write_resource(job, in v3d_draw_vbo()
1179 job->tmu_dirty_rcl = true; in v3d_draw_vbo()
1183 v3d_job_add_write_resource(job, in v3d_draw_vbo()
1185 job->tmu_dirty_rcl = true; in v3d_draw_vbo()
1192 v3d_cl_ensure_space_with_branch(&job->bcl, 256 /* XXX */); in v3d_draw_vbo()
1203 v3d_update_job_ez(v3d, job); in v3d_draw_vbo()
1213 v3d_emit_wait_for_tf_if_needed(v3d, job); in v3d_draw_vbo()
1246 cl_emit(&job->bcl, BASE_VERTEX_BASE_INSTANCE, base) { in v3d_draw_vbo()
1281 cl_emit(&job->bcl, INDEX_BUFFER_SETUP, ib) { in v3d_draw_vbo()
1288 cl_emit(&job->bcl, INDIRECT_INDEXED_INSTANCED_PRIM_LIST, prim) { in v3d_draw_vbo()
1304 cl_emit(&job->bcl, INDEXED_INSTANCED_PRIM_LIST, prim) { in v3d_draw_vbo()
1320 cl_emit(&job->bcl, INDEXED_PRIM_LIST, prim) { in v3d_draw_vbo()
1339 cl_emit(&job->bcl, INDIRECT_VERTEX_ARRAY_INSTANCED_PRIMS, prim) { in v3d_draw_vbo()
1353 cl_emit(&job->bcl, VERTEX_ARRAY_INSTANCED_PRIMS, prim) { in v3d_draw_vbo()
1365 cl_emit(&job->bcl, VERTEX_ARRAY_PRIMS, prim) { in v3d_draw_vbo()
1377 cl_emit(&job->bcl, TRANSFORM_FEEDBACK_FLUSH_AND_COUNT, flush); in v3d_draw_vbo()
1379 job->draw_calls_queued++; in v3d_draw_vbo()
1381 job->tf_draw_calls_queued++; in v3d_draw_vbo()
1389 if (v3d->zsa && job->zsbuf && v3d->zsa->base.depth.enabled) { in v3d_draw_vbo()
1390 struct v3d_resource *rsc = v3d_resource(job->zsbuf->texture); in v3d_draw_vbo()
1391 v3d_job_add_bo(job, rsc->bo); in v3d_draw_vbo()
1393 job->load |= PIPE_CLEAR_DEPTH & ~job->clear; in v3d_draw_vbo()
1395 job->store |= PIPE_CLEAR_DEPTH; in v3d_draw_vbo()
1399 if (v3d->zsa && job->zsbuf && v3d->zsa->base.stencil[0].enabled) { in v3d_draw_vbo()
1400 struct v3d_resource *rsc = v3d_resource(job->zsbuf->texture); in v3d_draw_vbo()
1404 v3d_job_add_bo(job, rsc->bo); in v3d_draw_vbo()
1406 job->load |= PIPE_CLEAR_STENCIL & ~job->clear; in v3d_draw_vbo()
1409 job->store |= PIPE_CLEAR_STENCIL; in v3d_draw_vbo()
1418 if (job->store & bit || !job->cbufs[i]) in v3d_draw_vbo()
1420 struct v3d_resource *rsc = v3d_resource(job->cbufs[i]->texture); in v3d_draw_vbo()
1422 job->load |= bit & ~job->clear; in v3d_draw_vbo()
1424 job->store |= bit; in v3d_draw_vbo()
1425 v3d_job_add_bo(job, rsc->bo); in v3d_draw_vbo()
1428 if (job->referenced_size > 768 * 1024 * 1024) { in v3d_draw_vbo()
1430 job->referenced_size / 1024); in v3d_draw_vbo()
1490 struct v3d_job *job = v3d_job_create(v3d); in v3d_launch_grid() local
1542 v3d_job_add_bo(job, v3d_resource(v3d->prog.compute->resource)->bo); in v3d_launch_grid()
1559 struct v3d_cl_reloc uniforms = v3d_write_uniforms(v3d, job, in v3d_launch_grid()
1562 v3d_job_add_bo(job, uniforms.bo); in v3d_launch_grid()
1568 submit.bo_handles = job->submit.bo_handles; in v3d_launch_grid()
1569 submit.bo_handle_count = job->submit.bo_handle_count; in v3d_launch_grid()
1586 v3d_job_free(v3d, job); in v3d_launch_grid()
1641 v3d_tlb_clear(struct v3d_job *job, unsigned buffers, in v3d_tlb_clear() argument
1645 struct v3d_context *v3d = job->v3d; in v3d_tlb_clear()
1647 if (job->draw_calls_queued) { in v3d_tlb_clear()
1652 buffers &= ~(job->load | job->store); in v3d_tlb_clear()
1662 job->zsbuf && in v3d_tlb_clear()
1663 util_format_is_depth_and_stencil(job->zsbuf->texture->format)) { in v3d_tlb_clear()
1692 memcpy(job->clear_color[i], uc.ui, internal_size); in v3d_tlb_clear()
1696 job->clear_color[i][0] = ((color->ui[0] & 0xff) | in v3d_tlb_clear()
1704 memcpy(job->clear_color[i], uc.ui, internal_size); in v3d_tlb_clear()
1708 job->clear_color[i][0] = ((color->ui[0] & 0xffff) | in v3d_tlb_clear()
1710 job->clear_color[i][1] = ((color->ui[2] & 0xffff) | in v3d_tlb_clear()
1716 memcpy(job->clear_color[i], color->ui, internal_size); in v3d_tlb_clear()
1729 job->clear_z = depth; in v3d_tlb_clear()
1731 job->clear_s = stencil; in v3d_tlb_clear()
1736 job->draw_min_x = 0; in v3d_tlb_clear()
1737 job->draw_min_y = 0; in v3d_tlb_clear()
1738 job->draw_max_x = v3d->framebuffer.width; in v3d_tlb_clear()
1739 job->draw_max_y = v3d->framebuffer.height; in v3d_tlb_clear()
1740 job->clear |= buffers; in v3d_tlb_clear()
1741 job->store |= buffers; in v3d_tlb_clear()
1753 struct v3d_job *job = v3d_get_job_for_fbo(v3d); in v3d_clear() local
1755 buffers &= ~v3d_tlb_clear(job, buffers, color, depth, stencil); in v3d_clear()