Browse Source

replace void * with struct draw_vertex_shader opaque type

tags/mesa_20090313
Brian 18 years ago
parent
commit
aa7f233367

+ 6
- 4
src/mesa/pipe/draw/draw_context.h View File

@@ -45,6 +45,7 @@ struct vertex_buffer;
struct vertex_info;
struct draw_context;
struct draw_stage;
struct draw_vertex_shader;


/**
@@ -89,12 +90,13 @@ void draw_set_rasterize_stage( struct draw_context *draw,
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);


+ 6
- 10
src/mesa/pipe/draw/draw_vertex_shader.c View File

@@ -227,7 +227,7 @@ void draw_vertex_shader_queue_flush( struct draw_context *draw )
}


void *
struct draw_vertex_shader *
draw_create_vertex_shader(struct draw_context *draw,
const struct pipe_shader_state *shader)
{
@@ -263,10 +263,10 @@ draw_create_vertex_shader(struct draw_context *draw,
}

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,
@@ -276,15 +276,11 @@ void draw_bind_vertex_shader(struct draw_context *draw,
}

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 );
}

+ 3
- 3
src/mesa/pipe/i915simple/i915_state.c View File

@@ -438,12 +438,12 @@ i915_create_vs_state(struct pipe_context *pipe,
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)
@@ -451,7 +451,7 @@ 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,

+ 1
- 1
src/mesa/pipe/softpipe/sp_state.h View File

@@ -75,7 +75,7 @@ struct sp_fragment_shader_state {
/** Subclass of pipe_shader_state */
struct sp_vertex_shader_state {
struct pipe_shader_state shader;
void *draw_data;
struct draw_vertex_shader *draw_data;
};



Loading…
Cancel
Save