summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker/st_program.c
diff options
context:
space:
mode:
authorZack Rusin <[email protected]>2007-09-28 07:33:54 -0400
committerZack Rusin <[email protected]>2007-09-28 09:12:20 -0400
commit57b5d3605745c96ddc2b6de7d50c93db65ba1257 (patch)
treee1065a99cfd679a4063981524a705886da0a0b52 /src/mesa/state_tracker/st_program.c
parent6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e (diff)
Use sse only if GALLIUM_SSE is defined
Diffstat (limited to 'src/mesa/state_tracker/st_program.c')
-rw-r--r--src/mesa/state_tracker/st_program.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index 116b59a067a..a41b953a21d 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -36,6 +36,7 @@
#include "pipe/p_context.h"
#include "pipe/p_defines.h"
+#include "pipe/draw/draw_context.h"
#include "pipe/tgsi/mesa/mesa_to_tgsi.h"
#include "pipe/tgsi/exec/tgsi_core.h"
@@ -391,11 +392,13 @@ st_translate_fragment_program(struct st_context *st,
tgsi_dump( tokensOut, 0/*TGSI_DUMP_VERBOSE*/ );
#if defined(__i386__) || defined(__386__)
- if (stfp->sse2_program.csr == stfp->sse2_program.store)
- tgsi_emit_sse2_fs( tokensOut, &stfp->sse2_program );
+ if (draw_use_sse(st->draw)) {
+ if (stfp->sse2_program.csr == stfp->sse2_program.store)
+ tgsi_emit_sse2_fs( tokensOut, &stfp->sse2_program );
- if (!cso->state.executable)
- ((struct cso_fragment_shader*)cso)->state.executable = (void *) x86_get_func( &stfp->sse2_program );
+ if (!cso->state.executable)
+ ((struct cso_fragment_shader*)cso)->state.executable = (void *) x86_get_func( &stfp->sse2_program );
+ }
#endif
return cso;