keithw [Mon, 15 Jan 2007 11:52:58 +0000 (11:52 +0000)]
New files to manage splitting drawing commands
Keith Whitwell [Mon, 20 Nov 2006 11:49:58 +0000 (11:49 +0000)]
Don't perform dangling attribute check on POS attribute. It can't by
definition dangle (every vertex has a position). However
save->currentsz isn't properly maintained for this attribute, as there
is no current position value to track. Based on patch from Haihao Xiang.
Keith Whitwell [Fri, 3 Nov 2006 13:04:08 +0000 (13:04 +0000)]
Fix compiler warnings.
Add missing code for translating non-GLuint elements.
Roland Scheidegger [Fri, 3 Nov 2006 12:33:29 +0000 (12:33 +0000)]
need to call bind_arrays() in vbo_exec_DrawRangeElements.
Roland Scheidegger [Fri, 3 Nov 2006 12:30:55 +0000 (12:30 +0000)]
remove remaining traces of r200FlushVertices...
Jerome Glisse [Thu, 2 Nov 2006 20:44:03 +0000 (20:44 +0000)]
Move r300 to new fbo interface based on Keith Whithwell.
Tested with progs/redbook/varray.
Keith Whitwell [Thu, 2 Nov 2006 19:11:16 +0000 (19:11 +0000)]
Fix type-conversion of incoming vertices.
Fix mis-application of increment to pointer variable.
Keith Whitwell [Thu, 2 Nov 2006 19:02:04 +0000 (19:02 +0000)]
Fix typo in last commit
Keith Whitwell [Thu, 2 Nov 2006 18:02:17 +0000 (18:02 +0000)]
Similarly, fill in missing input slots in the vertex-array +
NV_vertex_program path.
Keith Whitwell [Thu, 2 Nov 2006 18:00:43 +0000 (18:00 +0000)]
Fill in missing input slots in the vertex-array + no-vertex-program
path.
Alan Hourihane [Thu, 2 Nov 2006 12:02:13 +0000 (12:02 +0000)]
merge current trunk into vbo branch
Keith Whitwell [Thu, 2 Nov 2006 11:40:56 +0000 (11:40 +0000)]
Fix typo in display list attrib binding.
Keith Whitwell [Thu, 2 Nov 2006 09:48:30 +0000 (09:48 +0000)]
Respect array->Normalized flag.
Import edgeflag attribute to array of GLbooleans as expected by
downstream code.
Keith Whitwell [Thu, 2 Nov 2006 08:37:17 +0000 (08:37 +0000)]
missing file
Keith Whitwell [Tue, 31 Oct 2006 12:12:15 +0000 (12:12 +0000)]
switch remaining drivers over to vbo
Keith Whitwell [Tue, 31 Oct 2006 12:11:56 +0000 (12:11 +0000)]
disable vtxfmt_a code, switch over to vbo
Keith Whitwell [Tue, 31 Oct 2006 12:11:10 +0000 (12:11 +0000)]
remove vtxfmt code, switch over to vbo
Keith Whitwell [Tue, 31 Oct 2006 11:40:31 +0000 (11:40 +0000)]
pickup structs from vbo.h
Keith Whitwell [Tue, 31 Oct 2006 11:39:57 +0000 (11:39 +0000)]
move public structure definitions to vbo.h
Keith Whitwell [Tue, 31 Oct 2006 11:28:45 +0000 (11:28 +0000)]
cleanup code, compiles with vbo changes
Keith Whitwell [Mon, 30 Oct 2006 20:29:13 +0000 (20:29 +0000)]
oops, get.c is autogenerated
Keith Whitwell [Mon, 30 Oct 2006 20:16:35 +0000 (20:16 +0000)]
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.
Keith Whitwell [Mon, 30 Oct 2006 17:12:05 +0000 (17:12 +0000)]
Remove wakeup functions. This code is intended to be active all the
time.
Keith Whitwell [Mon, 30 Oct 2006 16:56:56 +0000 (16:56 +0000)]
switch several dri drivers over
Keith Whitwell [Mon, 30 Oct 2006 16:44:13 +0000 (16:44 +0000)]
better handling of current attributes. Trivial dlist and varray tests work
Keith Whitwell [Mon, 30 Oct 2006 16:43:39 +0000 (16:43 +0000)]
checkpoint - remove dead files, otherwise untested
Keith Whitwell [Sun, 29 Oct 2006 09:54:17 +0000 (09:54 +0000)]
Fix compiler warning
Keith Whitwell [Sun, 29 Oct 2006 09:52:36 +0000 (09:52 +0000)]
switch over to vbo module
Keith Whitwell [Sun, 29 Oct 2006 09:48:36 +0000 (09:48 +0000)]
remove this module
Keith Whitwell [Sun, 29 Oct 2006 09:48:15 +0000 (09:48 +0000)]
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.
Keith Whitwell [Sun, 29 Oct 2006 09:46:11 +0000 (09:46 +0000)]
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.
Brian Paul [Sat, 28 Oct 2006 23:10:17 +0000 (23:10 +0000)]
Added PROGRAM_CONSTANT to get_register_pointer().
More DEBUG_FRAG code.
Brian Paul [Sat, 28 Oct 2006 23:08:07 +0000 (23:08 +0000)]
special case END in _mesa_print_instruction()
Brian Paul [Sat, 28 Oct 2006 17:14:47 +0000 (17:14 +0000)]
Implement _mesa_append_fog_code() for fragment program fog options.
Brian Paul [Thu, 26 Oct 2006 20:54:28 +0000 (20:54 +0000)]
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.
Roland Scheidegger [Thu, 26 Oct 2006 12:09:07 +0000 (12:09 +0000)]
remove code for inserting mvp transform into position-invariant vertex progs and instead use _mesa_insert_mvp_code().
Brian Paul [Wed, 25 Oct 2006 23:10:14 +0000 (23:10 +0000)]
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.
Roland Scheidegger [Wed, 25 Oct 2006 12:14:26 +0000 (12:14 +0000)]
change some bogus comments regarding the base e exponential function used for fog in vertex programs.
Roland Scheidegger [Tue, 24 Oct 2006 22:37:51 +0000 (22:37 +0000)]
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).
Ian Romanick [Tue, 24 Oct 2006 20:50:08 +0000 (20:50 +0000)]
Add missing call to glutInit.
Brian Paul [Tue, 24 Oct 2006 13:46:39 +0000 (13:46 +0000)]
s/GLchan/GLubyte/
Brian Paul [Tue, 24 Oct 2006 13:45:08 +0000 (13:45 +0000)]
whitespace clean-up
Keith Whitwell [Mon, 23 Oct 2006 08:43:26 +0000 (08:43 +0000)]
Emit cliprects in the userspace driver as required, rather than
passing them to the kernel. This works because all drawing commands
in the 965 driver are emitted with the lock held and the batchbuffer
is always flushed prior to releasing the lock. This allows multiple
cliprects to be dealt with, without replaying entire batchbuffers and
redundantly re-emitting state.
Brian Paul [Sun, 22 Oct 2006 23:21:45 +0000 (23:21 +0000)]
assorted clean-ups
Brian Paul [Sun, 22 Oct 2006 22:58:42 +0000 (22:58 +0000)]
don't save color/z if fragment is killed
Brian Paul [Sun, 22 Oct 2006 22:37:30 +0000 (22:37 +0000)]
add minstall script to MAIN_FILES (bug 8720)
Brian Paul [Sun, 22 Oct 2006 22:36:24 +0000 (22:36 +0000)]
minor tweaks good for about 12% faster execution
Brian Paul [Sun, 22 Oct 2006 22:25:46 +0000 (22:25 +0000)]
silence used var warnings
Brian Paul [Sun, 22 Oct 2006 17:18:50 +0000 (17:18 +0000)]
Color clamping fixes.
Brian Paul [Sat, 21 Oct 2006 23:21:35 +0000 (23:21 +0000)]
move/improve comments, clean up code in a few places
Brian Paul [Sat, 21 Oct 2006 22:56:21 +0000 (22:56 +0000)]
fix another logic error in computing deferredTexture
Brian Paul [Sat, 21 Oct 2006 22:43:15 +0000 (22:43 +0000)]
For deferredTexture, need to check if the fragment program/shader writes
the fragment Z.
Brian Paul [Sat, 21 Oct 2006 21:14:20 +0000 (21:14 +0000)]
move interpolate_varying() call
Brian Paul [Sat, 21 Oct 2006 21:13:40 +0000 (21:13 +0000)]
don't use params passed to Clear()
Brian Paul [Sat, 21 Oct 2006 00:20:16 +0000 (00:20 +0000)]
Move interpolate_texcoords() and interpolate_varying() calls into shade_texture_span().
Added some INLINE hints.
Brian Paul [Thu, 19 Oct 2006 22:27:44 +0000 (22:27 +0000)]
Consolidate some code into shade_texture_span().
Clean up logic for deferred texturing/shading.
Brian Paul [Thu, 19 Oct 2006 22:26:29 +0000 (22:26 +0000)]
fixed Fixed/Int bug
Brian Paul [Thu, 19 Oct 2006 22:13:31 +0000 (22:13 +0000)]
remove temp code
Brian Paul [Thu, 19 Oct 2006 20:11:15 +0000 (20:11 +0000)]
remove some debug/test changes
Brian Paul [Thu, 19 Oct 2006 20:09:05 +0000 (20:09 +0000)]
New bin/minstall script - a minimal replacement for 'install'.
Correctly handles symlinks so we can get rid of the COPY_LIBS stuff.
Brian Paul [Thu, 19 Oct 2006 14:02:42 +0000 (14:02 +0000)]
fix problem when CHAN_BITS == 32 (bug 8704), remove unneeded assertion
Michal Krol [Thu, 19 Oct 2006 08:07:00 +0000 (08:07 +0000)]
Fix nonportable pointer+unsigned arithmetic. Use pointer+int.
Brian Paul [Wed, 18 Oct 2006 23:14:02 +0000 (23:14 +0000)]
added clamp_colors(), updated assertions
Brian Paul [Wed, 18 Oct 2006 22:38:13 +0000 (22:38 +0000)]
minor re-org, doxygen comments
Brian Paul [Wed, 18 Oct 2006 22:05:13 +0000 (22:05 +0000)]
Changed install filenames to libGL* and libOSMesa* so things work on Darwin
where GL_LIB_NAME = libGL.dylib but the other library name is libGL.1.dylib
Unlike other platforms, the version number is in the middle of the name,
not at the end.
See bug 8671
Ian Romanick [Wed, 18 Oct 2006 20:27:11 +0000 (20:27 +0000)]
Enable GLX_SGI_make_current_read for radeon.
Added code to track the drawable bound to the context for reading. In
addition, when a drawable is initially bound (for reading or drawing)
or when the size of the drawable changes, update the size of the
framebuffer object that back the drawable (for software fallbacks).
Deprecate the old GetBufferSize interface.
Bump the driver date.
These changes were tested with wincopy on both direct rendering and
accelerated indirect rendering (AIGLX).
Brian Paul [Wed, 18 Oct 2006 20:03:20 +0000 (20:03 +0000)]
Don't use x/y/w/h params given to Clear().
Brian Paul [Wed, 18 Oct 2006 20:02:42 +0000 (20:02 +0000)]
Want to stop passing x/y/width/height to Clear() function.
The coordinates need to be computed after we've got the hw lock.
Code updated to:
1. Ignore all/x/y/width/height/ params passed to Clear func.
2. Pass 0,0,0,0,0 to _swrast_Clear() until they're totally removed.
Brian Paul [Wed, 18 Oct 2006 18:35:09 +0000 (18:35 +0000)]
Don't pass x/y/width/height to ctx->Driver.Accum().
Compute the region after we've locked (and possibly updated the buffer's size).
Same thing is needed for ctx->Driver.Clear().
Brian Paul [Wed, 18 Oct 2006 18:03:54 +0000 (18:03 +0000)]
glDrawPixels, line clipping bug fixes
Brian Paul [Wed, 18 Oct 2006 18:02:05 +0000 (18:02 +0000)]
Fix broken line clipping.
When both ends of the line were clipped, we were using the new v0 instead
of the original v0 when computing the location of the second vertex. Thus,
the second vertex's position was incorrect.
Thanks to Heath Feather for finding a test case.
Brian Paul [Wed, 18 Oct 2006 17:36:57 +0000 (17:36 +0000)]
Fix a dangerous use of ASSERT in an else-clause not enclosed in braces.
We've been lucky if this hasn't been causing line rendering bugs.
Brian Paul [Tue, 17 Oct 2006 22:23:32 +0000 (22:23 +0000)]
Always convert colors to float before running a fragment shader/program.
Brian Paul [Tue, 17 Oct 2006 22:22:42 +0000 (22:22 +0000)]
fix fog color bug
Brian Paul [Tue, 17 Oct 2006 21:12:32 +0000 (21:12 +0000)]
Move struct atifs_machine into s_atifragshader.c
Add support for runtime colorbuffer types.
Brian Paul [Tue, 17 Oct 2006 20:40:22 +0000 (20:40 +0000)]
Seperate interpolate_colors() and interpolate_specular().
Fix bugs in apply_aa_coverage().
Brian Paul [Tue, 17 Oct 2006 20:22:53 +0000 (20:22 +0000)]
apply_aa_coverage() for ubyte/ushort/float
Brian Paul [Tue, 17 Oct 2006 19:57:25 +0000 (19:57 +0000)]
new assertions - one of which is currently failing with arbfslight.c
Brian Paul [Tue, 17 Oct 2006 18:54:19 +0000 (18:54 +0000)]
remove obsolete intelBufferSize(), bump driver date
Brian Paul [Tue, 17 Oct 2006 17:51:39 +0000 (17:51 +0000)]
Remove get_buffer_size()
Always check window size in XMesaMakeCurrent() in case glViewport is not
called.
Brian Paul [Tue, 17 Oct 2006 17:44:43 +0000 (17:44 +0000)]
Lots of fixes/changes to select color depth at runtime.
Brian Paul [Tue, 17 Oct 2006 17:43:47 +0000 (17:43 +0000)]
check if ctx->Driver.GetBufferSize==NULL and no-op
Brian Paul [Tue, 17 Oct 2006 17:03:21 +0000 (17:03 +0000)]
include x86-64.h to silence warning
Brian Paul [Tue, 17 Oct 2006 17:03:00 +0000 (17:03 +0000)]
Fix CHAN_BITS=32 issues.
Save/restore array->ChanType in case colors are converted.
Brian Paul [Mon, 16 Oct 2006 23:22:44 +0000 (23:22 +0000)]
Added -clip option to test glCopyPixels beyond window bounds.
Clear dest window to black before copying.
Use glWindowPos2iARB().
Brian Paul [Mon, 16 Oct 2006 22:02:33 +0000 (22:02 +0000)]
Init _UseTexEnvProgram to fix failed assertion in i915_render_start() - this may be temporary
Brian Paul [Mon, 16 Oct 2006 21:39:34 +0000 (21:39 +0000)]
Updates to intelWindowMoved():
Only need to call _mesa_resize_framebuffer() when we've detected a window
size change.
Set the drawFb->Initalized flag to GL_TRUE to avoid obsolete
Driver.GetBufferSize/ResizeBuffer calls in the Mesa code.
Ian Romanick [Mon, 16 Oct 2006 20:59:53 +0000 (20:59 +0000)]
Track the currently bound read drawable and make sure its info is up
to date.
Ian Romanick [Mon, 16 Oct 2006 20:57:09 +0000 (20:57 +0000)]
Fix build when DEBUG is defined but DEBUG_MATH is not.
A couple places attempted to call _math_test_all_*_functions when
DEBUG was defined. These routines only exist when DEBUG_MATH is
defined.
Brian Paul [Mon, 16 Oct 2006 20:51:50 +0000 (20:51 +0000)]
s/X86_SOURCES/ASM_SOURCES/ in ALL_SOURCES to try to fix make depend warnings (bug 8669)
Ian Romanick [Mon, 16 Oct 2006 17:50:19 +0000 (17:50 +0000)]
Fix bug #8563.
Fixes a GLX protocol problem when binding an indirect rendering context
after a direct rendering context. In this case, the oldContetTag sent to
the server should be None, but the currectContextTag stored in the direct
rendering context (i.e., -1) was sent instead.
Brian Paul [Mon, 16 Oct 2006 17:26:30 +0000 (17:26 +0000)]
Set _NEW_BUFFERS in _mesa_resize_framebuffer(). This makes sure the swrast
module updates its state (CLIP_BIT) upon resizes. The driver could do this
instead, but doing it here is safer.
Brian Paul [Mon, 16 Oct 2006 16:39:54 +0000 (16:39 +0000)]
remove some old code that could cause infinite recursion
Brian Paul [Sun, 15 Oct 2006 22:30:35 +0000 (22:30 +0000)]
allow >10 mipmap levels (patch by Benno Schulenberg) (bug 3130)
Brian Paul [Sun, 15 Oct 2006 22:29:16 +0000 (22:29 +0000)]
regenerated to get DRI_CONF_EXCESS_MIPMAP()
Roland Scheidegger [Sun, 15 Oct 2006 21:47:56 +0000 (21:47 +0000)]
fix handling of textures with a base internal format that does not have all four rgba values set for radeon and r200 (discovered with a modified glean pixelFormats test, noone ever noticed in over 2 years). For radeon, use hw format I8 as previously, and change tex env to make the correct default values appear for both GL_ALPHA and GL_LUMINANCE textures. For r200, which supports GL_LUMINANCE just fine, use the AL88 hw format for GL_ALPHA textures, since it seems like it's probably not worth the effort to fix up the texture environment (certainly complicated in case of ATI_fragment_shader programs).
Brian Paul [Sun, 15 Oct 2006 19:26:43 +0000 (19:26 +0000)]
Added #if / #else / #endif around code related to framebuffer initialization
to describe what should be changed in the drivers.
Brian Paul [Sun, 15 Oct 2006 19:20:29 +0000 (19:20 +0000)]
updated comments, mark GetBufferSize() and ResizeBuffers() as obsolete
Brian Paul [Sun, 15 Oct 2006 19:08:11 +0000 (19:08 +0000)]
minor clean-up: s/intel->driDrawable/dPriv/
Brian Paul [Sun, 15 Oct 2006 18:51:22 +0000 (18:51 +0000)]
Remove calls to _mesa_ResizeBuffersMESA() - generally replace with code to
check the current window size, then call _mesa_resize_framebuffer().