/third_party/mesa3d/src/gallium/drivers/zink/ |
D | zink_compiler.h | 55 struct pipe_stream_output_info so_info; member 108 const struct pipe_stream_output_info *so_info);
|
D | zink_compiler.c | 517 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 …]
|
D | zink_draw.cpp | 782 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/ |
D | virgl_encode.c | 487 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 …]
|
D | virgl_encode.h | 94 const struct pipe_stream_output_info *so_info,
|
D | virgl_context.c | 1371 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/ |
D | nir_to_spirv.h | 48 nir_to_spirv(struct nir_shader *s, const struct zink_so_info *so_info,
|
D | nir_to_spirv.c | 52 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/ |
D | d3d12_pipeline_state.h | 66 struct pipe_stream_output_info so_info; member
|
D | d3d12_compiler.h | 173 struct pipe_stream_output_info so_info; member
|
D | d3d12_draw.cpp | 527 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()
|
D | d3d12_compiler.cpp | 990 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()
|
D | d3d12_root_signature.cpp | 194 if (ctx->gfx_stages[i]->so_info.num_outputs > 0) in fill_key()
|
D | d3d12_pipeline_state.cpp | 222 fill_so_declaration(&state->so_info, entries, &num_entries, in create_gfx_pipeline_state()
|
D | d3d12_context.cpp | 1553 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/ |
D | crocus_program.c | 109 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 …]
|
D | crocus_state.c | 5290 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/ |
D | st_program.c | 480 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/ |
D | sfn_vertexstageexport.h | 65 const pipe_stream_output_info *so_info,
|
D | sfn_vertexstageexport.cpp | 52 const pipe_stream_output_info *so_info, in VertexStageExportForFS() argument 59 m_so_info(so_info), in VertexStageExportForFS()
|
/third_party/mesa3d/src/freedreno/vulkan/ |
D | tu_shader.c | 769 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/ |
D | pan_context.c | 420 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/ |
D | iris_program.c | 403 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/ |
D | radv_pipeline.c | 2063 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/ |
D | 21.1.0.rst | 4185 - zink: pass so_info directly to update_so_info() 4188 - zink: don't pass so_info to ntv at all unless it's necessary
|