summaryrefslogtreecommitdiffstats
path: root/src/mesa/pipe/softpipe
diff options
context:
space:
mode:
authormichal <michal@michal-laptop.(none)>2007-10-27 15:08:00 +0100
committermichal <michal@michal-laptop.(none)>2007-10-27 19:04:19 +0100
commit205d4e49001123ea0bb10139aa3236cc1f2141d0 (patch)
treeb59023782fa116913108ac3c3e57106b8418fc19 /src/mesa/pipe/softpipe
parent9dfc27edf11b3fd00c364894578f5a3a05c4ca54 (diff)
Respect use_sse flag.
Diffstat (limited to 'src/mesa/pipe/softpipe')
-rw-r--r--src/mesa/pipe/softpipe/sp_quad_fs.c2
-rw-r--r--src/mesa/pipe/softpipe/sp_state_fs.c5
2 files changed, 3 insertions, 4 deletions
diff --git a/src/mesa/pipe/softpipe/sp_quad_fs.c b/src/mesa/pipe/softpipe/sp_quad_fs.c
index 1ff4406a4b2..701a68ec6ab 100644
--- a/src/mesa/pipe/softpipe/sp_quad_fs.c
+++ b/src/mesa/pipe/softpipe/sp_quad_fs.c
@@ -104,7 +104,7 @@ shade_quad(
/* run shader */
#if defined(__i386__) || defined(__386__)
/* XXX: Generated code effectively unusable until it handles quad->mask */
- if( !quad->mask ) {
+ if( !quad->mask && softpipe->use_sse ) {
codegen_function func = (codegen_function) x86_get_func( &softpipe->fs->sse2_program );
func(
machine->Inputs,
diff --git a/src/mesa/pipe/softpipe/sp_state_fs.c b/src/mesa/pipe/softpipe/sp_state_fs.c
index 86aa80c0fca..a94ec1e92ca 100644
--- a/src/mesa/pipe/softpipe/sp_state_fs.c
+++ b/src/mesa/pipe/softpipe/sp_state_fs.c
@@ -49,7 +49,6 @@ void * softpipe_create_fs_state(struct pipe_context *pipe,
#if defined(__i386__) || defined(__386__)
if (softpipe->use_sse) {
x86_init_func( &state->sse2_program );
-
tgsi_emit_sse2_fs( state->shader.tokens, &state->sse2_program );
}
#endif
@@ -69,13 +68,13 @@ void softpipe_bind_fs_state(struct pipe_context *pipe, void *fs)
void softpipe_delete_fs_state(struct pipe_context *pipe,
void *shader)
{
-#if defined(__i386__) || defined(__386__)
struct sp_fragment_shader_state *state = shader;
+#if defined(__i386__) || defined(__386__)
x86_release_func( &state->sse2_program );
#endif
- free(shader);
+ free( state );
}