Ian Romanick
b81efaaa1a
Minor vertex array support tweaks. Most of these are in preparation for the
...
(eventual) addition of support for ARB_vertex_buffer_object.
Move all the private vertex array data structures out of
indirect_vertex_array.c and into indirect_va_private.h.
Rename array_state_vector::enabled_array_count to
array_state_vector::enabled_client_array_count.
Make sure that both the GL extension string and the server GL version are
available when __glXInitVertexState is called.
Make sure that array_state::normalized is set correctly in the array's
gl*Pointer function.
2005-03-17 20:13:09 +00:00
Ian Romanick
00e760c971
Refactored some of the code for PrintGlxReqSize_[ch]. This ensures that the
...
same set of functions will be iterated for both the generated C-source file
and the generated header file.
2005-03-17 01:50:32 +00:00
Ian Romanick
3f35fbbf66
Fix the handling of zero-sized output parameters (i.e., those with type
...
'GLvoid *'). This fixes the GLX protocol for glGetProgramStringARB. This
fixes bugzilla #2747 .
Remove the 'ignore="true"' from glVertexAttrib4bvARB. This fixes bugzilla
#2746 .
2005-03-17 01:48:11 +00:00
Ian Romanick
9eae0b9f19
Hard-code the client-side maximum GL version. It turns out that there are
...
some flaws in the calculation code when the highest version listed in
known_gl_extensions is supported. This code would also have some problems
with some of the new features (that don't have an associated extension) on
GL 2.0.
2005-03-17 01:36:24 +00:00
Aapo Tahkola
c1aa3d1e6f
Proper VAP output configuration as R300_RS_ROUTE_0_COLOR became optional and broke arbvptorus(takes no input color but produces output color). Also removing some useless code.
2005-03-16 22:32:48 +00:00
Ben Skeggs
dd9da8cdb5
Fixed some strangeness when mixing textured/flat primitives. Skipping texture units should render correctly also. Aapo, I dont think I broke glxgears again on you...
2005-03-16 00:54:09 +00:00
Roland Scheidegger
fbe5296d14
add support for user-configurable brilinear filtering on r200
2005-03-15 22:23:29 +00:00
Aapo Tahkola
7541794373
Fix to get glxgears display anything.
2005-03-15 20:55:29 +00:00
Ben Skeggs
3c4c86aff2
For some reason the Makefile didn't commit..
2005-03-15 17:09:35 +00:00
Ben Skeggs
34dd4843d7
Initial multitexturing support. Old behaviour can be re-enabled by changing ifdefs in r300_setup_rs_unit and r300SetupPixelShader in r300_state.c\nRequires DRM update.
2005-03-15 17:00:44 +00:00
Ian Romanick
7457a648d2
If setting GL_PACK_INVERT_MESA results in a GL error, log it.
2005-03-14 22:09:31 +00:00
Felix Kuehling
bd5bba8470
When timestamping textures, need to emit the event with SAVAGE_WAIT_3D
...
set. Otherwise the 3D engine may still be using a texture that is
being overwritten. In order to minimize the cost of waiting, timestamp
textures only when needed: when a texture image changes, when a
different texture is bound to a texture unit or when a texture unit is
disabled. (Used to be after flushing every command buffer.)
2005-03-14 21:52:46 +00:00
Peter Zubaj
e2e4a5c992
Stencil support
...
Reflex from mesa demos doesn't work
TODO - double side stencil
I hope that I didn't break anything
2005-03-14 20:35:00 +00:00
Michal Krol
02eb36fa8d
re-enable slang sources
2005-03-14 12:43:59 +00:00
Michal Krol
0c7d2fff1e
make it compile under linux
2005-03-14 12:24:32 +00:00
Michal Krol
5c9d21df3d
make it compile under gcc 3.3.2
2005-03-14 12:23:14 +00:00
Michal Krol
8998de569c
fix enum comma
2005-03-14 12:19:36 +00:00
Aapo Tahkola
278c6025f9
Replacing alpha test bits with values that give desired results as compaired to software rendering. Alpha test in textures is still completely broken as can be seen in progs/demos/fire and various games.
2005-03-13 12:23:08 +00:00
Felix Kuehling
4f05e61543
Updated savage_dri.h from Xorg CVS. This removes definitions that are
...
not part of the DDX->DRI interface and should never have been in this
file in the first place.
2005-03-13 00:20:03 +00:00
Felix Kuehling
45f26f9979
Removed savagedma.[ch]. They have been unused for a while and were only
...
kept around for reference. Now that command DMA is implemented in the
DRM module they are no longer needed.
2005-03-12 23:00:53 +00:00
Aapo Tahkola
203bd3e8ec
Unlike radeon and r200 drivers r300AllocCmdBuf allocs dwords not bytes.
2005-03-12 10:14:09 +00:00
Ian Romanick
91c219d906
Add support for ARB_draw_buffers and ARB_occlusion_query. The GLX protocol
...
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-11 20:55:03 +00:00
Brian Paul
522ea42718
add MAT_DIRTY_FLAGS in _math_matrix_mul_floats(), (bug 2696)
2005-03-11 14:54:51 +00:00
Paul Mackerras
e24a9c10b5
Add suitable definitions for the _REV formats, plus a comment
...
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-11 11:38:23 +00:00
Felix Kuehling
96035d54f3
- Flush before updating the timestamp of a texture heap from a bound texture.
...
- 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-10 22:45:00 +00:00
Felix Kuehling
746df56717
If the texture image changed force emitting the texture address, even
...
if it didn't change. This seems to flush texture cashes. Fixes
multi-textured lighting in quake2.
2005-03-09 15:28:47 +00:00
Vladimir Dergachev
5737fda093
Don't use R200 texture constants - R300 fields are all different.
2005-03-09 05:31:31 +00:00
Vladimir Dergachev
439f7feab1
Deal with texture formats in a more robust way.
2005-03-09 00:40:55 +00:00
Aapo Tahkola
f0d484fa5a
Replacing some RADEON cmd types with r300 counterparts.
2005-03-08 22:29:45 +00:00
Aapo Tahkola
2579c32a5f
Improving Vladimirs alpha test fix a bit as it turns out r300Enable didnt 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-08 03:29:46 +00:00
Ian Romanick
0bd5373d94
Actually *use* the count_scale value associated with a parameter.
2005-03-06 08:55:39 +00:00
Felix Kuehling
9d05d3dd30
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.
2005-03-06 03:52:01 +00:00
Felix Kuehling
e6aa21156a
- 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.
2005-03-06 01:28:30 +00:00
Vladimir Dergachev
a30402b56a
Add format 15. It turned out to be X,X,X,X,X8.
gliding_penguin
2005-03-05 22:20:57 +00:00
Dave Airlie
07561c6b32
Fixing memset on ia64 & other archs
...
From: Stephane Marchesin
2005-03-05 06:38:59 +00:00
Vladimir Dergachev
a4296239d4
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.
2005-03-05 06:31:36 +00:00
Vladimir Dergachev
3f9467c946
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..
2005-03-05 06:10:09 +00:00
Dave Airlie
1bb14ad90c
fix for solo to set the mode, and make solo gcc2 friendly...
...
From: Stephane Marchesin
2005-03-05 04:00:09 +00:00
Roland Scheidegger
87030f6618
remove one of the two _tnl_isolate_materials function calls
2005-03-05 00:04:20 +00:00
Adam Jackson
8ff72e9723
Add preliminary EGL headers.
2005-03-04 20:18:55 +00:00
Ian Romanick
b47731f24d
Import fixes from X.org tree (Søren Sandmann <sandmann@redhat.com>).
2005-03-04 17:53:24 +00:00
Rune Petersen
bc6bf401f5
Set pipes for R420 cards. Gives a nice speedup. This needs to be tested on r420 cards with less than 16 pipes.
2005-03-04 15:48:40 +00:00
Vladimir Dergachev
984d527626
Add a couple of helper functions for completeness.
2005-03-03 23:18:19 +00:00
Ian Romanick
fdb5a87f91
Fix some errors in the parameter descriptions in serveral vertex / fragment
...
program related functions.
2005-03-03 21:22:46 +00:00
Ian Romanick
ce77d37264
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.
2005-03-03 21:21:59 +00:00
Ian Romanick
6e776f25fd
When building in the X-Server, attr.depth doesn't exist. Instead, use
...
(XMesaDrawable)w)->depth in the error message.
2005-03-03 19:56:11 +00:00
Brian Paul
c1f2f9090b
change gl_buffer_object's Size field to GLsizeiptrARB type
2005-03-03 02:05:33 +00:00
Brian Paul
7644bfb536
Added linux-x86-32 config to force building 32-bit objects in a 64-bit environment.
2005-03-03 01:44:42 +00:00
Brian Paul
3e1961839e
if building 32-bit objects in 64-bit environment, use -m32 flag
2005-03-03 01:38:13 +00:00
Alan Hourihane
fff3b2f318
use COPY_CLEAN_4V macro to replace using both ASSIGN_4V & COPY_SZ_4V
2005-03-02 18:57:01 +00:00