Home | History | Annotate | Download | only in draw

Lines Matching refs:fpme

66    struct llvm_middle_end *fpme = (struct llvm_middle_end *)middle;
67 struct draw_context *draw = fpme->draw;
84 fpme->input_prim = in_prim;
85 fpme->opt = opt;
91 fpme->vertex_size = sizeof(struct vertex_header) + nr * 4 * sizeof(float);
97 draw_pt_post_vs_prepare( fpme->post_vs,
106 draw_pt_so_emit_prepare( fpme->so_emit );
109 draw_pt_emit_prepare( fpme->emit,
123 key = draw_llvm_make_variant_key(fpme->llvm, store);
137 move_to_head(&fpme->llvm->vs_variants_list, &variant->list_item_global);
146 if (fpme->llvm->nr_variants >= DRAW_MAX_SHADER_VARIANTS) {
152 if (is_empty_list(&fpme->llvm->vs_variants_list)) {
155 item = last_elem(&fpme->llvm->vs_variants_list);
162 variant = draw_llvm_create_variant(fpme->llvm, nr, key);
166 insert_at_head(&fpme->llvm->vs_variants_list, &variant->list_item_global);
167 fpme->llvm->nr_variants++;
172 fpme->current_variant = variant;
175 fpme->llvm->jit_context.vs_constants =
177 fpme->llvm->jit_context.gs_constants =
179 fpme->llvm->jit_context.planes =
181 fpme->llvm->jit_context.viewport =
218 struct llvm_middle_end *fpme = (struct llvm_middle_end *)middle;
219 struct draw_context *draw = fpme->draw;
225 unsigned opt = fpme->opt;
229 llvm_vert_info.vertex_size = fpme->vertex_size;
230 llvm_vert_info.stride = fpme->vertex_size;
232 (struct vertex_header *)MALLOC(fpme->vertex_size *
240 clipped = fpme->current_variant->jit_func( &fpme->llvm->jit_context,
245 fpme->vertex_size,
249 clipped = fpme->current_variant->jit_func_elts( &fpme->llvm->jit_context,
254 fpme->vertex_size,
277 clipped = draw_pt_post_vs_run( fpme->post_vs, vert_info );
282 draw_pt_so_emit( fpme->so_emit,
293 pipeline( fpme,
298 emit( fpme->emit,
313 struct llvm_middle_end *fpme = (struct llvm_middle_end *)middle;
326 prim_info.prim = fpme->input_prim;
340 struct llvm_middle_end *fpme = (struct llvm_middle_end *)middle;
353 prim_info.prim = fpme->input_prim;
371 struct llvm_middle_end *fpme = (struct llvm_middle_end *)middle;
384 prim_info.prim = fpme->input_prim;
403 struct llvm_middle_end *fpme = (struct llvm_middle_end *)middle;
405 if (fpme->fetch)
406 draw_pt_fetch_destroy( fpme->fetch );
408 if (fpme->emit)
409 draw_pt_emit_destroy( fpme->emit );
411 if (fpme->so_emit)
412 draw_pt_so_emit_destroy( fpme->so_emit );
414 if (fpme->post_vs)
415 draw_pt_post_vs_destroy( fpme->post_vs );
424 struct llvm_middle_end *fpme = 0;
429 fpme = CALLOC_STRUCT( llvm_middle_end );
430 if (!fpme)
433 fpme->base.prepare = llvm_middle_end_prepare;
434 fpme->base.run = llvm_middle_end_run;
435 fpme->base.run_linear = llvm_middle_end_linear_run;
436 fpme->base.run_linear_elts = llvm_middle_end_linear_run_elts;
437 fpme->base.finish = llvm_middle_end_finish;
438 fpme->base.destroy = llvm_middle_end_destroy;
440 fpme->draw = draw;
442 fpme->fetch = draw_pt_fetch_create( draw );
443 if (!fpme->fetch)
446 fpme->post_vs = draw_pt_post_vs_create( draw );
447 if (!fpme->post_vs)
450 fpme->emit = draw_pt_emit_create( draw );
451 if (!fpme->emit)
454 fpme->so_emit = draw_pt_so_emit_create( draw );
455 if (!fpme->so_emit)
458 fpme->llvm = draw->llvm;
459 if (!fpme->llvm)
462 fpme->current_variant = NULL;
464 return &fpme->base;
467 if (fpme)
468 llvm_middle_end_destroy( &fpme->base );