Commit Graph

6464 Commits

Author SHA1 Message Date
Keith Whitwell
1e5772f0ba Don't let FragmentProgram._Active influence choice of vertex vs pixel
fog.
2005-05-11 16:30:02 +00:00
Keith Whitwell
ac6728d2d9 Previously in TXP and TEX instructions, lambda was passed to
fetch_texel as zero, but I believe this is incorrect.  The spec uses a
pseudocode function:

      vec4 TextureSample(float s, float t, float r, float lodBias,
                         int texImageUnit, enum texTarget);

to specify the behaviour of TEX, TXB and TXP instructions.  For TEX
and TXP, lodBias is passed as zero, TXB is passed with texcoord[4].  In our code we have

      static void
      fetch_texel( GLcontext *ctx, const GLfloat texcoord[4], GLfloat lambda,
                   GLuint unit, GLfloat color[4] )

and were passing zero and a biased lambda value respectively.  The
difference is that TextureSample() would add in the lambda term
itself, while in our code the caller is expected to do this.  Thus in
the TEX and TXP cases, it is necessary to pass an unbiased lambda
value for things to work out correctly.
2005-05-11 16:28:33 +00:00
Keith Whitwell
49d8cbe8d1 Use _mesa_memset rather than memset 2005-05-11 15:18:59 +00:00
Keith Whitwell
9d148e6b2b Don't let FragmentProgram._Active influence choice of vertex vs pixel
fog.
2005-05-11 15:18:23 +00:00
Keith Whitwell
363d0bcf01 Test for texcoord[3] == zero before dividing. Not so sure about this
test - if texcoord[3] is zero, we'd probably be fine except for an
ASSERT in IROUND_POS() which gets triggered by the inf values
created.
2005-05-11 15:17:31 +00:00
Keith Whitwell
e490242b9a Fix glean/conform problems. Don't generate so much output when
disassembling.
2005-05-11 15:16:35 +00:00
Keith Whitwell
a582015905 Fix valgrind complaint, conform vertex order test. 2005-05-11 10:30:13 +00:00
Keith Whitwell
3509fd8c1b Rename temp_flag to temp_in_use. Use ctx->Const.MaxVertexProgramTemps
rather than MAX_NV_VERTEX_PROGRAM_TEMPS and deal with this possibly
being greater than 32.
2005-05-11 08:34:19 +00:00
Keith Whitwell
93cd9237d7 Fix logic for allocating texture temporaries (Ben Skeggs).
Rename temp_flag, tex_temp_flag to make this clearer.
Respect ctx->Const.MaxFragmentProgramTemps limit.
2005-05-11 08:30:23 +00:00
Adam Jackson
1243b829bb int -> size_t to fix compile on LP64. 2005-05-11 01:33:50 +00:00
Keith Whitwell
2fcaf7a529 Ensure programs don't overflow allocated instruction store. 2005-05-10 18:24:50 +00:00
Keith Whitwell
a42fe19d8d Fix some valgrind complaints 2005-05-10 18:22:19 +00:00
Keith Whitwell
e57d5c4742 fix some valgrind complaints 2005-05-10 18:10:32 +00:00
Keith Whitwell
5a5b4436cb Improved detection of program changes. 2005-05-10 18:10:00 +00:00
Keith Whitwell
3ffe8731e6 Double-buffer generated instructions and only notify driver when the
generated program differs from the previous one.
2005-05-10 18:09:17 +00:00
Keith Whitwell
c5f5055097 Fix some valgrind complaints 2005-05-10 18:08:25 +00:00
Keith Whitwell
dbeea25bb8 Double-buffer generated instructions and only notify driver when the
generated program differs from the previous one.
2005-05-10 13:57:50 +00:00
Keith Whitwell
f29f2fc294 reduce the use of malloc and strdup for parameter lists 2005-05-10 13:56:23 +00:00
Keith Whitwell
ab81d1fd99 don't be fooled into emitting padding for wpos when not used 2005-05-10 13:54:52 +00:00
Keith Whitwell
d9fdb6c2bb Missing from previous commit 2005-05-10 11:41:33 +00:00
Keith Whitwell
9eef0da109 Update for FragmentProgram._Active 2005-05-10 11:40:52 +00:00
Keith Whitwell
8b88f62fbd Better driver notification on changes. 2005-05-10 11:39:50 +00:00
Keith Whitwell
948fa3b295 get fog working with _TexEnvProgram 2005-05-10 11:38:56 +00:00
Keith Whitwell
586f2c59fe Temporary fix - delete and recreate texenvprogram so that drivers
notice when it changes.
2005-05-10 10:25:16 +00:00
Jouk Jansen
e3b0c19ec9 Committing in .
OpenVMS compile support update for new buffer-code

 Modified Files:
 	Mesa/src/mesa/drivers/x11/descrip.mms
 	Mesa/src/mesa/main/descrip.mms
 	Mesa/src/mesa/swrast/descrip.mms
 ----------------------------------------------------------------------
2005-05-10 10:15:30 +00:00
Keith Whitwell
9ca8815d3b Fix texenv segfault. Reported by Ben Skeggs. 2005-05-10 09:56:02 +00:00
Keith Whitwell
ecb6bfc0ce Try not to use the same temp reg as a TXP destination more than once,
as this also constitutes a texture indirection.  Reported by Ben
Skeggs.
2005-05-10 08:58:44 +00:00
Daniel Borca
fee163a61a pathetic attempt to accomodate new frambuffer changes (still some work to do) 2005-05-09 22:15:24 +00:00
Daniel Borca
0e26580c90 accomodate new frambuffer changes 2005-05-09 22:14:58 +00:00
Daniel Borca
c8542705f7 fix some typos in FX code 2005-05-09 22:14:32 +00:00
Keith Whitwell
435eff8b85 i915 will use _TexEnvProgram (if active) 2005-05-09 17:59:13 +00:00
Keith Whitwell
276330b241 Use driver functions to create TexEnvProgram, TnlProgram 2005-05-09 17:58:13 +00:00
Keith Whitwell
ff6723e326 check for null DrawBuffer values 2005-05-09 17:42:18 +00:00
Keith Whitwell
1180fc13db Fallback (rather than fail) on unknown program targets. 2005-05-09 17:38:52 +00:00
Jon Smirl
5c6aec2f39 dri fb works using renderbuffers now in RGBA mode 2005-05-08 05:01:03 +00:00
Jon Smirl
86300c6945 fbdri can draw double buffered now. Next step is to convert it
to use RenderBuffers.
2005-05-07 19:56:44 +00:00
Brian Paul
fc3bc1ae14 remove some dead code 2005-05-07 18:27:58 +00:00
Brian Paul
d3bd97bb14 x86_64 stuff 2005-05-07 17:27:57 +00:00
Brian Paul
52064f6c37 added linux-x86-xcb config (Jeremy Kolb) 2005-05-07 17:21:11 +00:00
Brian Paul
2eb147e7f5 Patches for XCB (Jeremy Kolb) 2005-05-07 17:14:50 +00:00
Brian Paul
6f3d16c64a assorted warning clean-ups for x86_64, etc (Mikko T.) 2005-05-07 17:06:49 +00:00
Brian Paul
42fa81275c x86-64 transform optimizations (Mikko T.) 2005-05-07 16:59:58 +00:00
Brian Paul
e3f684b753 fix a bunch of html errors 2005-05-06 22:17:24 +00:00
Brian Paul
883d20791a fix cpp / bytesPerPixel problem (bug 1196554) 2005-05-06 19:28:31 +00:00
Brian Paul
b1d0ac64ab remove bad assertion, added new ones in clear_pixmap() 2005-05-06 15:23:54 +00:00
Brian Paul
c64573997c restore call to SetBuffer() in clear_color_buffers(), only temporary 2005-05-06 14:44:16 +00:00
Ben Skeggs
e133984f51 Updated for EXT_framebuffer_object changes. I don't know if this is correct, but it seems to work 2005-05-06 08:41:50 +00:00
Jon Smirl
bd8162aaac Fix problem generating mode db. Miniglxtest works now.
Miniglxsample is still broken with double buffering issues.
2005-05-06 05:50:41 +00:00
Aapo Tahkola
4a55d4ffa7 Missing setups that cause all kinds of problems with hw tnl. 2005-05-06 03:18:40 +00:00
Karl Schultz
6258b76c49 Port Mesa to build on a P64 platform (e.g., Win64). P64 platforms
use 64-bit pointers and 32-bit longs.  So, operations like casting pointers
to unsigned long and back to pointer won't work.  glheader.h now
includes files to define uintptr_t, which should instead be used for
this sort of operation.  It is an integer type that is the same size
as a pointer.
2005-05-05 21:08:07 +00:00