Enable codegen based whenever __i386__ is defined.

This commit is contained in:
Keith Whitwell
2007-09-26 12:46:45 +01:00
parent 035a824730
commit 65e3af51ef
8 changed files with 15 additions and 27 deletions

View File

@@ -64,13 +64,11 @@ compute_clipmask(float cx, float cy, float cz, float cw)
#endif
#endif
#if defined(USE_X86_ASM) || defined(SLANG_X86)
typedef void (XSTDCALL *sse2_function)(
typedef void (XSTDCALL *codegen_function) (
const struct tgsi_exec_vector *input,
struct tgsi_exec_vector *output,
float (*constant)[4],
struct tgsi_exec_vector *temporary );
#endif
/**
* Transform vertices with the current vertex program/shader
@@ -117,16 +115,12 @@ run_vertex_program(struct draw_context *draw,
/* run shader */
if( draw->vertex_shader.executable != NULL ) {
#if defined(USE_X86_ASM) || defined(SLANG_X86)
sse2_function func = (sse2_function) draw->vertex_shader.executable;
codegen_function func = (codegen_function) draw->vertex_shader.executable;
func(
machine.Inputs,
machine.Outputs,
machine.Consts,
machine.Temps );
#else
assert( 0 );
#endif
}
else {
tgsi_exec_machine_run( &machine );

View File

@@ -64,14 +64,12 @@ quad_shade_stage(struct quad_stage *qs)
#endif
#endif
#if defined(USE_X86_ASM) || defined(SLANG_X86)
typedef void (XSTDCALL *sse2_function)(
typedef void (XSTDCALL *codegen_function)(
const struct tgsi_exec_vector *input,
struct tgsi_exec_vector *output,
float (*constant)[4],
struct tgsi_exec_vector *temporary,
const struct tgsi_interp_coef *coef );
#endif
/* This should be done by the fragment shader execution unit (code
* generated from the decl instructions). Do it here for now.
@@ -121,17 +119,13 @@ shade_quad(
/* run shader */
if( softpipe->fs->executable != NULL ) {
#if defined(USE_X86_ASM) || defined(SLANG_X86)
sse2_function func = (sse2_function) softpipe->fs->executable;
codegen_function func = (codegen_function) softpipe->fs->executable;
func(
machine.Inputs,
machine.Outputs,
machine.Consts,
machine.Temps,
machine.InterpCoefs );
#else
assert( 0 );
#endif
}
else {
tgsi_exec_machine_run( &machine );

View File

@@ -2,7 +2,7 @@
#include "tgsi_core.h"
#include "x86/rtasm/x86sse.h"
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
#define FOR_EACH_CHANNEL( CHAN )\
for( CHAN = 0; CHAN < 4; CHAN++ )

View File

@@ -86,7 +86,7 @@ static struct gl_program *st_new_program( GLcontext *ctx,
prog->serialNo = 1;
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
x86_init_func( &prog->sse2_program );
#endif
@@ -102,7 +102,7 @@ static struct gl_program *st_new_program( GLcontext *ctx,
prog->serialNo = 1;
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
x86_init_func( &prog->sse2_program );
#endif
@@ -129,7 +129,7 @@ static void st_delete_program( GLcontext *ctx,
case GL_VERTEX_PROGRAM_ARB:
{
struct st_vertex_program *stvp = (struct st_vertex_program *) prog;
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
x86_release_func( &stvp->sse2_program );
#endif
st_remove_vertex_program(st, stvp);
@@ -139,7 +139,7 @@ static void st_delete_program( GLcontext *ctx,
{
struct st_fragment_program *stfp
= (struct st_fragment_program *) prog;
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
x86_release_func( &stfp->sse2_program );
#endif
st_remove_fragment_program(st, stfp);

View File

@@ -253,7 +253,7 @@ st_translate_vertex_program(struct st_context *st,
if (TGSI_DEBUG)
tgsi_dump( tokensOut, 0 );
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
if (stvp->sse2_program.csr == stvp->sse2_program.store)
tgsi_emit_sse2( tokensOut, &stvp->sse2_program );
@@ -398,7 +398,7 @@ st_translate_fragment_program(struct st_context *st,
if (TGSI_DEBUG)
tgsi_dump( tokensOut, 0/*TGSI_DUMP_VERBOSE*/ );
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
if (stfp->sse2_program.csr == stfp->sse2_program.store)
tgsi_emit_sse2_fs( tokensOut, &stfp->sse2_program );

View File

@@ -53,7 +53,7 @@ struct st_fragment_program
/** The program in TGSI format */
struct tgsi_token tokens[ST_FP_MAX_TOKENS];
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
struct x86_function sse2_program;
#endif
@@ -79,7 +79,7 @@ struct st_vertex_program
/** The program in TGSI format */
struct tgsi_token tokens[ST_FP_MAX_TOKENS];
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
struct x86_function sse2_program;
#endif

View File

@@ -1,4 +1,4 @@
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
#include "imports.h"
#include "x86sse.h"

View File

@@ -2,7 +2,7 @@
#ifndef _X86SSE_H_
#define _X86SSE_H_
#if defined(USE_X86_ASM) || defined(SLANG_X86)
#if defined(__i386__) || defined(__386__)
#include "glheader.h"