Home
last modified time | relevance | path

Searched refs:so_info (Results 1 – 25 of 25) sorted by relevance

/third_party/mesa3d/src/gallium/drivers/zink/
Dzink_compiler.h55 struct pipe_stream_output_info so_info; member
108 const struct pipe_stream_output_info *so_info);
Dzink_compiler.c517 update_so_info(struct zink_shader *zs, const struct pipe_stream_output_info *so_info, in update_so_info() argument
535 for (unsigned i = 0; i < so_info->num_outputs; i++) { in update_so_info()
536 const struct pipe_stream_output *output = &so_info->output[i]; in update_so_info()
539 zs->streamout.so_info.stride[output->output_buffer] = so_info->stride[output->output_buffer]; in update_so_info()
553 var->data.xfb.stride = so_info->stride[output->output_buffer] * 4; in update_so_info()
560 zs->streamout.so_info.output[zs->streamout.so_info.num_outputs] = *output; in update_so_info()
562 …zs->streamout.so_info_slots[zs->streamout.so_info.num_outputs++] = reverse_map[output->register_in… in update_so_info()
564 zs->streamout.have_xfb = !!zs->streamout.so_info.num_outputs; in update_so_info()
1329 const struct pipe_stream_output_info *so_info) in zink_shader_create() argument
1464 if (so_info && nir->info.outputs_written && nir->info.has_transform_feedback_varyings) in zink_shader_create()
[all …]
Dzink_draw.cpp782 t->stride = ctx->last_vertex_stage->streamout.so_info.stride[i] * sizeof(uint32_t); in zink_draw_vbo()
/third_party/mesa3d/src/gallium/drivers/virgl/
Dvirgl_encode.c487 const struct pipe_stream_output_info *so_info) in virgl_emit_shader_streamout() argument
493 if (so_info) in virgl_emit_shader_streamout()
494 num_outputs = so_info->num_outputs; in virgl_emit_shader_streamout()
499 virgl_encoder_write_dword(ctx->cbuf, so_info->stride[i]); in virgl_emit_shader_streamout()
501 for (i = 0; i < so_info->num_outputs; i++) { in virgl_emit_shader_streamout()
503 VIRGL_OBJ_SHADER_SO_OUTPUT_REGISTER_INDEX(so_info->output[i].register_index) | in virgl_emit_shader_streamout()
504 VIRGL_OBJ_SHADER_SO_OUTPUT_START_COMPONENT(so_info->output[i].start_component) | in virgl_emit_shader_streamout()
505 VIRGL_OBJ_SHADER_SO_OUTPUT_NUM_COMPONENTS(so_info->output[i].num_components) | in virgl_emit_shader_streamout()
506 VIRGL_OBJ_SHADER_SO_OUTPUT_BUFFER(so_info->output[i].output_buffer) | in virgl_emit_shader_streamout()
507 VIRGL_OBJ_SHADER_SO_OUTPUT_DST_OFFSET(so_info->output[i].dst_offset); in virgl_emit_shader_streamout()
[all …]
Dvirgl_encode.h94 const struct pipe_stream_output_info *so_info,
Dvirgl_context.c1371 struct pipe_stream_output_info so_info = {}; in virgl_create_compute_state() local
1383 &so_info, in virgl_create_compute_state()
/third_party/mesa3d/src/gallium/drivers/zink/nir_to_spirv/
Dnir_to_spirv.h48 nir_to_spirv(struct nir_shader *s, const struct zink_so_info *so_info,
Dnir_to_spirv.c52 const struct zink_so_info *so_info; member
1284 emit_so_info(struct ntv_context *ctx, const struct zink_so_info *so_info, in emit_so_info() argument
1288 for (unsigned i = 0; i < so_info->so_info.num_outputs; i++) { in emit_so_info()
1289 struct pipe_stream_output so_output = so_info->so_info.output[i]; in emit_so_info()
1290 unsigned slot = so_info->so_info_slots[i] << 2 | so_output.start_component; in emit_so_info()
1303 …spirv_builder_emit_xfb_stride(&ctx->builder, var_id, so_info->so_info.stride[so_output.output_buff… in emit_so_info()
1333 const struct zink_so_info *so_info) in emit_so_outputs() argument
1335 for (unsigned i = 0; i < so_info->so_info.num_outputs; i++) { in emit_so_outputs()
1337 unsigned slot = so_info->so_info_slots[i]; in emit_so_outputs()
1338 struct pipe_stream_output so_output = so_info->so_info.output[i]; in emit_so_outputs()
[all …]
/third_party/mesa3d/src/gallium/drivers/d3d12/
Dd3d12_pipeline_state.h66 struct pipe_stream_output_info so_info; member
Dd3d12_compiler.h173 struct pipe_stream_output_info so_info; member
Dd3d12_draw.cpp527 ctx->gfx_pipeline_state.so_info = sel->so_info; in d3d12_draw_vbo()
529 memset(&ctx->gfx_pipeline_state.so_info, 0, sizeof(sel->so_info)); in d3d12_draw_vbo()
Dd3d12_compiler.cpp990 update_so_info(struct pipe_stream_output_info *so_info, in update_so_info() argument
1000 for (unsigned i = 0; i < so_info->num_outputs; i++) { in update_so_info()
1001 struct pipe_stream_output *output = &so_info->output[i]; in update_so_info()
1035 memcpy(&sel->so_info, &shader->stream_output, sizeof(sel->so_info)); in d3d12_create_shader()
1036 update_so_info(&sel->so_info, nir->info.outputs_written); in d3d12_create_shader()
Dd3d12_root_signature.cpp194 if (ctx->gfx_stages[i]->so_info.num_outputs > 0) in fill_key()
Dd3d12_pipeline_state.cpp222 fill_so_declaration(&state->so_info, entries, &num_entries, in create_gfx_pipeline_state()
Dd3d12_context.cpp1553 uint32_t stride = ctx->gfx_pipeline_state.so_info.stride[i] * 4; in d3d12_disable_fake_so_buffers()
/third_party/mesa3d/src/gallium/drivers/crocus/
Dcrocus_program.c109 gfx6_gs_xfb_setup(const struct pipe_stream_output_info *so_info, in gfx6_gs_xfb_setup() argument
121 assert(so_info->num_outputs <= BRW_MAX_SOL_BINDINGS); in gfx6_gs_xfb_setup()
123 gs_prog_data->num_transform_feedback_bindings = so_info->num_outputs; in gfx6_gs_xfb_setup()
124 for (unsigned i = 0; i < so_info->num_outputs; i++) { in gfx6_gs_xfb_setup()
126 so_info->output[i].register_index; in gfx6_gs_xfb_setup()
128 crocus_gfx6_swizzle_for_offset[so_info->output[i].start_component]; in gfx6_gs_xfb_setup()
133 gfx6_ff_gs_xfb_setup(const struct pipe_stream_output_info *so_info, in gfx6_ff_gs_xfb_setup() argument
136 key->num_transform_feedback_bindings = so_info->num_outputs; in gfx6_ff_gs_xfb_setup()
137 for (unsigned i = 0; i < so_info->num_outputs; i++) { in gfx6_ff_gs_xfb_setup()
139 so_info->output[i].register_index; in gfx6_ff_gs_xfb_setup()
[all …]
Dcrocus_state.c5290 struct pipe_stream_output_info *so_info, in emit_sol_surface() argument
5295 if (idx >= so_info->num_outputs || !ice->state.streamout_active) in emit_sol_surface()
5297 const struct pipe_stream_output *output = &so_info->output[idx]; in emit_sol_surface()
5302 unsigned stride_dwords = so_info->stride[buffer]; in emit_sol_surface()
5444 struct pipe_stream_output_info *so_info; in crocus_populate_binding_table() local
5446 so_info = &ice->shaders.uncompiled[MESA_SHADER_GEOMETRY]->stream_output; in crocus_populate_binding_table()
5448 so_info = &ice->shaders.uncompiled[MESA_SHADER_VERTEX]->stream_output; in crocus_populate_binding_table()
5451 surf_offsets[s] = emit_sol_surface(batch, so_info, i); in crocus_populate_binding_table()
/third_party/mesa3d/src/mesa/state_tracker/
Dst_program.c480 struct pipe_stream_output_info *so_info = in st_translate_stream_output_info() local
484 so_info->output[i].register_index = in st_translate_stream_output_info()
486 so_info->output[i].start_component = info->Outputs[i].ComponentOffset; in st_translate_stream_output_info()
487 so_info->output[i].num_components = info->Outputs[i].NumComponents; in st_translate_stream_output_info()
488 so_info->output[i].output_buffer = info->Outputs[i].OutputBuffer; in st_translate_stream_output_info()
489 so_info->output[i].dst_offset = info->Outputs[i].DstOffset; in st_translate_stream_output_info()
490 so_info->output[i].stream = info->Outputs[i].StreamId; in st_translate_stream_output_info()
494 so_info->stride[i] = info->Buffers[i].Stride; in st_translate_stream_output_info()
496 so_info->num_outputs = info->NumOutputs; in st_translate_stream_output_info()
/third_party/mesa3d/src/gallium/drivers/r600/sfn/
Dsfn_vertexstageexport.h65 const pipe_stream_output_info *so_info,
Dsfn_vertexstageexport.cpp52 const pipe_stream_output_info *so_info, in VertexStageExportForFS() argument
59 m_so_info(so_info), in VertexStageExportForFS()
/third_party/mesa3d/src/freedreno/vulkan/
Dtu_shader.c769 struct ir3_stream_output_info so_info = {}; in tu_shader_create() local
773 tu_gather_xfb_info(nir, &so_info); in tu_shader_create()
784 &so_info); in tu_shader_create()
/third_party/mesa3d/src/gallium/drivers/panfrost/
Dpan_context.c420 update_so_info(struct pipe_stream_output_info *so_info, in update_so_info() argument
430 for (unsigned i = 0; i < so_info->num_outputs; i++) { in update_so_info()
431 struct pipe_stream_output *output = &so_info->output[i]; in update_so_info()
/third_party/mesa3d/src/gallium/drivers/iris/
Diris_program.c403 update_so_info(struct pipe_stream_output_info *so_info, in update_so_info() argument
412 for (unsigned i = 0; i < so_info->num_outputs; i++) { in update_so_info()
413 struct pipe_stream_output *output = &so_info->output[i]; in update_so_info()
2430 const struct pipe_stream_output_info *so_info) in iris_create_uncompiled_shader() argument
2445 if (so_info) { in iris_create_uncompiled_shader()
2446 memcpy(&ish->stream_output, so_info, sizeof(*so_info)); in iris_create_uncompiled_shader()
/third_party/mesa3d/src/amd/vulkan/
Dradv_pipeline.c2063 struct radv_streamout_info *so_info = nir[MESA_SHADER_TESS_CTRL] in gfx10_get_ngg_info() local
2067 if (so_info->num_outputs) in gfx10_get_ngg_info()
2068 esvert_lds_size = 4 * so_info->num_outputs + 1; in gfx10_get_ngg_info()
/third_party/mesa3d/docs/relnotes/
D21.1.0.rst4185 - zink: pass so_info directly to update_so_info()
4188 - zink: don't pass so_info to ntv at all unless it's necessary