Felix Kuehling [Fri, 7 Jan 2005 10:55:13 +0000 (10:55 +0000)]
Fixed: ptex drawing functions were overridden with standard drawing
functions if ANY_RASTER_FLAGS|ANY_FALLBACK_FLAGS were set.
Keith Whitwell [Fri, 7 Jan 2005 10:36:14 +0000 (10:36 +0000)]
Add a clean target to remove generated files.
Keith Whitwell [Fri, 7 Jan 2005 10:35:51 +0000 (10:35 +0000)]
Add a noop install target
Keith Whitwell [Fri, 7 Jan 2005 10:35:23 +0000 (10:35 +0000)]
Improve the semantics of the 'install' target to make sure the right
file is really being installed. Useful if you have multiple versions
of a single driver directory hanging around and want to switch between
them for testing.
Keith Whitwell [Fri, 7 Jan 2005 10:34:13 +0000 (10:34 +0000)]
Add an install target
Keith Whitwell [Fri, 7 Jan 2005 10:34:00 +0000 (10:34 +0000)]
Make clean in the x86 directory.
Propogate 'install' target down to dri driver directory.
Ian Romanick [Fri, 7 Jan 2005 03:41:48 +0000 (03:41 +0000)]
Use GNU AS label aliasing, if available. This must be enabled by adding
'-DHAVE_ALIAS' to DEFINES in the config file used for building. On the
linux-dri-x86 build, this cuts 4KB from libGL.so. HAVE_ALIAS is not
currently enabled in any of the configs.
Ian Romanick [Fri, 7 Jan 2005 03:23:59 +0000 (03:23 +0000)]
Script to generate rough GLX protocol documentation (as might be seen in
an extension spec). It's not perfect, and it doesn't support certain
functions that other scripts here can (e.g., pixel functions). However,
it is a good start and has already proven useful to me.
Ian Romanick [Fri, 7 Jan 2005 03:22:56 +0000 (03:22 +0000)]
Track the GLX protocol names for GL types.
Ian Romanick [Fri, 7 Jan 2005 02:53:04 +0000 (02:53 +0000)]
Refactor the code that converts a transpose-matrix enum to a
regular-matrix enum.
Ian Romanick [Fri, 7 Jan 2005 02:39:09 +0000 (02:39 +0000)]
Pixel oriented render functions are now generated by the
glX_proto_send.py script. This eliminates ~600 lines of non-generated
code. With proper compiler optimization settings, it also decreases the
size of libGL.so by about 3KB.
Ian Romanick [Fri, 7 Jan 2005 02:29:42 +0000 (02:29 +0000)]
The generic_*_byte functions did not rount the command size to a
multiple of 4 correctly in some cases.
Brian Paul [Fri, 7 Jan 2005 01:17:42 +0000 (01:17 +0000)]
added GetAllFBConfigs()
Ian Romanick [Fri, 7 Jan 2005 00:48:24 +0000 (00:48 +0000)]
Revert some accidental cross-merge changes. Remove i915GetString. Migrate
a couple extensions that appeared in both device-specific card_extensions
strings to the shared one.
Brian Paul [Thu, 6 Jan 2005 23:59:37 +0000 (23:59 +0000)]
New GetAllFBConfigs() function. Some FBConfigs weren't reported before.
Brian Paul [Thu, 6 Jan 2005 21:56:16 +0000 (21:56 +0000)]
In choose_visual() we need to know if we're being called from
glXChooseVisual() or glXChooseFBConfig() so that we handle the
GLX_DOUBLEBUFFER and GLX_STEREO tokens correctly.
Added some new error checking in those functions too.
Aapo Tahkola [Thu, 6 Jan 2005 19:26:25 +0000 (19:26 +0000)]
Add radeon 9550 pci id.
Keith Whitwell [Thu, 6 Jan 2005 17:12:56 +0000 (17:12 +0000)]
Redraw on keypress, as apparently intended.
Alan Hourihane [Thu, 6 Jan 2005 14:35:44 +0000 (14:35 +0000)]
Add Intel i915GM support, and these extensions.
* GL_ARB_texture_cube_map
* GL_EXT_blend_equation_separate
* GL_ATI_blend_equation_separate
* GL_ARB_point_parameters
* GL_NV_blend_square
* GL_EXT_cull_vertex
* GL_ARB_depth_texture
* GL_SGIX_depth_texture
* GL_ARB_shadow
* GL_EXT_shadow_funcs
* GL_3DFX_texture_compression_FXT1
(Keith Whitwell, Tungsten Graphics)
Daniel Borca [Thu, 6 Jan 2005 14:34:48 +0000 (14:34 +0000)]
semantic in parameter names
Daniel Borca [Thu, 6 Jan 2005 14:09:18 +0000 (14:09 +0000)]
semantic in parameter names. changed emitter function.
Thomas Hellström [Thu, 6 Jan 2005 13:51:37 +0000 (13:51 +0000)]
Small Unichrome fixes:
1. Unlock hardware before aborting and dumping DMA buffers. Otherwise display system may deadlock.
2. Fix DMA init IOCTL call that got mixed up in one of the previous commits.
3. Fix AGP command alignment
Daniel Borca [Thu, 6 Jan 2005 07:46:37 +0000 (07:46 +0000)]
semantic in parameter names
Daniel Borca [Thu, 6 Jan 2005 07:45:17 +0000 (07:45 +0000)]
solved classic "char*" vs "char[]" conflict. we were mimicking a pointer variable at desired location and then we took its address. using array is more intuitive, as they give us the starting address instantly.
Daniel Borca [Thu, 6 Jan 2005 07:40:33 +0000 (07:40 +0000)]
protected against elfish directives
Daniel Borca [Thu, 6 Jan 2005 07:38:28 +0000 (07:38 +0000)]
semantic in parameter names
Daniel Borca [Thu, 6 Jan 2005 07:37:32 +0000 (07:37 +0000)]
removed detritus
Daniel Borca [Thu, 6 Jan 2005 07:36:56 +0000 (07:36 +0000)]
added "default" branch in `convertPalette'
Daniel Borca [Thu, 6 Jan 2005 07:35:46 +0000 (07:35 +0000)]
fix dstRGB factor
Vladimir Dergachev [Thu, 6 Jan 2005 04:39:51 +0000 (04:39 +0000)]
Turns out the kfountain.kss (as well as lesson19) had a bug - the size was set wrong. Fixed.
Vladimir Dergachev [Thu, 6 Jan 2005 04:02:52 +0000 (04:02 +0000)]
Add texture format to get lesson19 working again.
Vladimir Dergachev [Thu, 6 Jan 2005 03:56:18 +0000 (03:56 +0000)]
Switch to a more complicated scheme of choosing texture formats, as it looks
like the old one was prone to collisions (different value of format field was
required for same values of t->format going in).
Now use a hash for these purposes - this got kfiresaver.kss and lesson06 workingfrom the same code.
Ben Skeggs [Thu, 6 Jan 2005 00:10:11 +0000 (00:10 +0000)]
Added GL_POLYGON primitive. Single primitive between glBegin()/glEnd() now works.
Felix Kuehling [Wed, 5 Jan 2005 23:56:16 +0000 (23:56 +0000)]
* Fixed handling of scissors
* Only set scissor regs directly if drmMinor < 1
* Don't set texaddr to 0 when a texture unit is disabled. That would trigger
the tightened texture state check in the DRM if the texaddr and texdesc
registers were not emitted atomically.
Alan Hourihane [Wed, 5 Jan 2005 22:40:34 +0000 (22:40 +0000)]
support 720x480 and 960x540 modes
Alan Hourihane [Wed, 5 Jan 2005 21:49:52 +0000 (21:49 +0000)]
Only try to free the front buffer when it's a pbuffer.
Keith Whitwell [Wed, 5 Jan 2005 20:56:05 +0000 (20:56 +0000)]
Make the format of the fastpaths cleaner at the expense of a little
performance.
Add fastpaths for some more common vertex formats.
Alan Hourihane [Wed, 5 Jan 2005 20:13:04 +0000 (20:13 +0000)]
fix build problem
Keith Whitwell [Wed, 5 Jan 2005 18:14:38 +0000 (18:14 +0000)]
Improve some quad paths, gives gears a little boost.
Keith Whitwell [Wed, 5 Jan 2005 18:06:05 +0000 (18:06 +0000)]
Give attributes with zero-stride a count of 1 to make it easier
to avoid transforming the same attribute multiple times.
Don't light a single normal multiple times in light_fast_rgba*
Keith Whitwell [Wed, 5 Jan 2005 13:51:38 +0000 (13:51 +0000)]
make alloc-dma functions inline, rearrange some debug
Keith Whitwell [Wed, 5 Jan 2005 13:51:03 +0000 (13:51 +0000)]
Avoid a segfault in multiarb.c
Alan Hourihane [Wed, 5 Jan 2005 13:45:09 +0000 (13:45 +0000)]
Bring VIA driver up-to-date with regard to drm_*_t changes and remove
the xf86drmVIA.[ch] files.
Bring in the IRQ handler and Ring buffer code, but ring buffer is disabled
as it is with the Xserver. It certainly locks up the CLE266.
Keith Whitwell [Wed, 5 Jan 2005 12:58:14 +0000 (12:58 +0000)]
Add a couple of hardwired fastpaths to t_vertex.c.
Keith Whitwell [Wed, 5 Jan 2005 11:10:05 +0000 (11:10 +0000)]
If there is only one normal, don't transform it multiple times.
Vladimir Dergachev [Wed, 5 Jan 2005 04:56:23 +0000 (04:56 +0000)]
Reduce the amount of debug output, while still printing important messages.
Make guessing texture formats easier.
Vladimir Dergachev [Wed, 5 Jan 2005 00:18:46 +0000 (00:18 +0000)]
Play a little bit with texture formats.
Get NeHe demos 06, 07 and 19 working.
Vladimir Dergachev [Tue, 4 Jan 2005 22:52:53 +0000 (22:52 +0000)]
Sync with master copy.
Vladimir Dergachev [Tue, 4 Jan 2005 20:25:11 +0000 (20:25 +0000)]
Port code from r200 that implements color blending. Seems to work.
This can be tested with lesson19 from NeHe.
This has also shown that the alpha code does not work - we pick up a red tint
for transparent pixels somewhere.
Vladimir Dergachev [Tue, 4 Jan 2005 19:15:37 +0000 (19:15 +0000)]
Unify rendering of textured and non-textured primitives.
Vladimir Dergachev [Tue, 4 Jan 2005 18:59:47 +0000 (18:59 +0000)]
Major code restructuring:
* move proven code into the r300_state.c
* update ClearBuffer to cope with more dynamic state
* cleanup !
Brian Paul [Tue, 4 Jan 2005 14:48:14 +0000 (14:48 +0000)]
added GLX_NV_float_buffer
Brian Paul [Tue, 4 Jan 2005 14:33:47 +0000 (14:33 +0000)]
use HIDDEN macro to export fewer symbols (bug 2210)
Brian Paul [Tue, 4 Jan 2005 14:19:25 +0000 (14:19 +0000)]
directfb changes (Claudio Ciccani)
Keith Whitwell [Tue, 4 Jan 2005 12:57:02 +0000 (12:57 +0000)]
Add GL_EXT_fog_coord
Keith Whitwell [Tue, 4 Jan 2005 12:56:17 +0000 (12:56 +0000)]
Add GL_EXT_secondary_color
Keith Whitwell [Tue, 4 Jan 2005 12:53:41 +0000 (12:53 +0000)]
Turn specular lighting state on/off appropriately.
Keith Whitwell [Tue, 4 Jan 2005 12:18:05 +0000 (12:18 +0000)]
Change to use the t_vertex.c mechanisms for building vertices,
including Felix's ptex code.
Re-enable some assembly for performance.
Brian Paul [Tue, 4 Jan 2005 00:58:29 +0000 (00:58 +0000)]
Use the GLX 1.3 pbuffer/fbconfig functions in preference to the SGIX ones.
Added more functions to pbutil.[ch] to better isolate API differences.
Felix Kuehling [Mon, 3 Jan 2005 22:24:44 +0000 (22:24 +0000)]
Added support for floating point depth buffers on Savage4-based
hardware. By also reversing the depth range this can compensate the loss
of accuracy of far objects caused by the projective transformation.
Software fallbacks work but are slightly slower since floats in a custom
(non IEEE) format have to be encoded and decoded. I havn't done anything
about polygon offsets yet. There doesn't seem to be an easy way do get
it right except making the offset unit as big as the lowest resolution
of depth values. For now float depth is disabled by default but can be
enabled through driconf (though I have seen only positive effects so
far).
Felix Kuehling [Mon, 3 Jan 2005 22:15:41 +0000 (22:15 +0000)]
Added a boolean option for a floating-point depth buffer.
Ian Romanick [Mon, 3 Jan 2005 21:03:03 +0000 (21:03 +0000)]
The opcode and command length fields of RenderLarge commands were
mistakenly emitted in the wrong order.
Brian Paul [Mon, 3 Jan 2005 15:55:51 +0000 (15:55 +0000)]
latest updates
Vladimir Dergachev [Mon, 3 Jan 2005 15:45:10 +0000 (15:45 +0000)]
Add structs describing vertex and pixel shader state to r300_state.
Take apart program_pipeline() and move it into appropriate pieces within the driver.
Test the framework on run_flat_render()
Brian Paul [Mon, 3 Jan 2005 15:36:27 +0000 (15:36 +0000)]
bump version to 6.3, etc.
Brian Paul [Mon, 3 Jan 2005 15:35:00 +0000 (15:35 +0000)]
DirectFB driver (Claudio Ciccani)
Brian Paul [Mon, 3 Jan 2005 15:01:26 +0000 (15:01 +0000)]
updates from Jouk
Vladimir Dergachev [Mon, 3 Jan 2005 06:53:38 +0000 (06:53 +0000)]
Turns out I left flat primitives in vertex buffer mode. Switch them back to immediate which works correctly..
Vladimir Dergachev [Mon, 3 Jan 2005 06:48:50 +0000 (06:48 +0000)]
Enable code to compute other constants that were used by R200 code.
Add fprintf to print these constants.
Correct t->size computation, so it works now.
Vladimir Dergachev [Mon, 3 Jan 2005 05:44:20 +0000 (05:44 +0000)]
Port texture allocation code from R200.
Hook it up, so lesson06 displays red colored textures.
Vladimir Dergachev [Sun, 2 Jan 2005 21:53:53 +0000 (21:53 +0000)]
Add texture units registers
Vladimir Dergachev [Sun, 2 Jan 2005 06:16:44 +0000 (06:16 +0000)]
Cleanup !
I can not trigger any lockups now..
Vladimir Dergachev [Sun, 2 Jan 2005 05:57:15 +0000 (05:57 +0000)]
I think I fixed the lockups issue.
Vladimir Dergachev [Sun, 2 Jan 2005 04:46:25 +0000 (04:46 +0000)]
Get textures to work with NeHe lesson06.
The code is still disabled since we are displaying random image data instead of actual texture and because I had to put a sleep(1) in lesson06 drawing loop to prevent lockups.
Adam Jackson [Sun, 2 Jan 2005 03:36:53 +0000 (03:36 +0000)]
linux-dri-x86 build fix from Andreas Stenglein.
Felix Kuehling [Sun, 2 Jan 2005 01:22:10 +0000 (01:22 +0000)]
Improved the performance of software fallbacks by not waiting for idle
in every single span function. Instead flush and wait in the
SpanRenderStart hook and in wrappers around _swrast_Copy/Draw/ReadPixels.
Misc. cleanups in savagespan.c while I'm there.
Felix Kuehling [Sat, 1 Jan 2005 20:40:14 +0000 (20:40 +0000)]
Removed all direct hardware access (MMIO, BCI) from the Savage DRI
driver. It uses the new DRM version 2.0.x now, which has just been
committed to DRM CVS.
Felix Kuehling [Sat, 1 Jan 2005 20:33:45 +0000 (20:33 +0000)]
Use DRM headers from $(DRM_SOURCE_PATH)/shared-core instead of .../shared.
Vladimir Dergachev [Sat, 1 Jan 2005 18:41:43 +0000 (18:41 +0000)]
Add a convenience function to issue CP delays.
Vladimir Dergachev [Fri, 31 Dec 2004 21:28:36 +0000 (21:28 +0000)]
Qualify the magic 20B0 register as SE_VTE_CNTL similar to R200. Looks like disabling Z offset and scaling displays gears properly, not sure why. Perhaps the meaning of the bits has changed ?
Cleanup code a bit.
Vladimir Dergachev [Fri, 31 Dec 2004 20:57:48 +0000 (20:57 +0000)]
Sync with master copy.
Vladimir Dergachev [Fri, 31 Dec 2004 19:39:03 +0000 (19:39 +0000)]
Add texture drawing code. Note: it is broken at the moment and is disabled in CVS. However, all hooks are there.
Fix vertex buffer drawing code.
Vladimir Dergachev [Thu, 30 Dec 2004 20:24:30 +0000 (20:24 +0000)]
Rework slightly r300_get_primitive_type - make it clearer and more compact..
Keith Whitwell [Thu, 30 Dec 2004 17:47:08 +0000 (17:47 +0000)]
Get scissor test working again. Passes glean scissor test.
Keith Whitwell [Thu, 30 Dec 2004 16:30:26 +0000 (16:30 +0000)]
Calculate DEPTH_SCALE correctly for polygon offset.
Keith Whitwell [Thu, 30 Dec 2004 16:13:35 +0000 (16:13 +0000)]
Simplify viaBlit a bit more.
Implement masked clears.
Vladimir Dergachev [Thu, 30 Dec 2004 16:06:37 +0000 (16:06 +0000)]
Add missing files.
Keith Whitwell [Thu, 30 Dec 2004 16:05:07 +0000 (16:05 +0000)]
Initialize depth pointer correctly.
Keith Whitwell [Thu, 30 Dec 2004 15:58:45 +0000 (15:58 +0000)]
Don't need to adjust for drawXoff in fallback clipping.
Keith Whitwell [Thu, 30 Dec 2004 14:32:19 +0000 (14:32 +0000)]
fix regression with fallbacks from recent commits
Keith Whitwell [Thu, 30 Dec 2004 14:21:46 +0000 (14:21 +0000)]
Fix MagFilter state for texunit 0
Vladimir Dergachev [Thu, 30 Dec 2004 11:43:04 +0000 (11:43 +0000)]
Update vertex buffer code (still does not work properly..)
Vladimir Dergachev [Thu, 30 Dec 2004 11:17:42 +0000 (11:17 +0000)]
Update to recent r300_lib.
Cleanup code that is not relevant anymore.
Play with unknown2 parameter.
Vladimir Dergachev [Thu, 30 Dec 2004 10:27:04 +0000 (10:27 +0000)]
Hooked up projection matrix - the gears actually rotate !
Vladimir Dergachev [Thu, 30 Dec 2004 10:11:39 +0000 (10:11 +0000)]
Restructure code.
Add drawing code that uses vertex buffers - does not lockup, but does not draw correctly either.. Perhaps something to do with vertices being overwritten ?
Start using hardware state retained by the driver and cut back on direct register writes significantly.
Vladimir Dergachev [Thu, 30 Dec 2004 07:50:15 +0000 (07:50 +0000)]
Change default RS settings so that glxgears will display something..
Vladimir Dergachev [Thu, 30 Dec 2004 07:11:28 +0000 (07:11 +0000)]
Clarify some of the unkXXXX atoms.
Vladimir Dergachev [Thu, 30 Dec 2004 06:06:54 +0000 (06:06 +0000)]
Port viewport setting code from R200.
Take it outside R300ResetHwState.
Keith Whitwell [Wed, 29 Dec 2004 21:17:06 +0000 (21:17 +0000)]
Fix some wrapping bugs in the last commit. Probably there are more
remaining.
Keith Whitwell [Wed, 29 Dec 2004 20:46:27 +0000 (20:46 +0000)]
Simplfy clear() and swapbuffers() code.
Fix various mishandling of cliprects.
Allow multiple primitives to be emitted to a single dma buffer, which
was largely impossible previously.
Re-enable the fast unclipped render stage.