summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-03-13Replacing alpha test bits with values that give desired results as compaired ↵Aapo Tahkola
to software rendering. Alpha test in textures is still completely broken as can be seen in progs/demos/fire and various games.
2005-03-13Updated savage_dri.h from Xorg CVS. This removes definitions that areFelix Kuehling
not part of the DDX->DRI interface and should never have been in this file in the first place.
2005-03-12Removed savagedma.[ch]. They have been unused for a while and were onlyFelix Kuehling
kept around for reference. Now that command DMA is implemented in the DRM module they are no longer needed.
2005-03-12Unlike radeon and r200 drivers r300AllocCmdBuf allocs dwords not bytes.Aapo Tahkola
2005-03-11Add support for ARB_draw_buffers and ARB_occlusion_query. The GLX protocolIan Romanick
for these extensions (as well as ARB_vertex_program and ARB_matrix_palette) was just approved by the ARB on 8-Mar-2005. Now the only extension missing for 1.5 support is ARB_vertex_buffer_object. The opcodes for ARB_matrix_palette were also added to gl_API.xml. Since this extension isn't supported by Mesa, no code is generated for it. Some tabs were also converted to spaces in the comment for GetCompressedTexImageARB.
2005-03-11add MAT_DIRTY_FLAGS in _math_matrix_mul_floats(), (bug 2696)Brian Paul
2005-03-11Add suitable definitions for the _REV formats, plus a commentPaul Mackerras
explaining why they are the same as the non-REV formats now that textures don't get byte-swapped on their way to the chip. Fix the ARGB4444 and L8 formats. Add entries for the A8 and RGB332 formats.
2005-03-10- Flush before updating the timestamp of a texture heap from a bound texture.Felix Kuehling
- Flush before using a new texture or before disabling a texture unit, because savageFlushCmdBuf can only update the timestamp of the last used texture. This fixes corruption in quake2 with single-textured lighting.
2005-03-09If the texture image changed force emitting the texture address, evenFelix Kuehling
if it didn't change. This seems to flush texture cashes. Fixes multi-textured lighting in quake2.
2005-03-09Don't use R200 texture constants - R300 fields are all different.Vladimir Dergachev
2005-03-09Deal with texture formats in a more robust way.Vladimir Dergachev
2005-03-08Replacing some RADEON cmd types with r300 counterparts.Aapo Tahkola
2005-03-08Improving Vladimirs alpha test fix a bit as it turns out r300Enable didnt ↵Aapo Tahkola
correctly disable alpha test. Vertex programs with high vertex count now run a lot faster as software fallback is no longer on. Also disabling 'temp to result'-instructions as they probably violate the spec and dont seem to be something thats needed.
2005-03-06Actually *use* the count_scale value associated with a parameter.Ian Romanick
2005-03-06Don't synchronize after each frame. Allow the GPU to be one frameFelix Kuehling
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.
2005-03-06- Fixed two bugs related to DMA buffer handling that showed up with theFelix Kuehling
new DRM version 2.4 and command DMA. - Flush less. - Bumped the driver date.
2005-03-05Add format 15. It turned out to be X,X,X,X,X8.Vladimir Dergachev
2005-03-05Fixing memset on ia64 & other archsDave Airlie
From: Stephane Marchesin
2005-03-05Enable VB mode rendering by default. If anyone thinks this is wrong, ↵Vladimir Dergachev
*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.
2005-03-05Do properly initialize ALPHA_TEST register instead of carefully preserving ↵Vladimir Dergachev
bogus value. This fixes many, many rendering issues which I wrongly blamed on texture programming or performance..
2005-03-05fix for solo to set the mode, and make solo gcc2 friendly...Dave Airlie
From: Stephane Marchesin
2005-03-05remove one of the two _tnl_isolate_materials function callsRoland Scheidegger
2005-03-04Add preliminary EGL headers.Adam Jackson
2005-03-04Import fixes from X.org tree (Søren Sandmann <sandmann@redhat.com>).Ian Romanick
2005-03-04Set pipes for R420 cards. Gives a nice speedup. This needs to be tested on ↵Rune Petersen
r420 cards with less than 16 pipes.
2005-03-03Add a couple of helper functions for completeness.Vladimir Dergachev
2005-03-03Fix some errors in the parameter descriptions in serveral vertex / fragmentIan Romanick
program related functions.
2005-03-03Check for some common function parameter description errors in theIan Romanick
endElement handler for <function>. This catches the errors as early as possible and makes debugging other code easier.
2005-03-03When building in the X-Server, attr.depth doesn't exist. Instead, useIan Romanick
(XMesaDrawable)w)->depth in the error message.
2005-03-03change gl_buffer_object's Size field to GLsizeiptrARB typeBrian Paul
2005-03-03Added linux-x86-32 config to force building 32-bit objects in a 64-bit ↵Brian Paul
environment.
2005-03-03if building 32-bit objects in 64-bit environment, use -m32 flagBrian Paul
2005-03-02use COPY_CLEAN_4V macro to replace using both ASSIGN_4V & COPY_SZ_4VAlan Hourihane
2005-03-02Added a bunch of new comments, minor code clean-ups.Brian Paul
2005-03-02Using glColor3 commands to update materials could result in an undefinedBrian Paul
alpha value. Fixed.
2005-03-01added stub functions for GLX_MESA_allocate_memoryBrian Paul
2005-02-28Clean-up some warnings caused by the addition of vertex / fragment programIan Romanick
protocol support (reported by Adam Jackson). Added code to validate the 'type' parameter to the draw element functions.
2005-02-28additional parenthesis in TNL_CONTEXT macro (Nicolai Haehnle)Brian Paul
2005-02-28fix for 'nasty bug' and some sanity checks to avoid buffer overruns. Bumping ↵Aapo Tahkola
VSF_MAX_FRAGMENT_LENGTH as it seems a bit low otherwise.
2005-02-27silence warningsBrian Paul
2005-02-27Added 0x4e51 - Saphire 9600 256MBhmarson
0x4e71 - Saphire 9600 256MB - Second Head...
2005-02-27precedence precedence precedence.. add some bracketsDave Airlie
2005-02-26Rename _mesa_update_buffers() to _mesa_update_draw_buffer_bounds() and doBrian Paul
additional checks. Replace _mesa_init_buffers() with _mesa_init_scissor() and _mesa_init_multisample().
2005-02-26Add a dri config option to enable the max texture level hackDave Airlie
make ycbcr depend on a CHIPSET define .. needs to be filled in though
2005-02-26use girl2.rgb by defaultDave Airlie
2005-02-26Add glXAllocateMemoryMESA demo app using ycbcr...Dave Airlie
add girl2.rgb which is a slightly resized girl.rgb so client texturing works
2005-02-26bring over structs from Xorg glx.h to make Mesa glx.h the one true glx.hDave Airlie
2005-02-26Add GLX_MESA_allocate_memory from Xorg glx.hDave Airlie
2005-02-26Fairly significant changes to enums.c and the way it is generated. enums.cIan Romanick
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.
2005-02-25Accidentally committed wrong version with the previous commit set.Ian Romanick