Lines Matching refs:llvm

62 draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *var,
346 struct draw_llvm *llvm;
348 llvm = CALLOC_STRUCT( draw_llvm );
349 if (!llvm)
354 llvm->draw = draw;
356 llvm->nr_variants = 0;
357 make_empty_list(&llvm->vs_variants_list);
359 return llvm;
367 draw_llvm_destroy(struct draw_llvm *llvm)
370 FREE(llvm);
378 draw_llvm_create_variant(struct draw_llvm *llvm,
384 llvm_vertex_shader(llvm->draw->vs.vertex_shader);
393 variant->llvm = llvm;
405 draw_llvm_generate(llvm, variant, FALSE); /* linear */
406 draw_llvm_generate(llvm, variant, TRUE); /* elts */
437 struct draw_llvm *llvm = variant->llvm;
438 const struct tgsi_token *tokens = llvm->draw->vs.vertex_shader->state.tokens;
446 if (llvm->draw->num_sampler_views && llvm->draw->num_samplers)
459 &llvm->draw->vs.vertex_shader->info);
465 struct tgsi_shader_info* info = &llvm->draw->vs.vertex_shader->info;
851 generate_clipmask(struct draw_llvm *llvm,
872 const unsigned pos = draw_current_shader_position_output(llvm->draw);
873 const unsigned cv = draw_current_shader_clipvertex_output(llvm->draw);
874 int num_written_clipdistance = llvm->draw->vs.vertex_shader->info.num_written_clipdistance;
878 cd[0] = draw_current_shader_clipdistance_output(llvm->draw, 0);
879 cd[1] = draw_current_shader_clipdistance_output(llvm->draw, 1);
1059 draw_llvm_generate(struct draw_llvm *llvm, struct draw_llvm_variant *variant,
1077 struct draw_context *draw = llvm->draw;
1092 const unsigned pos = draw_current_shader_position_output(llvm->draw);
1093 const unsigned cv = draw_current_shader_clipvertex_output(llvm->draw);
1267 clipmask = generate_clipmask(llvm,
1313 draw_llvm_make_variant_key(struct draw_llvm *llvm, char *store)
1321 key->clamp_vertex_color = llvm->draw->rasterizer->clamp_vertex_color; /**/
1326 key->nr_vertex_elements = llvm->draw->pt.nr_vertex_elements;
1329 key->clip_xy = llvm->draw->clip_xy;
1330 key->clip_z = llvm->draw->clip_z;
1331 key->clip_user = llvm->draw->clip_user;
1332 key->bypass_viewport = llvm->draw->identity_viewport;
1333 key->clip_halfz = !llvm->draw->rasterizer->gl_rasterization_rules;
1334 key->need_edgeflags = (llvm->draw->vs.edgeflag_output ? TRUE : FALSE);
1335 key->ucp_enable = llvm->draw->rasterizer->clip_plane_enable;
1342 key->nr_samplers = llvm->draw->vs.vertex_shader->info.file_max[TGSI_FILE_SAMPLER] + 1;
1347 llvm->draw->pt.vertex_element,
1354 llvm->draw->sampler_views[PIPE_SHADER_VERTEX][i],
1355 llvm->draw->samplers[PIPE_SHADER_VERTEX][i]);
1374 assert(sampler_idx < Elements(draw->llvm->jit_context.textures));
1376 jit_tex = &draw->llvm->jit_context.textures[sampler_idx];
1398 struct draw_jit_texture *jit_tex = &draw->llvm->jit_context.textures[i];
1415 struct draw_llvm *llvm = variant->llvm;
1432 llvm->nr_variants--;