r500: Add "Not quite SSA" and dead code elimination pass

In addition, this pass fixes non-native swizzles.
This commit is contained in:
Nicolai Haehnle
2008-07-06 19:48:50 +02:00
parent 7904c9fad4
commit d8d086c20b
7 changed files with 524 additions and 24 deletions

View File

@@ -67,13 +67,13 @@ _mesa_find_line_column(const GLubyte *string, const GLubyte *pos,
GLint *line, GLint *col);
extern struct gl_program *
_mesa_init_vertex_program(GLcontext *ctx,
struct gl_vertex_program *prog,
extern struct gl_program *
_mesa_init_vertex_program(GLcontext *ctx,
struct gl_vertex_program *prog,
GLenum target, GLuint id);
extern struct gl_program *
_mesa_init_fragment_program(GLcontext *ctx,
extern struct gl_program *
_mesa_init_fragment_program(GLcontext *ctx,
struct gl_fragment_program *prog,
GLenum target, GLuint id);
@@ -115,6 +115,9 @@ _mesa_clone_program(GLcontext *ctx, const struct gl_program *prog);
extern GLboolean
_mesa_insert_instructions(struct gl_program *prog, GLuint start, GLuint count);
extern GLboolean
_mesa_delete_instructions(struct gl_program *prog, GLuint start, GLuint count);
extern struct gl_program *
_mesa_combine_programs(GLcontext *ctx,
const struct gl_program *progA,