Commit graph

201327 commits

Author SHA1 Message Date
Jeremy Kolb
1ebe921228 Added OUT_RING* debugging macros. Compile with NOUVEAU_RING_DEBUG to use. 2006-11-01 02:48:34 +00:00
Jeremy Kolb
2d2d617dbc Oops. Forgot to check in the context change. 2006-11-01 02:45:12 +00:00
Jeremy Kolb
2581ba7f1e Fix compile errors. Add vblank_seq to nouveau_context. 2006-11-01 02:44:27 +00:00
Brian Paul
d106195ad2 change DEBUG_FRAG conditions 2006-11-01 00:14:04 +00:00
Brian Paul
e6f47d1855 fix some bugs in interpolate_specular() 2006-11-01 00:13:16 +00:00
Brian Paul
90fcf6ccc3 Added a few new ctx->Const. fields for shader-related limits. 2006-11-01 00:12:41 +00:00
Brian Paul
5050b565de make use of Parameters->StateFlags in _swrast_update_fragment_program() 2006-10-31 19:53:38 +00:00
Brian Paul
ef987aa1d7 minor clean-ups, simplifications and new comments 2006-10-31 19:53:03 +00:00
Brian Paul
7e75f51b27 fix MINGW32 problems 2006-10-31 19:14:27 +00:00
Brian Paul
4e9e0aff79 We need to call _mesa_load_state_parameters() whenever a fragment program
is enabled and we've changed any GL state that might be referenced by a
fragment program (such as state.fog.params).  Do this during swrast
validation, not in _swrast_exec_fragment_program().
2006-10-31 16:02:56 +00:00
Brian Paul
72f49657e8 signal _NEW_LIGHT in _tnl_copy_to_current() 2006-10-31 16:01:11 +00:00
Brian Paul
ecd1743a0c In TEX instructions, use precomputed lambda only if using fragment.texcoord[k]
to sample texture[k].  Use zero otherwise.  Not foolproof, but a good
compromise.
2006-10-31 14:29:01 +00:00
Keith Whitwell
35ee4affc5 switch remaining drivers over to vbo 2006-10-31 12:12:15 +00:00
Keith Whitwell
851d15ef3a disable vtxfmt_a code, switch over to vbo 2006-10-31 12:11:56 +00:00
Keith Whitwell
80c88304fc remove vtxfmt code, switch over to vbo 2006-10-31 12:11:10 +00:00
Keith Whitwell
70dd0126bd pickup structs from vbo.h 2006-10-31 11:40:31 +00:00
Keith Whitwell
1f07439fe8 move public structure definitions to vbo.h 2006-10-31 11:39:57 +00:00
Keith Whitwell
f2eb6434ab cleanup code, compiles with vbo changes 2006-10-31 11:28:45 +00:00
Brian Paul
256c96136c For TEX instructions use lambda=0. When sampling from texture unit K we
were using the partial derivatives of texcoord[K] but the coordinate used
for texture sampling may be something totally different (and texcoord[K]
might not be a real texture coord at all).  Net result was a bogus LOD is
sometimes used, often resulting in using the smallest mipmap level (a
constant color).
Just use zero for now (undef LAMBDA_ZERO to override).
Plus, some additional debug code.
2006-10-31 01:22:38 +00:00
Ian Romanick
b14bae8466 Fix bug #8799.
Properly resize bith the drawable and the readable in mgaUpdateRects.
Eliminate the use of the deprecated GetBufferSize interface.  Bump
driver date.
2006-10-30 23:44:54 +00:00
Ian Romanick
86a465412d Refactor mgaXMesaSetFrontClipRects and mgaXMesaSetBackClipRects.
Combine mgaXMesaSetFrontClipRects and mgaXMesaSetBackClipRects into a
single new function called mga_set_cliprects.  This enables a small
refactor in mgaDDDrawBuffer.
2006-10-30 22:17:39 +00:00
Ian Romanick
5af5260f3c Get DRI drawable from framebuffer object.
In the software rasterization fallbacks, get the __DRIdrawablePrivate
pointer from the driRenderbuffer that is passed in.  This eliminates
the need for the mesa_drawable pointer in MGA context structure.

This partially fixes bug #8799.  wincopy no longer produces a black
window for the destination window, but it does produce incorrect
results if the destination window is resized.
2006-10-30 22:07:00 +00:00
Keith Whitwell
a1a8a2c024 oops, get.c is autogenerated 2006-10-30 20:29:13 +00:00
Keith Whitwell
fd2756006a Move edgeflag into the VERT_ATTRIB_SEVEN slot. This means that our
NV_vertex_program implementation has slightly incorrect aliasing
behaviour.  I think this is reasonable given the simplification and
the fact that the mainstream ARB_vp continues to have the correct
behaviour.
2006-10-30 20:16:35 +00:00
Keith Whitwell
e8abd098b3 Remove wakeup functions. This code is intended to be active all the
time.
2006-10-30 17:12:05 +00:00
Keith Whitwell
48f5deab94 switch several dri drivers over 2006-10-30 16:56:56 +00:00
Keith Whitwell
99efde461d better handling of current attributes. Trivial dlist and varray tests work 2006-10-30 16:44:13 +00:00
Keith Whitwell
efef291dc7 checkpoint - remove dead files, otherwise untested 2006-10-30 16:43:39 +00:00
Brian Paul
075fae5200 code tweaks, remove old comments 2006-10-30 00:22:28 +00:00
Brian Paul
0f8405365f fix _mesa_problem() text 2006-10-30 00:13:31 +00:00
Brian Paul
a23e668d40 Move gl_vertex_program_machine struct out of mtypes.h and put into nvvertexec.h.
Massage nvvertexec.c code to work more like s_nvfragprog.c - another step
toward unifying vertex/fragment program execution.
2006-10-30 00:12:05 +00:00
Brian Paul
0781339b39 remove debug code 2006-10-30 00:07:22 +00:00
Brian Paul
e998c34647 Rather than always allocating 100 instructions, put instructions into a
temporary buffer, then copy into a malloc'd array of the correct size.
According to Glean texCombine, we never need more than 21 instructions.
2006-10-29 21:17:18 +00:00
Brian Paul
ebcedd2d89 New _mesa_exec_vertex_state_program() function. Start of some re-org. 2006-10-29 18:33:14 +00:00
Brian Paul
abb1430c79 fix wrong inequality 2006-10-29 18:14:00 +00:00
Brian Paul
d6272e0617 Change _mesa_init_instruction() to initialize an array of instructions. 2006-10-29 18:03:16 +00:00
Brian Paul
efd95c1084 Program instructions are initialized before parsing so no need to set
Abs, NegateAbs, CondMask and CondSwizzle fields to defaults here.
CondMask was getting mis-set.  Removing the incorrect assignment improves
fragment program speed by 15%.
2006-10-29 17:55:16 +00:00
Keith Whitwell
a3c86828ed Fix compiler warning 2006-10-29 09:54:17 +00:00
Keith Whitwell
0a0fb5e0b3 switch over to vbo module 2006-10-29 09:52:36 +00:00
Keith Whitwell
72b68455eb remove this module 2006-10-29 09:48:36 +00:00
Keith Whitwell
b1f176039a Changes for new vbo-building module.
- Removed all the old immediate, array and display list code.
	- Remove references to the old array_cache module.
	- Added a _tnl_draw_prims() entrypoint.
	- Added a simplified data import facility for converting
non-floating point data as required.

Checkpoint commit - trivial/tri works.
2006-10-29 09:48:15 +00:00
Keith Whitwell
fd12b37dba Checkpoint of new vbo-building code. Currently builds regular arrays
rather than VBO's - VBOs are easy but need to look closer at the
driver interface.  The trivial/tri demo works.
2006-10-29 09:46:11 +00:00
Brian Paul
a90ab5290c Added PROGRAM_CONSTANT to get_register_pointer().
More DEBUG_FRAG code.
2006-10-28 23:10:17 +00:00
Brian Paul
8ed319796f special case END in _mesa_print_instruction() 2006-10-28 23:08:07 +00:00
Brian Paul
f5eea0cc7a Implement _mesa_append_fog_code() for fragment program fog options. 2006-10-28 17:14:47 +00:00
Brian Paul
db5529573f If DEBUG, check that all array indices really do fall in [start,end] in
the DrawRangeElements() call.  Warn the user if that's not true.
2006-10-26 20:54:28 +00:00
Roland Scheidegger
b55a0ab7ab remove code for inserting mvp transform into position-invariant vertex progs and instead use _mesa_insert_mvp_code(). 2006-10-26 12:09:07 +00:00
Brian Paul
fe457474d4 Previously, if a fragment program referenced fragment.fogcoord but the
program didn't use the ARB_fog_linear option, the fragment program's
fragment.fogcoord register wasn't loaded properly.
2006-10-25 23:10:14 +00:00
Roland Scheidegger
e9b923182e change some bogus comments regarding the base e exponential function used for fog in vertex programs. 2006-10-25 12:14:26 +00:00
Roland Scheidegger
fc606f7db9 fix (per-vertex) fog when using ARB_vp by incorporating fog factor computation into the vertex program (not yet fixed for swtnl). Simplify (and correct) the VTX_TCL_OUTPUT_VTXFMT handling when using vertex programs, turns out it's solely driven by the needs of the past-vertex stage of the pipeline, this should fix lockups with ill-specified applications using vertex programs (for instance applications enabling fog but not writing to fog coord output will now get (conformant) undefined results instead of lockups). 2006-10-24 22:37:51 +00:00