struct vertex_info;
struct draw_context;
struct draw_stage;
+struct draw_vertex_shader;
/**
struct draw_stage *stage );
-void * draw_create_vertex_shader(struct draw_context *draw,
- const struct pipe_shader_state *shader);
+struct draw_vertex_shader *
+draw_create_vertex_shader(struct draw_context *draw,
+ const struct pipe_shader_state *shader);
void draw_bind_vertex_shader(struct draw_context *draw,
- void *vcso);
+ struct draw_vertex_shader *dvs);
void draw_delete_vertex_shader(struct draw_context *draw,
- void *vcso);
+ struct draw_vertex_shader *dvs);
boolean draw_use_sse(struct draw_context *draw);
}
-void *
+struct draw_vertex_shader *
draw_create_vertex_shader(struct draw_context *draw,
const struct pipe_shader_state *shader)
{
}
void draw_bind_vertex_shader(struct draw_context *draw,
- void *vcso)
+ struct draw_vertex_shader *dvs)
{
draw_flush(draw);
- draw->vertex_shader = (struct draw_vertex_shader*)(vcso);
+ draw->vertex_shader = dvs;
/* specify the fragment program to interpret/execute */
tgsi_exec_machine_init(&draw->machine,
}
void draw_delete_vertex_shader(struct draw_context *draw,
- void *vcso)
+ struct draw_vertex_shader *dvs)
{
- struct draw_vertex_shader *vs;
-
- vs = (struct draw_vertex_shader *) vcso;
-
#if defined(__i386__) || defined(__386__)
- x86_release_func( (struct x86_function *) &vs->sse2_program );
+ x86_release_func( (struct x86_function *) &dvs->sse2_program );
#endif
- FREE( vs );
+ FREE( dvs );
}
return draw_create_vertex_shader(i915->draw, templ);
}
-static void i915_bind_vs_state(struct pipe_context *pipe, void *vs)
+static void i915_bind_vs_state(struct pipe_context *pipe, void *shader)
{
struct i915_context *i915 = i915_context(pipe);
/* just pass-through to draw module */
- draw_bind_vertex_shader(i915->draw, vs);
+ draw_bind_vertex_shader(i915->draw, (struct draw_vertex_shader *) shader);
}
static void i915_delete_vs_state(struct pipe_context *pipe, void *shader)
struct i915_context *i915 = i915_context(pipe);
/* just pass-through to draw module */
- draw_delete_vertex_shader(i915->draw, shader);
+ draw_delete_vertex_shader(i915->draw, (struct draw_vertex_shader *) shader);
}
static void i915_set_constant_buffer(struct pipe_context *pipe,
/** Subclass of pipe_shader_state */
struct sp_vertex_shader_state {
struct pipe_shader_state shader;
- void *draw_data;
+ struct draw_vertex_shader *draw_data;
};