Lines Matching refs:draw

57 draw_create_vertex_shader(struct draw_context *draw,
63 if (draw->dump_vs) {
68 if (draw->pt.middle.llvm) {
69 struct pipe_screen *screen = draw->pipe->screen;
79 vs = draw_create_vs_llvm(draw, &state);
84 vs = draw_create_vs_exec( draw, &state );
121 draw_bind_vertex_shader(struct draw_context *draw,
124 draw_do_flush( draw, DRAW_FLUSH_STATE_CHANGE );
128 draw->vs.vertex_shader = dvs;
129 draw->vs.num_vs_outputs = dvs->info.num_outputs;
130 draw->vs.position_output = dvs->position_output;
131 draw->vs.edgeflag_output = dvs->edgeflag_output;
132 draw->vs.clipvertex_output = dvs->clipvertex_output;
133 draw->vs.ccdistance_output[0] = dvs->ccdistance_output[0];
134 draw->vs.ccdistance_output[1] = dvs->ccdistance_output[1];
135 dvs->prepare( dvs, draw );
136 draw_update_clip_flags(draw);
137 draw_update_viewport_flags(draw);
140 draw->vs.vertex_shader = NULL;
141 draw->vs.num_vs_outputs = 0;
147 draw_delete_vertex_shader(struct draw_context *draw,
163 draw_vs_init( struct draw_context *draw )
165 draw->dump_vs = debug_get_option_gallium_dump_vs();
167 if (!draw->llvm) {
168 draw->vs.tgsi.machine = tgsi_exec_machine_create(PIPE_SHADER_VERTEX);
169 if (!draw->vs.tgsi.machine)
173 draw->vs.emit_cache = translate_cache_create();
174 if (!draw->vs.emit_cache)
177 draw->vs.fetch_cache = translate_cache_create();
178 if (!draw->vs.fetch_cache)
185 draw_vs_destroy( struct draw_context *draw )
187 if (draw->vs.fetch_cache)
188 translate_cache_destroy(draw->vs.fetch_cache);
190 if (draw->vs.emit_cache)
191 translate_cache_destroy(draw->vs.emit_cache);
193 if (!draw->llvm)
194 tgsi_exec_machine_destroy(draw->vs.tgsi.machine);
236 draw_vs_get_fetch( struct draw_context *draw,
239 if (!draw->vs.fetch ||
240 translate_key_compare(&draw->vs.fetch->key, key) != 0)
243 draw->vs.fetch = translate_cache_find(draw->vs.fetch_cache, key);
246 return draw->vs.fetch;
250 draw_vs_get_emit( struct draw_context *draw,
253 if (!draw->vs.emit ||
254 translate_key_compare(&draw->vs.emit->key, key) != 0)
257 draw->vs.emit = translate_cache_find(draw->vs.emit_cache, key);
260 return draw->vs.emit;