| /third_party/mesa3d/src/gallium/auxiliary/util/ |
| H A D | u_draw.c | 131 const struct pipe_draw_indirect_info *indirect, in util_draw_indirect_read() 139 assert(indirect); in util_draw_indirect_read() 140 assert(!indirect->count_from_stream_output); in util_draw_indirect_read() 142 uint32_t draw_count = indirect->draw_count; in util_draw_indirect_read() 143 if (indirect->indirect_draw_count) { in util_draw_indirect_read() 146 indirect->indirect_draw_count, in util_draw_indirect_read() 147 indirect->indirect_draw_count_offset, in util_draw_indirect_read() 150 debug_printf("%s: failed to map indirect draw count buffer\n", __FUNCTION__); in util_draw_indirect_read() 164 unsigned map_size = (draw_count - 1) * indirect->stride + (num_params * sizeof(uint32_t)); in util_draw_indirect_read() 166 indirect in util_draw_indirect_read() 129 util_draw_indirect_read(struct pipe_context *pipe, const struct pipe_draw_info *info_in, const struct pipe_draw_indirect_info *indirect, unsigned *num_draws) util_draw_indirect_read() argument 195 util_draw_indirect(struct pipe_context *pipe, const struct pipe_draw_info *info_in, const struct pipe_draw_indirect_info *indirect) util_draw_indirect() argument 257 util_draw_multi(struct pipe_context *pctx, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) util_draw_multi() argument [all...] |
| H A D | u_prim_restart.c | 42 read_indirect_elements(struct pipe_context *context, const struct pipe_draw_indirect_info *indirect) in read_indirect_elements() argument 49 assert(indirect->buffer->width0 > 3 * sizeof(uint32_t)); in read_indirect_elements() 50 map = pipe_buffer_map_range(context, indirect->buffer, in read_indirect_elements() 51 indirect->offset, in read_indirect_elements() 112 DrawElementsIndirectCommand indirect; in util_translate_prim_restart_ib() local 121 indirect = read_indirect_elements(context, indirect_info); in util_translate_prim_restart_ib() 122 count = indirect.count; in util_translate_prim_restart_ib() 123 start = indirect.firstIndex; in util_translate_prim_restart_ib() 298 DrawElementsIndirectCommand indirect; in util_draw_vbo_without_prim_restart() local 316 indirect in util_draw_vbo_without_prim_restart() [all...] |
| /third_party/mesa3d/src/gallium/drivers/svga/ |
| H A D | svga_pipe_draw.c | 85 const struct pipe_draw_indirect_info *indirect) in retry_draw_auto() 88 assert(indirect->count_from_stream_output); in retry_draw_auto() 121 NULL, /* indirect drawing info */ in retry_draw_auto() 122 indirect->count_from_stream_output)); in retry_draw_auto() 135 const struct pipe_draw_indirect_info *indirect) in retry_draw_indirect() 138 assert(indirect && indirect->buffer); in retry_draw_indirect() 139 /* indirect drawing implies core profile and none of these prim types */ in retry_draw_indirect() 146 util_draw_indirect(&svga->pipe, info, indirect); in retry_draw_indirect() 155 range.primitiveCount = 0; /* specified in indirect buffe in retry_draw_indirect() 83 retry_draw_auto(struct svga_context *svga, const struct pipe_draw_info *info, const struct pipe_draw_indirect_info *indirect) retry_draw_auto() argument 133 retry_draw_indirect(struct svga_context *svga, const struct pipe_draw_info *info, const struct pipe_draw_indirect_info *indirect) retry_draw_indirect() argument 220 svga_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) svga_draw_vbo() argument [all...] |
| H A D | svga_pipe_cs.c | 199 if (info->indirect) { in svga_launch_grid() 200 svga->curr.grid_info.indirect= info->indirect; in svga_launch_grid() 208 if (info->indirect) { in svga_launch_grid() 210 indirect_surf = svga_buffer_handle(svga, info->indirect, in svga_launch_grid()
|
| /third_party/mesa3d/src/gallium/drivers/crocus/ |
| H A D | crocus_draw.c | 205 const struct pipe_draw_indirect_info *indirect, in crocus_update_draw_parameters() 213 if (indirect && indirect->buffer) { in crocus_update_draw_parameters() 214 pipe_resource_reference(&draw_params->res, indirect->buffer); in crocus_update_draw_parameters() 216 indirect->offset + (info->index_size ? 12 : 8); in crocus_update_draw_parameters() 276 struct pipe_draw_indirect_info indirect = *dindirect; in crocus_indirect_draw_vbo() local 279 if (devinfo->verx10 >= 75 && indirect.indirect_draw_count && in crocus_indirect_draw_vbo() 288 for (int i = 0; i < indirect.draw_count; i++) { in crocus_indirect_draw_vbo() 294 crocus_update_draw_parameters(ice, &info, drawid_offset + i, &indirect, draws); in crocus_indirect_draw_vbo() 296 screen->vtbl.upload_render_state(ice, batch, &info, drawid_offset + i, &indirect, draw in crocus_indirect_draw_vbo() 202 crocus_update_draw_parameters(struct crocus_context *ice, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draw) crocus_update_draw_parameters() argument 316 crocus_simple_draw_vbo(struct crocus_context *ice, const struct pipe_draw_info *draw, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *sc) crocus_simple_draw_vbo() argument 336 crocus_draw_vbo_get_vertex_count(struct pipe_context *ctx, const struct pipe_draw_info *info_in, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect) crocus_draw_vbo_get_vertex_count() argument 356 crocus_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) crocus_draw_vbo() argument [all...] |
| /third_party/mesa3d/src/gallium/drivers/iris/ |
| H A D | iris_draw.c | 125 const struct pipe_draw_indirect_info *indirect, in iris_update_draw_parameters() 133 if (indirect && indirect->buffer) { in iris_update_draw_parameters() 134 pipe_resource_reference(&draw_params->res, indirect->buffer); in iris_update_draw_parameters() 136 indirect->offset + (info->index_size ? 12 : 8); in iris_update_draw_parameters() 193 struct pipe_draw_indirect_info indirect = *dindirect; in iris_indirect_draw_vbo() local 195 iris_emit_buffer_barrier_for(batch, iris_resource_bo(indirect.buffer), in iris_indirect_draw_vbo() 198 if (indirect.indirect_draw_count) { in iris_indirect_draw_vbo() 200 iris_resource_bo(indirect.indirect_draw_count); in iris_indirect_draw_vbo() 213 for (int i = 0; i < indirect in iris_indirect_draw_vbo() 122 iris_update_draw_parameters(struct iris_context *ice, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draw) iris_update_draw_parameters() argument 238 iris_simple_draw_vbo(struct iris_context *ice, const struct pipe_draw_info *draw, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *sc) iris_simple_draw_vbo() argument 257 iris_draw_vbo(struct pipe_context *ctx, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) iris_draw_vbo() argument [all...] |
| H A D | iris_measure.h | 48 const struct pipe_draw_indirect_info *indirect, 51 #define iris_measure_snapshot(ice, batch, type, draw, indirect, start_count) \ 53 _iris_measure_snapshot(ice, batch, type, draw, indirect, start_count)
|
| /third_party/mesa3d/src/mesa/state_tracker/ |
| H A D | st_draw.c | 223 const struct pipe_draw_indirect_info *indirect, in rewrite_partial_stride_indirect() 227 struct u_indirect_params *new_draws = util_draw_indirect_read(st->pipe, info, indirect, &draw_count); in rewrite_partial_stride_indirect() 250 struct pipe_draw_indirect_info indirect; in st_indirect_draw_vbo() local 256 memset(&indirect, 0, sizeof(indirect)); in st_indirect_draw_vbo() 275 indirect.buffer = indirect_data->buffer; in st_indirect_draw_vbo() 276 indirect.offset = indirect_offset; in st_indirect_draw_vbo() 279 if (!indirect.buffer) in st_indirect_draw_vbo() 286 indirect.draw_count = 1; in st_indirect_draw_vbo() 288 cso_draw_vbo(st->cso_context, &info, i, &indirect, dra in st_indirect_draw_vbo() 221 rewrite_partial_stride_indirect(struct st_context *st, const struct pipe_draw_info *info, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias draw) rewrite_partial_stride_indirect() argument 319 struct pipe_draw_indirect_info indirect; st_draw_transform_feedback() local [all...] |
| /third_party/mesa3d/src/mesa/main/ |
| H A D | compute.c | 222 valid_dispatch_indirect(struct gl_context *ctx, GLintptr indirect) in valid_dispatch_indirect() argument 225 const uint64_t end = (uint64_t) indirect + size; in valid_dispatch_indirect() 233 * "An INVALID_VALUE error is generated if indirect is negative or is not a in valid_dispatch_indirect() 236 if (indirect & (sizeof(GLuint) - 1)) { in valid_dispatch_indirect() 238 "%s(indirect is not aligned)", name); in valid_dispatch_indirect() 242 if (indirect < 0) { in valid_dispatch_indirect() 244 "%s(indirect is less than zero)", name); in valid_dispatch_indirect() 357 dispatch_compute_indirect(GLintptr indirect, bool no_error) in dispatch_compute_indirect() argument 364 _mesa_debug(ctx, "glDispatchComputeIndirect(%ld)\n", (long) indirect); in dispatch_compute_indirect() 366 if (!no_error && !valid_dispatch_indirect(ctx, indirect)) in dispatch_compute_indirect() 387 _mesa_DispatchComputeIndirect_no_error(GLintptr indirect) _mesa_DispatchComputeIndirect_no_error() argument 393 _mesa_DispatchComputeIndirect(GLintptr indirect) _mesa_DispatchComputeIndirect() argument [all...] |
| H A D | draw.c | 608 GLenum mode, const GLvoid *indirect, in valid_draw_indirect() 611 const uint64_t end = (uint64_t) (uintptr_t) indirect + size; in valid_draw_indirect() 654 * (thus allowing transform feedback to work with indirect draw commands). in valid_draw_indirect() 663 * "An INVALID_VALUE error is generated if indirect is not a in valid_draw_indirect() 666 if ((GLsizeiptr)indirect & (sizeof(GLuint) - 1)) in valid_draw_indirect() 687 GLenum mode, GLenum type, const GLvoid *indirect, in valid_draw_indirect_elements() 703 return valid_draw_indirect(ctx, mode, indirect, size); in valid_draw_indirect_elements() 740 const GLvoid *indirect) in _mesa_validate_DrawArraysIndirect() 744 valid_draw_indirect(ctx, mode, indirect, in _mesa_validate_DrawArraysIndirect() 756 const GLvoid *indirect) in _mesa_validate_DrawElementsIndirect() 607 valid_draw_indirect(struct gl_context *ctx, GLenum mode, const GLvoid *indirect, GLsizei size) valid_draw_indirect() argument 686 valid_draw_indirect_elements(struct gl_context *ctx, GLenum mode, GLenum type, const GLvoid *indirect, GLsizeiptr size) valid_draw_indirect_elements() argument 738 _mesa_validate_DrawArraysIndirect(struct gl_context *ctx, GLenum mode, const GLvoid *indirect) _mesa_validate_DrawArraysIndirect() argument 754 _mesa_validate_DrawElementsIndirect(struct gl_context *ctx, GLenum mode, GLenum type, const GLvoid *indirect) _mesa_validate_DrawElementsIndirect() argument 769 _mesa_validate_MultiDrawArraysIndirect(struct gl_context *ctx, GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride) _mesa_validate_MultiDrawArraysIndirect() argument 797 _mesa_validate_MultiDrawElementsIndirect(struct gl_context *ctx, GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride) _mesa_validate_MultiDrawElementsIndirect() argument 861 _mesa_validate_MultiDrawArraysIndirectCount(struct gl_context *ctx, GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) _mesa_validate_MultiDrawArraysIndirectCount() argument 894 _mesa_validate_MultiDrawElementsIndirectCount(struct gl_context *ctx, GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride) _mesa_validate_MultiDrawElementsIndirectCount() argument 2373 _mesa_validated_multidrawarraysindirect(struct gl_context *ctx, GLenum mode, GLintptr indirect, GLintptr drawcount_offset, GLsizei drawcount, GLsizei stride, struct gl_buffer_object *drawcount_buffer) _mesa_validated_multidrawarraysindirect() argument 2393 _mesa_validated_multidrawelementsindirect(struct gl_context *ctx, GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount_offset, GLsizei drawcount, GLsizei stride, struct gl_buffer_object *drawcount_buffer) _mesa_validated_multidrawelementsindirect() argument 2427 _mesa_DrawArraysIndirect(GLenum mode, const GLvoid *indirect) _mesa_DrawArraysIndirect() argument 2466 _mesa_DrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect) _mesa_DrawElementsIndirect() argument 2526 _mesa_MultiDrawArraysIndirect(GLenum mode, const GLvoid *indirect, GLsizei primcount, GLsizei stride) _mesa_MultiDrawArraysIndirect() argument 2602 _mesa_MultiDrawElementsIndirect(GLenum mode, GLenum type, const GLvoid *indirect, GLsizei primcount, GLsizei stride) _mesa_MultiDrawElementsIndirect() argument 2698 _mesa_MultiDrawArraysIndirectCountARB(GLenum mode, GLintptr indirect, GLintptr drawcount_offset, GLsizei maxdrawcount, GLsizei stride) _mesa_MultiDrawArraysIndirectCountARB() argument 2728 _mesa_MultiDrawElementsIndirectCountARB(GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount_offset, GLsizei maxdrawcount, GLsizei stride) _mesa_MultiDrawElementsIndirectCountARB() argument [all...] |
| /third_party/mesa3d/src/gallium/drivers/softpipe/ |
| H A D | sp_draw_arrays.c | 64 const struct pipe_draw_indirect_info *indirect, in softpipe_draw_vbo() 69 util_draw_multi(pipe, info, drawid_offset, indirect, draws, num_draws); in softpipe_draw_vbo() 73 if (!indirect && (!draws[0].count || !info->instance_count)) in softpipe_draw_vbo() 84 if (indirect && indirect->buffer) { in softpipe_draw_vbo() 85 util_draw_indirect(pipe, info, indirect); in softpipe_draw_vbo() 144 draw_vbo(draw, info, drawid_offset, indirect, draws, num_draws, 0); in softpipe_draw_vbo() 61 softpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) softpipe_draw_vbo() argument
|
| /third_party/mesa3d/src/gallium/drivers/freedreno/a5xx/ |
| H A D | fd5_draw.h | 84 const struct pipe_draw_indirect_info *indirect, in fd5_draw_emit() 92 if (indirect && indirect->buffer) { in fd5_draw_emit() 93 struct fd_resource *ind = fd_resource(indirect->buffer); in fd5_draw_emit() 108 OUT_RELOC(ring, ind->bo, indirect->offset, 0, 0); in fd5_draw_emit() 113 OUT_RELOC(ring, ind->bo, indirect->offset, 0, 0); in fd5_draw_emit() 81 fd5_draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring, enum pc_di_primtype primtype, enum pc_di_vis_cull_mode vismode, const struct pipe_draw_info *info, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draw, unsigned index_offset) fd5_draw_emit() argument
|
| /third_party/mesa3d/src/gallium/drivers/freedreno/a4xx/ |
| H A D | fd4_draw.h | 90 const struct pipe_draw_indirect_info *indirect, in fd4_draw_emit() 98 if (indirect && indirect->buffer) { in fd4_draw_emit() 99 struct fd_resource *ind = fd_resource(indirect->buffer); in fd4_draw_emit() 114 OUT_RELOC(ring, ind->bo, indirect->offset, 0, 0); in fd4_draw_emit() 119 OUT_RELOC(ring, ind->bo, indirect->offset, 0, 0); in fd4_draw_emit() 87 fd4_draw_emit(struct fd_batch *batch, struct fd_ringbuffer *ring, enum pc_di_primtype primtype, enum pc_di_vis_cull_mode vismode, const struct pipe_draw_info *info, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draw, unsigned index_offset) fd4_draw_emit() argument
|
| /third_party/mesa3d/src/compiler/nir/ |
| H A D | nir_lower_locals_to_regs.c | 42 * array, it ignores the offset and whether it is direct or indirect 140 src.reg.indirect = NULL; in get_deref_reg_src() 155 if (nir_src_is_const(d->arr.index) && !src.reg.indirect) { in get_deref_reg_src() 159 if (src.reg.indirect) { in get_deref_reg_src() 162 src.reg.indirect = malloc(sizeof(nir_src)); in get_deref_reg_src() 163 *src.reg.indirect = in get_deref_reg_src() 168 assert(src.reg.indirect->is_ssa); in get_deref_reg_src() 170 src.reg.indirect->ssa = in get_deref_reg_src() 171 nir_iadd(b, src.reg.indirect->ssa, in get_deref_reg_src() 273 mov->dest.dest.reg.indirect in lower_locals_to_regs_block() [all...] |
| /third_party/mesa3d/src/gallium/drivers/freedreno/ |
| H A D | freedreno_draw.c | 197 const struct pipe_draw_indirect_info *indirect) assert_dt 219 /* Mark indirect draw buffer as being read */ 220 if (indirect) { 221 if (indirect->buffer) 222 resource_read(batch, indirect->buffer); 223 if (indirect->count_from_stream_output) 225 batch, fd_stream_output_target(indirect->count_from_stream_output) 279 const struct pipe_draw_indirect_info *indirect, 284 /* for debugging problems with indirect draw, it is convenient 288 if (indirect [all...] |
| /third_party/mesa3d/src/gallium/drivers/freedreno/a6xx/ |
| H A D | fd6_draw.c | 48 const struct pipe_draw_indirect_info *indirect) in draw_emit_xfb() 51 fd_stream_output_target(indirect->count_from_stream_output); in draw_emit_xfb() 75 const struct pipe_draw_indirect_info *indirect, in draw_emit_indirect() 78 struct fd_resource *ind = fd_resource(indirect->buffer); in draw_emit_indirect() 88 A5XX_CP_DRAW_INDX_INDIRECT_INDIRECT(ind->bo, indirect->offset)); in draw_emit_indirect() 91 A5XX_CP_DRAW_INDIRECT_INDIRECT(ind->bo, indirect->offset)); in draw_emit_indirect() 135 const struct pipe_draw_indirect_info *indirect, 146 .indirect = indirect, 194 if (!(emit.key.hs || emit.key.ds || emit.key.gs || indirect)) 46 draw_emit_xfb(struct fd_ringbuffer *ring, struct CP_DRAW_INDX_OFFSET_0 *draw0, const struct pipe_draw_info *info, const struct pipe_draw_indirect_info *indirect) draw_emit_xfb() argument 72 draw_emit_indirect(struct fd_ringbuffer *ring, struct CP_DRAW_INDX_OFFSET_0 *draw0, const struct pipe_draw_info *info, const struct pipe_draw_indirect_info *indirect, unsigned index_offset) draw_emit_indirect() argument [all...] |
| /third_party/mesa3d/src/gallium/drivers/nouveau/nvc0/ |
| H A D | nvc0_vbo.c | 771 const struct pipe_draw_indirect_info *indirect) in nvc0_draw_stream_output() 774 struct nvc0_so_target *so = nvc0_so_target(indirect->count_from_stream_output); in nvc0_draw_stream_output() 809 const struct pipe_draw_indirect_info *indirect) in nvc0_draw_indirect() 812 struct nv04_resource *buf = nv04_resource(indirect->buffer); in nvc0_draw_indirect() 813 struct nv04_resource *buf_count = nv04_resource(indirect->indirect_draw_count); in nvc0_draw_indirect() 814 unsigned size, macro, count = indirect->draw_count, drawid = drawid_offset; in nvc0_draw_indirect() 815 uint32_t offset = buf->offset + indirect->offset; in nvc0_draw_indirect() 864 if (indirect->stride == size * 4) { in nvc0_draw_indirect() 884 buf_count->offset + indirect->indirect_draw_count_offset, in nvc0_draw_indirect() 891 offset += draws * indirect in nvc0_draw_indirect() 769 nvc0_draw_stream_output(struct nvc0_context *nvc0, const struct pipe_draw_info *info, const struct pipe_draw_indirect_info *indirect) nvc0_draw_stream_output() argument 807 nvc0_draw_indirect(struct nvc0_context *nvc0, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect) nvc0_draw_indirect() argument 927 nvc0_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) nvc0_draw_vbo() argument [all...] |
| /third_party/mesa3d/src/gallium/drivers/v3d/ |
| H A D | v3dx_draw.c | 372 cl_emit(&job->indirect, GEOMETRY_SHADER_STATE_RECORD, shader) { in v3d_emit_gs_state_record() 421 cl_emit(&job->indirect, TESSELLATION_GEOMETRY_COMMON_PARAMS, shader) { in v3d_emit_tes_gs_common_params() 457 cl_emit(&job->indirect, TESSELLATION_GEOMETRY_SHADER_PARAMS, shader) { in v3d_emit_tes_gs_shader_params() 492 /* Upload the uniforms to the indirect CL first */ in v3d_emit_gl_shader_state() 550 v3d_cl_ensure_space(&job->indirect, in v3d_emit_gl_shader_state() 599 cl_emit(&job->indirect, GL_SHADER_STATE_RECORD, shader) { in v3d_emit_gl_shader_state() 743 cl_emit_with_prepacked(&job->indirect, in v3d_emit_gl_shader_state() 780 cl_emit(&job->indirect, GL_SHADER_STATE_ATTRIBUTE_RECORD, attr) { in v3d_emit_gl_shader_state() 782 attr.address = cl_address(job->indirect.bo, 0); in v3d_emit_gl_shader_state() 802 state.address = cl_address(job->indirect in v3d_emit_gl_shader_state() 967 v3d_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) v3d_draw_vbo() argument [all...] |
| H A D | v3d_uniforms.c | 158 V3D33_TEXTURE_UNIFORM_PARAMETER_1_CFG_MODE1_pack(&job->indirect, in write_texture_p1() 191 cl_aligned_reloc(&job->indirect, uniforms, sview->bo, in write_tmu_p0() 211 cl_aligned_reloc(&job->indirect, uniforms, in write_image_tmu_p0() 243 cl_aligned_reloc(&job->indirect, uniforms, in write_tmu_p1() 262 * uniforms fill up the tail bytes of a page in the indirect in v3d_write_uniforms() 267 v3d_cl_ensure_space(&job->indirect, (uinfo->count + 1) * 4, 4); in v3d_write_uniforms() 269 struct v3d_cl_reloc uniform_stream = cl_get_address(&job->indirect); in v3d_write_uniforms() 273 cl_start(&job->indirect); in v3d_write_uniforms() 374 cl_aligned_reloc(&job->indirect, &uniforms, in v3d_write_uniforms() 385 cl_aligned_reloc(&job->indirect, in v3d_write_uniforms() [all...] |
| /third_party/mesa3d/src/gallium/drivers/llvmpipe/ |
| H A D | lp_draw_arrays.c | 56 const struct pipe_draw_indirect_info *indirect, in llvmpipe_draw_vbo() 60 if (!indirect && (!draws[0].count || !info->instance_count)) in llvmpipe_draw_vbo() 71 if (indirect && indirect->buffer) { in llvmpipe_draw_vbo() 72 util_draw_indirect(pipe, info, indirect); in llvmpipe_draw_vbo() 150 draw_vbo(draw, info, drawid_offset, indirect, draws, num_draws, in llvmpipe_draw_vbo() 54 llvmpipe_draw_vbo(struct pipe_context *pipe, const struct pipe_draw_info *info, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) llvmpipe_draw_vbo() argument
|
| /third_party/mesa3d/src/gallium/drivers/radeonsi/ |
| H A D | si_state_draw.cpp | 943 * We don't know that for indirect drawing, so treat it as 950 * Assume indirect draws always use small instances. 1048 static bool num_instanced_prims_less_than(const struct pipe_draw_indirect_info *indirect, 1058 if (indirect) { 1059 return indirect->buffer || 1060 (instance_count > 1 && indirect->count_from_stream_output); 1070 const struct pipe_draw_indirect_info *indirect, 1089 ((indirect && indirect->buffer) || instance_count > 1); 1091 num_instanced_prims_less_than<IS_DRAW_VERTEX_STATE>(indirect, pri [all...] |
| /third_party/mesa3d/src/gallium/drivers/freedreno/ir3/ |
| H A D | ir3_const.h | 456 const struct pipe_draw_indirect_info *indirect, 492 /* for indirect draw, we need to copy VTXID_BASE from 493 * indirect-draw parameters buffer.. which is annoying 497 if (indirect && needs_vtxid_base) { 502 unsigned src_off = indirect->offset; 517 ctx->screen->mem_to_mem(ring, vertex_params_rsc, 0, indirect->buffer, 538 const struct pipe_draw_indirect_info *indirect, 548 ir3_emit_driver_params(v, ring, ctx, info, indirect, draw); 582 if (info->indirect) { 583 struct pipe_resource *indirect variable [all...] |
| /third_party/mesa3d/src/gallium/auxiliary/gallivm/ |
| H A D | lp_bld_tgsi_info.c | 103 * to figure out if a texture is considered indirect. 116 boolean indirect = FALSE; in analyse_tex() local 144 /* modifier would be in another not analyzed reg so just say indirect */ in analyse_tex() 146 indirect = TRUE; in analyse_tex() 151 indirect = TRUE; in analyse_tex() 160 indirect = TRUE; in analyse_tex() 178 indirect = TRUE; in analyse_tex() 185 if (indirect) { in analyse_tex() 198 * to figure out if a texture is considered indirect. 213 boolean indirect in analyse_sample() local [all...] |
| /third_party/mesa3d/src/gallium/drivers/d3d12/ |
| H A D | d3d12_draw.cpp | 676 const struct pipe_draw_indirect_info *indirect, in twoface_emulation() 681 d3d12_draw_vbo(&ctx->base, dinfo, 0, indirect, draw, 1); in twoface_emulation() 880 const struct pipe_draw_indirect_info *indirect, in d3d12_draw_vbo() 885 util_draw_multi(pctx, dinfo, drawid_offset, indirect, draws, num_draws); in d3d12_draw_vbo() 889 if (!indirect && (!draws[0].count || !dinfo->instance_count)) in d3d12_draw_vbo() 906 !indirect && in d3d12_draw_vbo() 912 util_primconvert_draw_vbo(ctx->primconvert, dinfo, drawid_offset, indirect, draws, num_draws); in d3d12_draw_vbo() 916 bool draw_auto = update_draw_auto(ctx, &indirect, &patched_indirect); in d3d12_draw_vbo() 917 bool indirect_with_sysvals = !draw_auto && update_draw_indirect_with_sysvals(ctx, dinfo, drawid_offset, &indirect, &patched_indirect); in d3d12_draw_vbo() 921 if (indirect) { in d3d12_draw_vbo() 673 twoface_emulation(struct d3d12_context *ctx, struct d3d12_rasterizer_state *rast, const struct pipe_draw_info *dinfo, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draw) twoface_emulation() argument 877 d3d12_draw_vbo(struct pipe_context *pctx, const struct pipe_draw_info *dinfo, unsigned drawid_offset, const struct pipe_draw_indirect_info *indirect, const struct pipe_draw_start_count_bias *draws, unsigned num_draws) d3d12_draw_vbo() argument 1313 struct pipe_resource *indirect = info->indirect; d3d12_launch_grid() local [all...] |
| /third_party/mesa3d/src/freedreno/ir3/ |
| H A D | ir3_sched.c | 154 /* Is this instruction a direct or indirect dependency for a kill? 442 struct ir3_instruction *indirect = ir->a0_users[i]; in check_instr() local 443 if (!indirect) in check_instr() 445 if (indirect->address->def != instr->dsts[0]) in check_instr() 447 ready = could_sched(ctx, indirect, instr); in check_instr() 459 struct ir3_instruction *indirect = ir->a1_users[i]; in check_instr() local 460 if (!indirect) in check_instr() 462 if (indirect->address->def != instr->dsts[0]) in check_instr() 464 ready = could_sched(ctx, indirect, instr); in check_instr() 925 struct ir3_instruction *indirect in split_addr() local [all...] |