Ian Romanick [Sun, 6 Mar 2005 08:55:39 +0000 (08:55 +0000)]
Actually *use* the count_scale value associated with a parameter.
Felix Kuehling [Sun, 6 Mar 2005 03:52:01 +0000 (03:52 +0000)]
Don't synchronize after each frame. Allow the GPU to be one frame
ahead of the CPU for more parallelism of CPU and GPU. Unfortunately
there seems to be some broken hardware (like my ProSavageDDR) on which
status register updates are delayed sometimes. This leads to very
jerky animation if the hardware can buffer more than the current
frame. A new option "sync_frames" can be used as a remedy on such
broken hardware.
Felix Kuehling [Sun, 6 Mar 2005 01:28:30 +0000 (01:28 +0000)]
- Fixed two bugs related to DMA buffer handling that showed up with the
new DRM version 2.4 and command DMA.
- Flush less.
- Bumped the driver date.
Vladimir Dergachev [Sat, 5 Mar 2005 22:20:57 +0000 (22:20 +0000)]
Add format 15. It turned out to be X,X,X,X,X8.
Dave Airlie [Sat, 5 Mar 2005 06:38:59 +0000 (06:38 +0000)]
Fixing memset on ia64 & other archs
From: Stephane Marchesin
Vladimir Dergachev [Sat, 5 Mar 2005 06:31:36 +0000 (06:31 +0000)]
Enable VB mode rendering by default. If anyone thinks this is wrong, *please* feel free to change it back.
My reasons:
* immediate mode is broken
* vb mode is faster
* vb mode is the right way to do it.
Vladimir Dergachev [Sat, 5 Mar 2005 06:10:09 +0000 (06:10 +0000)]
Do properly initialize ALPHA_TEST register instead of carefully preserving bogus value. This fixes many, many rendering issues which I wrongly blamed on texture programming or performance..
Dave Airlie [Sat, 5 Mar 2005 04:00:09 +0000 (04:00 +0000)]
fix for solo to set the mode, and make solo gcc2 friendly...
From: Stephane Marchesin
Roland Scheidegger [Sat, 5 Mar 2005 00:04:20 +0000 (00:04 +0000)]
remove one of the two _tnl_isolate_materials function calls
Adam Jackson [Fri, 4 Mar 2005 20:18:55 +0000 (20:18 +0000)]
Add preliminary EGL headers.
Ian Romanick [Fri, 4 Mar 2005 17:53:24 +0000 (17:53 +0000)]
Import fixes from X.org tree (Søren Sandmann <sandmann@redhat.com>).
Rune Petersen [Fri, 4 Mar 2005 15:48:40 +0000 (15:48 +0000)]
Set pipes for R420 cards. Gives a nice speedup. This needs to be tested on r420 cards with less than 16 pipes.
Vladimir Dergachev [Thu, 3 Mar 2005 23:18:19 +0000 (23:18 +0000)]
Add a couple of helper functions for completeness.
Ian Romanick [Thu, 3 Mar 2005 21:22:46 +0000 (21:22 +0000)]
Fix some errors in the parameter descriptions in serveral vertex / fragment
program related functions.
Ian Romanick [Thu, 3 Mar 2005 21:21:59 +0000 (21:21 +0000)]
Check for some common function parameter description errors in the
endElement handler for <function>. This catches the errors as early as
possible and makes debugging other code easier.
Ian Romanick [Thu, 3 Mar 2005 19:56:11 +0000 (19:56 +0000)]
When building in the X-Server, attr.depth doesn't exist. Instead, use
(XMesaDrawable)w)->depth in the error message.
Brian Paul [Thu, 3 Mar 2005 02:05:33 +0000 (02:05 +0000)]
change gl_buffer_object's Size field to GLsizeiptrARB type
Brian Paul [Thu, 3 Mar 2005 01:44:42 +0000 (01:44 +0000)]
Added linux-x86-32 config to force building 32-bit objects in a 64-bit environment.
Brian Paul [Thu, 3 Mar 2005 01:38:13 +0000 (01:38 +0000)]
if building 32-bit objects in 64-bit environment, use -m32 flag
Alan Hourihane [Wed, 2 Mar 2005 18:57:01 +0000 (18:57 +0000)]
use COPY_CLEAN_4V macro to replace using both ASSIGN_4V & COPY_SZ_4V
Brian Paul [Wed, 2 Mar 2005 16:37:24 +0000 (16:37 +0000)]
Added a bunch of new comments, minor code clean-ups.
Brian Paul [Wed, 2 Mar 2005 16:31:58 +0000 (16:31 +0000)]
Using glColor3 commands to update materials could result in an undefined
alpha value. Fixed.
Brian Paul [Tue, 1 Mar 2005 02:51:07 +0000 (02:51 +0000)]
added stub functions for GLX_MESA_allocate_memory
Ian Romanick [Mon, 28 Feb 2005 19:37:10 +0000 (19:37 +0000)]
Clean-up some warnings caused by the addition of vertex / fragment program
protocol support (reported by Adam Jackson). Added code to validate the
'type' parameter to the draw element functions.
Brian Paul [Mon, 28 Feb 2005 17:45:11 +0000 (17:45 +0000)]
additional parenthesis in TNL_CONTEXT macro (Nicolai Haehnle)
Aapo Tahkola [Mon, 28 Feb 2005 00:27:02 +0000 (00:27 +0000)]
fix for 'nasty bug' and some sanity checks to avoid buffer overruns. Bumping VSF_MAX_FRAGMENT_LENGTH as it seems a bit low otherwise.
Brian Paul [Sun, 27 Feb 2005 16:23:41 +0000 (16:23 +0000)]
silence warnings
hmarson [Sun, 27 Feb 2005 12:12:25 +0000 (12:12 +0000)]
Added 0x4e51 - Saphire 9600 256MB
0x4e71 - Saphire 9600 256MB - Second Head...
Dave Airlie [Sun, 27 Feb 2005 07:43:18 +0000 (07:43 +0000)]
precedence precedence precedence.. add some brackets
Brian Paul [Sat, 26 Feb 2005 17:16:12 +0000 (17:16 +0000)]
Rename _mesa_update_buffers() to _mesa_update_draw_buffer_bounds() and do
additional checks.
Replace _mesa_init_buffers() with _mesa_init_scissor() and _mesa_init_multisample().
Dave Airlie [Sat, 26 Feb 2005 05:24:04 +0000 (05:24 +0000)]
Add a dri config option to enable the max texture level hack
make ycbcr depend on a CHIPSET define .. needs to be filled in though
Dave Airlie [Sat, 26 Feb 2005 04:56:25 +0000 (04:56 +0000)]
use girl2.rgb by default
Dave Airlie [Sat, 26 Feb 2005 04:51:47 +0000 (04:51 +0000)]
Add glXAllocateMemoryMESA demo app using ycbcr...
add girl2.rgb which is a slightly resized girl.rgb so client texturing works
Dave Airlie [Sat, 26 Feb 2005 03:55:44 +0000 (03:55 +0000)]
bring over structs from Xorg glx.h to make Mesa glx.h the one true glx.h
Dave Airlie [Sat, 26 Feb 2005 03:51:17 +0000 (03:51 +0000)]
Add GLX_MESA_allocate_memory from Xorg glx.h
Ian Romanick [Sat, 26 Feb 2005 01:09:35 +0000 (01:09 +0000)]
Fairly significant changes to enums.c and the way it is generated. enums.c
now contains 3 static tables. The first table is a single, large string of
all the enum names. The second table is an array, sorted by enum name, of
indexes to the string table and the matching enum value. The extra string
table is used to eliminate relocs (and save space) in the compiled file.
The third table is an array, sorted by enum value, of indexes into the
second table.
The [name, enum] table contains all of the enums, but the table sorted by
enum-value does not. This table contains one entry per enum value. For
enum values that have multiple names (e.g., 0x84C0 has GL_TEXTURE0_ARB and
GL_TEXTURE0), only an index to the "best" name will appear in the table.
gl_enums.py gives precedence to "core" GL versions of names, followed by ARB
versions, followed by EXT versions, followed, finally, by vendor versions
(i.e., anything that doesn't fall into one of the previous categories). By
filtering the unneeded elements from this table, not only can we guarantee
determinism in the generated tables, but we save 364 elements in the table.
The optimizations outlined above reduced the size of the stripped enums.o
(on x86) from ~80KB to ~53KB.
The internal organization of gl_enums.py was also heavily modified.
Previously enums were stored in an unsorted list as [value, name] tuples
(basically). This list was then sorted, using a user-specified compare
function (i.e., VERY slow in most Python implementations) to generate a
table sorted by enum value. It was then sorted again, using another
user-specified compare function, to generate a table sorted by name.
Enums are now stored in a dictionary, called enum_table, with the enum value
as the key. Each dictionary element is a list of [name, priority] pairs.
The priority is determined as described above. The table sorted by enum
value is generated by sorting the keys of enum_table (i.e., very fast). The
tables sorted by name are generated by creating a list, called name_table,
of [name, enum value] pairs. This table can then be sorted by doing
name_table.sort() (i.e., very fast).
The result is a fair amount more Python code, but execution time was reduced
from ~14 seconds to ~2 seconds.
Ian Romanick [Fri, 25 Feb 2005 23:02:33 +0000 (23:02 +0000)]
Accidentally committed wrong version with the previous commit set.
Ian Romanick [Fri, 25 Feb 2005 22:46:30 +0000 (22:46 +0000)]
Add GLX protocol support for ARB_fragement_program,
ARB_fragment_program_shadow, ARB_vertex_program, NV_fragment_program,
NV_fragment_program_option, NV_fragment_program2, NV_vertex_program,
NV_vertex_program1_1, NV_vertex_program2, NV_vertex_program2_option,
NV_vertex_program3, and ATI_text_fragment_shader.
Ian Romanick [Fri, 25 Feb 2005 01:48:25 +0000 (01:48 +0000)]
Convert the static functions read_pixel_reply, read_reply,
setup_single_request, and setup_vendor_request to the global functions
__glXReadPixelReply, __glXReadReply, __glXSetupSingleRequest, and
__glXSetupVendorRequest. This will make it easier to add handcoded Single /
VendorPrivate / VendorPrivteWithReply functions.
Aapo Tahkola [Thu, 24 Feb 2005 13:59:56 +0000 (13:59 +0000)]
Another nasty struct size bug found.
Brian Paul [Thu, 24 Feb 2005 05:47:06 +0000 (05:47 +0000)]
More GL_EXT_framebuffer_object: rename some things, added device driver hooks.
Felix Kuehling [Wed, 23 Feb 2005 20:51:27 +0000 (20:51 +0000)]
Don't forget to update a heap's timestamp when a texture image is
changed. Other drivers don't need to do this because they're swapping
modified textures out of texture memory, which implies a timestamp
update.
Ian Romanick [Wed, 23 Feb 2005 20:06:52 +0000 (20:06 +0000)]
Missed the commit of glxext.c yesterday.
Fixed a flow control problem in glGet*v that could result in the display
not being unlocked. This also resulted in refactoring a lot more code
out of the glGet*v routines into get_array_data, which was renamed to
get_client_data.
Ian Romanick [Wed, 23 Feb 2005 19:24:30 +0000 (19:24 +0000)]
Put quotes around $(CC) and $(CXX) so that 'CC=cache gcc' will work.
Brian Paul [Wed, 23 Feb 2005 16:54:18 +0000 (16:54 +0000)]
minor changes to aid debugging, and a new comment
Felix Kuehling [Wed, 23 Feb 2005 16:37:27 +0000 (16:37 +0000)]
With Savage DRM version 2.3.x or later use event counters for texture
heap aging, similar to the way it's done in the i810 and i855 drivers.
This avoids idling the engine on every texture upload.
Brian Paul [Wed, 23 Feb 2005 16:36:17 +0000 (16:36 +0000)]
Sort the enums in the Python code, instead of at runtime. (Zack Rusin)
Ian Romanick [Wed, 23 Feb 2005 00:47:11 +0000 (00:47 +0000)]
Corrected the value for X_GLrop_SecondaryColor3svEXT.
Ian Romanick [Wed, 23 Feb 2005 00:24:18 +0000 (00:24 +0000)]
Missed the Makefile with the previous commit.
Ian Romanick [Tue, 22 Feb 2005 22:36:31 +0000 (22:36 +0000)]
Added __glExtensionBiIsEnabled and __GLXcontext::gl_extension_bits. This
enables libGL to query which extension are exported to applications.
Refactored array-query functionality (from glGet*v) in src/glx/x11/single2.c.
Massive re-write of indirect vertex array support. The most noticable
effect is that glDrawElements now generates DrawArrays protocol. The
side-effects (and the main reasons for the re-work) are that it is much
easier to add support for new arrays (e.g., GL_VERTEX_ATTRIB_ARRAY,
GL_WEIGHT_ARRAY_ARB, etc.) and it is much easier to add support for the new
DrawArrays protocol (required to support ARB_vertex_buffer_object).
These changes were primarilly tested with progs/demos/isosurf.
Brian Paul [Tue, 22 Feb 2005 15:42:30 +0000 (15:42 +0000)]
now generated with Python script
Brian Paul [Tue, 22 Feb 2005 15:39:46 +0000 (15:39 +0000)]
generate enums.c file (Zack Rusin)
Aapo Tahkola [Tue, 22 Feb 2005 05:16:42 +0000 (05:16 +0000)]
New elt buffer code should be fairly stable.
Vladimir Dergachev [Mon, 21 Feb 2005 06:09:30 +0000 (06:09 +0000)]
Add code to autogenerate vertex shaders.
This is needed for multitexturing to work properly.
Dave Airlie [Mon, 21 Feb 2005 00:20:19 +0000 (00:20 +0000)]
Add DESTDIR install target
Dave Airlie [Sun, 20 Feb 2005 10:46:34 +0000 (10:46 +0000)]
add more functionality to miniglx for glitz
Aapo Tahkola [Sun, 20 Feb 2005 03:01:09 +0000 (03:01 +0000)]
Adding support for front buffer mode, removing some code we dont really need and some new debugging stuff.
Aapo Tahkola [Sat, 19 Feb 2005 16:30:56 +0000 (16:30 +0000)]
Minor fix to border and blend color.
Aapo Tahkola [Sat, 19 Feb 2005 03:04:08 +0000 (03:04 +0000)]
Disabling some fallbacks as they cause misc programs not to start and adding some comments.
Aapo Tahkola [Sat, 19 Feb 2005 02:25:53 +0000 (02:25 +0000)]
Fix for buffer overrun caused by ALLOC_STATE not having args surrounded by parenthesis. Can you see it? HINT: Anything texture related should now work slightly better. And yes it took me several hours to find it.
Nicolai Haehnle [Fri, 18 Feb 2005 22:07:20 +0000 (22:07 +0000)]
Print an error if idling the engine before the buffer copy fails.
Be a bit more useful about the sync message after flushing command buffers.
Add an "allmsg" debug name that enables all log messages but does not
enable syncing.
Michel Dänzer [Fri, 18 Feb 2005 20:03:33 +0000 (20:03 +0000)]
fd.o bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.)
Nicolai Haehnle [Fri, 18 Feb 2005 18:57:38 +0000 (18:57 +0000)]
r300RefillCurrentDmaRegion: Retry buffer acquisition only once, after
waiting for the engine to idle. There's no way for another buffer to
become free anyway once the engine is idle.
Nicolai Haehnle [Fri, 18 Feb 2005 18:28:52 +0000 (18:28 +0000)]
Always submit command buffers, even when there are no cliprects,
so that we no longer leak DMA buffers (plus, this just might fix some
state-setting related problems, if there were any - but that's unlikely).
Update the DRM to cope with cmdbuf->nbox == 0.
Aapo Tahkola [Fri, 18 Feb 2005 16:58:19 +0000 (16:58 +0000)]
We dont need to call r300EmitAOS if we arent going to draw anything(r300_get_num_verts returns 0).
Nicolai Haehnle [Fri, 18 Feb 2005 16:34:14 +0000 (16:34 +0000)]
Reset nr_released_bufs to 0 after the command buffer has been submitted.
Added a more verbose comment about nr_released_bufs in r300_context.h
Brian Paul [Fri, 18 Feb 2005 14:49:27 +0000 (14:49 +0000)]
XMesaGetDepthBuffer() returned wrong bytesPerValue (Karl Schultz)
Brian Paul [Fri, 18 Feb 2005 14:44:00 +0000 (14:44 +0000)]
s/0/NULL/ (Jeff Muizelaar)
Nicolai Haehnle [Fri, 18 Feb 2005 11:27:24 +0000 (11:27 +0000)]
Fix: RADEON_DEBUG is a bitfield, so use & to check for flags, not ==
Nicolai Haehnle [Thu, 17 Feb 2005 22:07:32 +0000 (22:07 +0000)]
Fixing *lots* of warning messages, especially concerning unportable
whitespace before preprocessor commands.
Please, can you try to keep the warnings down? Try running make with
make -s sometime to see just how bad an offender the current code is.
Nicolai Haehnle [Thu, 17 Feb 2005 21:45:20 +0000 (21:45 +0000)]
RADEON_DEBUG is a bitfield, so use & instead of ==.
Also, put the hash in preprocessor directives at the beginning of the line
to fix error messages.
Aapo Tahkola [Thu, 17 Feb 2005 18:16:46 +0000 (18:16 +0000)]
Switching to start_index32_packet.
Aapo Tahkola [Thu, 17 Feb 2005 18:02:28 +0000 (18:02 +0000)]
magic_1 handling...
Ben Skeggs [Thu, 17 Feb 2005 14:34:51 +0000 (14:34 +0000)]
oops.
Brian Paul [Thu, 17 Feb 2005 14:12:50 +0000 (14:12 +0000)]
s/0/NULL/ (Jeff Muizelaar)
Brian Paul [Thu, 17 Feb 2005 14:11:56 +0000 (14:11 +0000)]
remove extern (Jeff Muizelaar)
Ben Skeggs [Thu, 17 Feb 2005 12:37:40 +0000 (12:37 +0000)]
Make immediate code do a LOAD_VBPNTR again
Dave Airlie [Thu, 17 Feb 2005 11:13:59 +0000 (11:13 +0000)]
fix some 0->NULLs
Vladimir Dergachev [Thu, 17 Feb 2005 06:39:09 +0000 (06:39 +0000)]
Cleanup formatting a little bit.
Brian Paul [Wed, 16 Feb 2005 19:52:35 +0000 (19:52 +0000)]
fix non-Win32 definition of GLUTAPIENTRY, remove some cruft
Aapo Tahkola [Wed, 16 Feb 2005 19:04:32 +0000 (19:04 +0000)]
Support for idx buffers. Leaving it on by default as it doesnt seem to cause any lock ups nor other issues. Tests with one object using elts should pass. Introducing more than one object will cause indices to mix up as far as i can see. DRM update is needed for this code to work\!
Rune Petersen [Wed, 16 Feb 2005 16:52:11 +0000 (16:52 +0000)]
small cleanup, remove some warnings
Brian Paul [Wed, 16 Feb 2005 15:08:29 +0000 (15:08 +0000)]
fixed problems with parse_float() (fd.o bug 2520)
Brian Paul [Wed, 16 Feb 2005 15:02:25 +0000 (15:02 +0000)]
s/0/NULL/ (Jeff Muizelaar)
reist [Wed, 16 Feb 2005 10:38:57 +0000 (10:38 +0000)]
get two textures to work
Ben Skeggs [Wed, 16 Feb 2005 06:24:07 +0000 (06:24 +0000)]
Don't enable fog. It's broken
Ben Skeggs [Tue, 15 Feb 2005 19:07:35 +0000 (19:07 +0000)]
Share routing code between immd/vb. Fix breakage of vertex programs in vb mode.
Dave Airlie [Tue, 15 Feb 2005 11:20:11 +0000 (11:20 +0000)]
Add missing texture formats for completeness
Dave Airlie [Tue, 15 Feb 2005 10:44:20 +0000 (10:44 +0000)]
add some missing texture formats and bits from r200 docs
Jerome Glisse [Tue, 15 Feb 2005 10:40:34 +0000 (10:40 +0000)]
Added texture format table for big endian (this is a tempory hack).
Dave Airlie [Tue, 15 Feb 2005 08:40:24 +0000 (08:40 +0000)]
add EnableExtension so r200 enables all its extensions, add mesa memory
extension entry points
Roland Scheidegger [Mon, 14 Feb 2005 17:37:52 +0000 (17:37 +0000)]
remove accidentally commited printf for tiling support
Ian Romanick [Mon, 14 Feb 2005 17:07:29 +0000 (17:07 +0000)]
Simple test for GL_MESA_pack_invert.
Daniel Borca [Mon, 14 Feb 2005 15:06:50 +0000 (15:06 +0000)]
updated doc
Daniel Borca [Mon, 14 Feb 2005 15:05:24 +0000 (15:05 +0000)]
removed detritus
Daniel Borca [Mon, 14 Feb 2005 15:04:52 +0000 (15:04 +0000)]
separated DOS GLUT from GLX GLUT.
added a few FreeGLUT specific functions.
Aapo Tahkola [Mon, 14 Feb 2005 13:14:16 +0000 (13:14 +0000)]
Support for blend color(not tested), "proper line width/point size" clamps and fix for glxinfo problem.
Keith Whitwell [Mon, 14 Feb 2005 09:36:00 +0000 (09:36 +0000)]
mesa-fix-one-bit-signed-bitfield.patch from Jeff Muizelaar
Dave Airlie [Mon, 14 Feb 2005 09:27:38 +0000 (09:27 +0000)]
fix some signed vs unsigned warnings
Dave Airlie [Mon, 14 Feb 2005 09:25:08 +0000 (09:25 +0000)]
fix signed vs unsigned comparison warnings in tnl_dd