• Home
  • Raw
  • Download

Lines Matching refs:stvp

91                         struct st_vertex_program *stvp )  in st_release_vp_variants()  argument
95 for (vpv = stvp->variants; vpv; ) { in st_release_vp_variants()
101 stvp->variants = NULL; in st_release_vp_variants()
103 if ((stvp->tgsi.type == PIPE_SHADER_IR_TGSI) && stvp->tgsi.tokens) { in st_release_vp_variants()
104 tgsi_free_tokens(stvp->tgsi.tokens); in st_release_vp_variants()
105 stvp->tgsi.tokens = NULL; in st_release_vp_variants()
232 struct st_vertex_program *stvp) in st_translate_vertex_program() argument
243 stvp->num_inputs = 0; in st_translate_vertex_program()
245 if (stvp->Base.arb.IsPositionInvariant) in st_translate_vertex_program()
246 _mesa_insert_mvp_code(st->ctx, &stvp->Base); in st_translate_vertex_program()
253 if ((stvp->Base.info.inputs_read & BITFIELD64_BIT(attr)) != 0) { in st_translate_vertex_program()
254 input_to_index[attr] = stvp->num_inputs; in st_translate_vertex_program()
255 stvp->index_to_input[stvp->num_inputs] = attr; in st_translate_vertex_program()
256 stvp->num_inputs++; in st_translate_vertex_program()
257 if ((stvp->Base.info.double_inputs_read & in st_translate_vertex_program()
260 stvp->index_to_input[stvp->num_inputs] = ST_DOUBLE_ATTRIB_PLACEHOLDER; in st_translate_vertex_program()
261 stvp->num_inputs++; in st_translate_vertex_program()
266 input_to_index[VERT_ATTRIB_EDGEFLAG] = stvp->num_inputs; in st_translate_vertex_program()
267 stvp->index_to_input[stvp->num_inputs] = VERT_ATTRIB_EDGEFLAG; in st_translate_vertex_program()
272 if ((stvp->Base.info.outputs_written & BITFIELD64_BIT(attr)) == 0) { in st_translate_vertex_program()
273 stvp->result_to_output[attr] = ~0; in st_translate_vertex_program()
278 stvp->result_to_output[attr] = slot; in st_translate_vertex_program()
365 stvp->result_to_output[VARYING_SLOT_EDGE] = num_outputs; in st_translate_vertex_program()
370 if (!stvp->glsl_to_tgsi && !stvp->shader_program) { in st_translate_vertex_program()
371 _mesa_remove_output_reads(&stvp->Base, PROGRAM_OUTPUT); in st_translate_vertex_program()
376 stvp->affected_states = ST_NEW_VS_STATE | in st_translate_vertex_program()
380 if (stvp->Base.Parameters->NumParameters) in st_translate_vertex_program()
381 stvp->affected_states |= ST_NEW_VS_CONSTANTS; in st_translate_vertex_program()
386 if (stvp->shader_program) { in st_translate_vertex_program()
387 nir_shader *nir = st_glsl_to_nir(st, &stvp->Base, stvp->shader_program, in st_translate_vertex_program()
390 stvp->tgsi.type = PIPE_SHADER_IR_NIR; in st_translate_vertex_program()
391 stvp->tgsi.ir.nir = nir; in st_translate_vertex_program()
393 … st_translate_stream_output_info2(stvp->shader_program->xfb_program->sh.LinkedTransformFeedback, in st_translate_vertex_program()
394 stvp->result_to_output, in st_translate_vertex_program()
395 &stvp->tgsi.stream_output); in st_translate_vertex_program()
403 if (stvp->Base.ClipDistanceArraySize) in st_translate_vertex_program()
405 stvp->Base.ClipDistanceArraySize); in st_translate_vertex_program()
406 if (stvp->Base.CullDistanceArraySize) in st_translate_vertex_program()
408 stvp->Base.CullDistanceArraySize); in st_translate_vertex_program()
411 _mesa_print_program(&stvp->Base); in st_translate_vertex_program()
412 _mesa_print_program_parameters(st->ctx, &stvp->Base); in st_translate_vertex_program()
416 if (stvp->glsl_to_tgsi) { in st_translate_vertex_program()
420 stvp->glsl_to_tgsi, in st_translate_vertex_program()
421 &stvp->Base, in st_translate_vertex_program()
423 stvp->num_inputs, in st_translate_vertex_program()
431 stvp->result_to_output, in st_translate_vertex_program()
436 st_translate_stream_output_info(stvp->glsl_to_tgsi, in st_translate_vertex_program()
437 stvp->result_to_output, in st_translate_vertex_program()
438 &stvp->tgsi.stream_output); in st_translate_vertex_program()
440 free_glsl_to_tgsi_visitor(stvp->glsl_to_tgsi); in st_translate_vertex_program()
441 stvp->glsl_to_tgsi = NULL; in st_translate_vertex_program()
446 &stvp->Base, in st_translate_vertex_program()
448 stvp->num_inputs, in st_translate_vertex_program()
455 stvp->result_to_output, in st_translate_vertex_program()
461 _mesa_print_program(&stvp->Base); in st_translate_vertex_program()
466 stvp->tgsi.tokens = ureg_get_tokens(ureg, NULL); in st_translate_vertex_program()
468 return stvp->tgsi.tokens != NULL; in st_translate_vertex_program()
473 struct st_vertex_program *stvp, in st_create_vp_variant() argument
480 vpv->tgsi.stream_output = stvp->tgsi.stream_output; in st_create_vp_variant()
481 vpv->num_inputs = stvp->num_inputs; in st_create_vp_variant()
483 if (stvp->tgsi.type == PIPE_SHADER_IR_NIR) { in st_create_vp_variant()
485 vpv->tgsi.ir.nir = nir_shader_clone(NULL, stvp->tgsi.ir.nir); in st_create_vp_variant()
491 st_finalize_nir(st, &stvp->Base, vpv->tgsi.ir.nir); in st_create_vp_variant()
499 vpv->tgsi.tokens = tgsi_dup_tokens(stvp->tgsi.tokens); in st_create_vp_variant()
535 struct st_vertex_program *stvp, in st_get_vp_variant() argument
541 for (vpv = stvp->variants; vpv; vpv = vpv->next) { in st_get_vp_variant()
549 vpv = st_create_vp_variant(st, stvp, key); in st_get_vp_variant()
552 vpv->next = stvp->variants; in st_get_vp_variant()
553 stvp->variants = vpv; in st_get_vp_variant()
1715 struct st_vertex_program *stvp = (struct st_vertex_program *) target; in destroy_program_variants() local
1716 struct st_vp_variant *vpv, **prevPtr = &stvp->variants; in destroy_program_variants()
1718 for (vpv = stvp->variants; vpv; ) { in destroy_program_variants()
1874 struct st_vertex_program *stvp = in st_print_current_vertex_program() local
1878 debug_printf("Vertex program %u\n", stvp->Base.Id); in st_print_current_vertex_program()
1880 for (stv = stvp->variants; stv; stv = stv->next) { in st_print_current_vertex_program()