summaryrefslogtreecommitdiff
path: root/src/mesa/shader/slang/slang_assemble.h
diff options
context:
space:
mode:
authorBrian <brian@yutani.localnet.net>2006-12-13 14:48:36 -0700
committerBrian <brian@yutani.localnet.net>2006-12-13 14:48:36 -0700
commitaff8e204d205b5d424d2c39a5d9e004caaa1eab1 (patch)
tree91d06d422f8900af461233186bcc79351c3025f6 /src/mesa/shader/slang/slang_assemble.h
parent5b35132b41427798e02a66a8e39583fffbe9d232 (diff)
Checkpoint new GLSL compiler back-end to produce fp/vp-style assembly instructions.
Diffstat (limited to 'src/mesa/shader/slang/slang_assemble.h')
-rw-r--r--src/mesa/shader/slang/slang_assemble.h27
1 files changed, 23 insertions, 4 deletions
diff --git a/src/mesa/shader/slang/slang_assemble.h b/src/mesa/shader/slang/slang_assemble.h
index d004e66500..d507fc0161 100644
--- a/src/mesa/shader/slang/slang_assemble.h
+++ b/src/mesa/shader/slang/slang_assemble.h
@@ -25,6 +25,8 @@
#ifndef SLANG_ASSEMBLE_H
#define SLANG_ASSEMBLE_H
+#include "imports.h"
+#include "mtypes.h"
#include "slang_utility.h"
#if defined __cplusplus
@@ -43,6 +45,7 @@ typedef enum slang_assembly_type_
slang_asm_float_push,
slang_asm_float_deref,
slang_asm_float_add, /* a = pop(); b = pop(); push(a + b); */
+ slang_asm_float_subtract,
slang_asm_float_multiply,
slang_asm_float_divide,
slang_asm_float_negate, /* push(-pop()) */
@@ -51,11 +54,17 @@ typedef enum slang_assembly_type_
slang_asm_float_equal_int,
slang_asm_float_to_int, /* push(floatToInt(pop())) */
slang_asm_float_sine, /* push(sin(pop()) */
+ slang_asm_float_cosine,
slang_asm_float_arcsine,
slang_asm_float_arctan,
slang_asm_float_power, /* push(pow(pop(), pop())) */
+ slang_asm_float_exp,
+ slang_asm_float_exp2,
+ slang_asm_float_rsq,
+ slang_asm_float_rcp,
slang_asm_float_log2,
- slang_asm_float_floor,
+ slang_asm_float_min,
+ slang_asm_float_max,
slang_asm_float_ceil,
slang_asm_float_noise1, /* push(noise1(pop()) */
slang_asm_float_noise2, /* push(noise2(pop(), pop())) */
@@ -114,7 +123,19 @@ typedef enum slang_assembly_type_
slang_asm_vec4_multiply,
slang_asm_vec4_divide,
slang_asm_vec4_negate,
+ slang_asm_vec4_min,
+ slang_asm_vec4_max,
+ slang_asm_vec4_seq,
+ slang_asm_vec4_sne,
+ slang_asm_vec4_sge,
+ slang_asm_vec4_sgt,
slang_asm_vec4_dot,
+ slang_asm_vec3_dot,
+ slang_asm_vec3_cross,
+ slang_asm_vec4_floor,
+ slang_asm_vec4_frac,
+ slang_asm_vec4_abs,
+
slang_asm_vec4_copy,
slang_asm_vec4_deref,
slang_asm_vec4_equal_int,
@@ -231,6 +252,7 @@ typedef struct slang_assemble_ctx_
slang_assembly_local_info local;
slang_ref_type ref;
slang_swizzle swz;
+ struct gl_program *program;
} slang_assemble_ctx;
extern struct slang_function_ *
@@ -244,9 +266,6 @@ extern GLboolean
_slang_assemble_function(slang_assemble_ctx *, struct slang_function_ *);
extern GLboolean
-_slang_assemble_function2(slang_assemble_ctx * , struct slang_function_ *);
-
-extern GLboolean
_slang_cleanup_stack(slang_assemble_ctx *, struct slang_operation_ *);
extern GLboolean