From 447c93dd1b3bb31fe19fa81b32d1c3c62ab65c54 Mon Sep 17 00:00:00 2001 From: Brian Date: Thu, 18 Oct 2007 11:09:12 -0600 Subject: [PATCH] Change type of shader->executable field from void * to generic function pointer. Fix warnings in draw_create_vertex_shader() --- src/mesa/pipe/draw/draw_vertex_shader.c | 10 ++++++---- src/mesa/pipe/p_state.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/mesa/pipe/draw/draw_vertex_shader.c b/src/mesa/pipe/draw/draw_vertex_shader.c index 8519daf17c1..fd0183f8cd4 100644 --- a/src/mesa/pipe/draw/draw_vertex_shader.c +++ b/src/mesa/pipe/draw/draw_vertex_shader.c @@ -212,12 +212,14 @@ draw_create_vertex_shader(struct draw_context *draw, vs->state = shader; #if defined(__i386__) || defined(__386__) if (draw->use_sse) { - x86_init_func( &shader->sse2_program ); + /* cast-away const */ + struct pipe_shader_state *sh = (struct pipe_shader_state *) shader; - tgsi_emit_sse2( shader->tokens, &shader->sse2_program ); + x86_init_func( &sh->sse2_program ); - ((struct pipe_shader_state *)shader)->executable = (void *) - x86_get_func( &shader->sse2_program ); + tgsi_emit_sse2( sh->tokens, &sh->sse2_program ); + + sh->executable = x86_get_func( &sh->sse2_program ); } #endif diff --git a/src/mesa/pipe/p_state.h b/src/mesa/pipe/p_state.h index da62aa1b274..1c3b2811a4a 100644 --- a/src/mesa/pipe/p_state.h +++ b/src/mesa/pipe/p_state.h @@ -148,7 +148,7 @@ struct pipe_shader_state { #if defined(__i386__) || defined(__386__) struct x86_function sse2_program; #endif - void *executable; + void (*executable)(); ubyte num_inputs; ubyte num_outputs; -- 2.30.2