summaryrefslogtreecommitdiff
path: root/src/mesa/tnl/t_vb_arbprogram.h
diff options
context:
space:
mode:
authorKeith Whitwell <keith@tungstengraphics.com>2005-07-10 11:23:10 +0000
committerKeith Whitwell <keith@tungstengraphics.com>2005-07-10 11:23:10 +0000
commit9311bc253e0942af621b7efab0549ed75c0ce4a8 (patch)
treef977e151531fd1cf3157d8cab16697f90270a90e /src/mesa/tnl/t_vb_arbprogram.h
parent0cfbd849ecaa59b842eca303d581d4ce90440bac (diff)
Add runtime compiled x87 implementations for most of the remaining
opcodes. When enabled via environment vars, gears runs and almost looks right but other apps are still quite buggy.
Diffstat (limited to 'src/mesa/tnl/t_vb_arbprogram.h')
-rw-r--r--src/mesa/tnl/t_vb_arbprogram.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/mesa/tnl/t_vb_arbprogram.h b/src/mesa/tnl/t_vb_arbprogram.h
index 6279f098f6..004269d60e 100644
--- a/src/mesa/tnl/t_vb_arbprogram.h
+++ b/src/mesa/tnl/t_vb_arbprogram.h
@@ -60,6 +60,9 @@
#define REG_ONES 65 /* 1,1,1,1 */
#define REG_SWZ 66 /* -1,1,0,0 */
#define REG_NEG 67 /* -1,-1,-1,-1 */
+#define REG_LIT 68 /* 1,0,0,1 */
+#define REG_LIT2 69 /* 1,0,0,1 */
+#define REG_SCRATCH 70 /* internal temporary */
#define REG_UNDEF 127 /* special case - never used */
#define REG_MAX 128
#define REG_INVALID ~0
@@ -125,6 +128,13 @@ struct output {
/*--------------------------------------------------------------------------- */
+#ifdef NO_FAST_MATH
+#define RESTORE_FPU (DEFAULT_X86_FPU)
+#define RND_NEG_FPU (DEFAULT_X86_FPU | 0x400)
+#else
+#define RESTORE_FPU (FAST_X86_FPU)
+#define RND_NEG_FPU (FAST_X86_FPU | 0x400)
+#endif
/*!
* Private storage for the vertex program pipeline stage.
@@ -148,6 +158,9 @@ struct arb_vp_machine {
struct vertex_buffer *VB;
GLcontext *ctx;
+ GLshort fpucntl_rnd_neg; /* constant value */
+ GLshort fpucntl_restore; /* constant value */
+
GLboolean try_codegen;
};