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
Daniel Borca [Mon, 14 Feb 2005 08:19:54 +0000 (08:19 +0000)]
killed a few warnings
Daniel Borca [Mon, 14 Feb 2005 08:08:35 +0000 (08:08 +0000)]
added a bunch of const in the decoder
Daniel Borca [Mon, 14 Feb 2005 08:02:50 +0000 (08:02 +0000)]
`static const' instead of `const static'
Daniel Borca [Mon, 14 Feb 2005 08:01:59 +0000 (08:01 +0000)]
ProgramCallbackMesa must match the prototype
Eric Anholt [Mon, 14 Feb 2005 06:57:27 +0000 (06:57 +0000)]
Change another usage of __AMD64__ to the standard __amd64__, and remove
__AMD64__ from the linux configs so it won't creep back in as easily. Fixes
hang on FreeBSD on the first lock grab.
Eric Anholt [Mon, 14 Feb 2005 06:54:50 +0000 (06:54 +0000)]
Don't forget to -L/usr/local/lib to grab expat.
Michel Dänzer [Sun, 13 Feb 2005 18:37:36 +0000 (18:37 +0000)]
Typo fix.
Rune Petersen [Sat, 12 Feb 2005 21:29:51 +0000 (21:29 +0000)]
initial r400 support: r400 cards are treated as RV350 for now.
Michel Dänzer [Sat, 12 Feb 2005 20:37:07 +0000 (20:37 +0000)]
MMIO endianness fixes for Radeon drivers.
Brian Paul [Sat, 12 Feb 2005 18:43:38 +0000 (18:43 +0000)]
unlock mutex upon error return (Jeff Muizelaar)
Felix Kuehling [Sat, 12 Feb 2005 16:02:30 +0000 (16:02 +0000)]
Fall back properly when GL_COLOR_LOGIC_OP is enabled and != GL_COPY.
Add missing per-primitive fallback for polygon stipple.
Felix Kuehling [Sat, 12 Feb 2005 14:37:17 +0000 (14:37 +0000)]
Offset LOD bias by about 0.3 to match software rendering more closely.
Another small tweak to subtile upload (mostly cosmetic).
Felix Kuehling [Sat, 12 Feb 2005 14:35:17 +0000 (14:35 +0000)]
Make glean's masked clear test pass.
Felix Kuehling [Sat, 12 Feb 2005 14:03:05 +0000 (14:03 +0000)]
Savage3D-based chips seem so use a constant tile stride of 2048 for
vertically incomplete tiles, but only if the color depth is
32bpp. Nobody said this was supposed to be logical!
Ben Skeggs [Sat, 12 Feb 2005 11:15:55 +0000 (11:15 +0000)]
Enabled vertex buffer mode as default.
Keith Whitwell [Fri, 11 Feb 2005 18:25:55 +0000 (18:25 +0000)]
Turn _via_fastrender_stage back on.
Keith Whitwell [Fri, 11 Feb 2005 09:34:05 +0000 (09:34 +0000)]
mesa-main-0-NULL.patch from Jeff Muizelaar
Ben Skeggs [Fri, 11 Feb 2005 05:59:13 +0000 (05:59 +0000)]
Port of r200 VB code. VB path should be as fast as the immediate path now, tuxracer should render correctly. Immediate path was left enabled.
Roland Scheidegger [Thu, 10 Feb 2005 22:36:06 +0000 (22:36 +0000)]
add texture micro and macro tiling to radeon/r200 driver. This can improve performance up to 15% in texture-intensive applications. Convert the driver to use the correct blit format and blit width instead of fixed blit format and blit width when uploading textures to make it work.
Roland Scheidegger [Thu, 10 Feb 2005 21:59:20 +0000 (21:59 +0000)]
add the new RADEON_CUBIC_OFFSET/FACES state packets/registers to radeon (and r200) sanity code
Roland Scheidegger [Thu, 10 Feb 2005 18:28:44 +0000 (18:28 +0000)]
(Andreas Stenglein) fix projected textures with swtcl, they need the w coordinate of the vertex (bugzilla #1648)
Brian Paul [Thu, 10 Feb 2005 16:08:07 +0000 (16:08 +0000)]
new comments, fix zoffset error test
Brian Paul [Thu, 10 Feb 2005 15:18:26 +0000 (15:18 +0000)]
lots of updates
Aapo Tahkola [Thu, 10 Feb 2005 12:40:41 +0000 (12:40 +0000)]
Added kindly note about single buffer mode.
Aapo Tahkola [Thu, 10 Feb 2005 11:02:55 +0000 (11:02 +0000)]
Updating master copy of r300_reg.h and turning immediate mode back on
Keith Whitwell [Thu, 10 Feb 2005 10:57:22 +0000 (10:57 +0000)]
mesa-tnl-0-to-NULL.patch from Jeff Muizelaar
Keith Whitwell [Thu, 10 Feb 2005 10:55:30 +0000 (10:55 +0000)]
Catch no-op vertex buffers consisting only of vertices which will
also appear in a future buffer.
Aapo Tahkola [Thu, 10 Feb 2005 10:45:54 +0000 (10:45 +0000)]
Removing some regs that are wrong and adding some comments to r300_reg.h .
Aapo Tahkola [Thu, 10 Feb 2005 08:56:35 +0000 (08:56 +0000)]
Support for PolygonMode. Not too far from working even though i almost gave up once already.
Vladimir Dergachev [Thu, 10 Feb 2005 07:39:11 +0000 (07:39 +0000)]
Fix copy'n'paste errors.
Print command buffer sizes during startup (TODO: remove 1 || when the driver is more mature).
Aapo Tahkola [Thu, 10 Feb 2005 05:11:31 +0000 (05:11 +0000)]
Turns out unknown5 was border color. texwrap looks good now.
Aapo Tahkola [Thu, 10 Feb 2005 04:43:07 +0000 (04:43 +0000)]
Adding support for selecting line width. Stipple patterns still cause lots of trouble.
Ian Romanick [Wed, 9 Feb 2005 22:16:38 +0000 (22:16 +0000)]
Simple test for ARB_texture_env_crossbar functionality. It is difficult
to come up with good tests for this functionality that don't require
either ATI_texture_env_combine3 or NV_texture_env_combine4.
Brian Paul [Wed, 9 Feb 2005 18:46:16 +0000 (18:46 +0000)]
glGet*(GL_FRAGMENT_PROGRAM_BINDING_NV) was returning the vertex program binding.