OSDN Git Service
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.
Keith Whitwell [Wed, 29 Dec 2004 14:38:17 +0000 (14:38 +0000)]
Use Point._Size in calculation
Keith Whitwell [Wed, 29 Dec 2004 14:36:58 +0000 (14:36 +0000)]
use clamped Line._Width in calculations
Keith Whitwell [Wed, 29 Dec 2004 14:09:21 +0000 (14:09 +0000)]
Don't advertise wide lines or points.
Keith Whitwell [Wed, 29 Dec 2004 14:06:09 +0000 (14:06 +0000)]
Make line stipple a fallback.
Make sure fallbacks are wrapped by SpanRenderStart/SpanRenderFinish
Keith Whitwell [Wed, 29 Dec 2004 14:05:16 +0000 (14:05 +0000)]
Don't pingpong cliprects through sarea on CopyBuffer().
Keith Whitwell [Wed, 29 Dec 2004 13:03:12 +0000 (13:03 +0000)]
Fallback on 3d textures correctly.
Keith Whitwell [Wed, 29 Dec 2004 12:48:50 +0000 (12:48 +0000)]
Get twoside-lit triangles working again
Keith Whitwell [Wed, 29 Dec 2004 12:39:50 +0000 (12:39 +0000)]
Large update
- Remove via duplicates of shared template files
- Update driver to work with current versions of the above
- Rework dma accounting
- Rework emitting to dma to use a consistent set of macros
The handling of cliprects in the driver is still pretty questionable.
Vladimir Dergachev [Wed, 29 Dec 2004 04:51:46 +0000 (04:51 +0000)]
Rearrange code so we don't dump state as often.
Vladimir Dergachev [Wed, 29 Dec 2004 04:33:33 +0000 (04:33 +0000)]
Get most primitives working using immediate mode.
Glxgears displays "rotating" gears, all in the same place (no transform mode, remember ?)
Work needs to be done to understand how to have glxgears working properly.
Vladimir Dergachev [Wed, 29 Dec 2004 03:48:05 +0000 (03:48 +0000)]
Bring in latest revision of r300_lib.
New capabilities: using vertex buffers, immediate vertex data, immediate indices.
Vladimir Dergachev [Mon, 27 Dec 2004 23:30:39 +0000 (23:30 +0000)]
Use R300_CMD_END3D for end_3d().
Adam Jackson [Mon, 27 Dec 2004 22:57:05 +0000 (22:57 +0000)]
Fix read-from-uninitialized in s3vMakeCurrent()
Adam Jackson [Mon, 27 Dec 2004 22:08:34 +0000 (22:08 +0000)]
Unused variable cleanup.
Adam Jackson [Mon, 27 Dec 2004 21:52:17 +0000 (21:52 +0000)]
Bug #1859: Initialize 'size' before first use in intelTryReadPixels()
Adam Jackson [Mon, 27 Dec 2004 20:38:29 +0000 (20:38 +0000)]
Build s3v and trident by default too.
Smoky the bear says: Only you can prevent bitrot.
Adam Jackson [Mon, 27 Dec 2004 20:31:56 +0000 (20:31 +0000)]
Get s3v building with a minimum of warnings.
Vladimir Dergachev [Mon, 27 Dec 2004 17:18:48 +0000 (17:18 +0000)]
Implement rendering of (flat color) QUAD primitives as an experiment.
Ian Romanick [Mon, 27 Dec 2004 08:29:54 +0000 (08:29 +0000)]
Fixed two problems with the handling of GLX protocol replies. The logic
for determining when extra data needed to be read after a reply (to ensure
4-byte alignment) and the logic to determine whether or not to read reply
data after the SingleReply packet were both slightly wrong.
Vladimir Dergachev [Sun, 26 Dec 2004 21:42:14 +0000 (21:42 +0000)]
Expose primitive types being rendered, in preparation to implement fixed pipeline primitive drawing.
Note: these are only visible when export LIBGL_DEBUG=verbose is specified.
Vladimir Dergachev [Sun, 26 Dec 2004 19:32:21 +0000 (19:32 +0000)]
Update with most recent version.
Adam Jackson [Fri, 24 Dec 2004 03:04:14 +0000 (03:04 +0000)]
Get trident building and -Werror clean.
- Added Makefile
- Deleted references to old headers
- Added prototypes all over the place
- Lots of type updates (drmHandle -> drm_handle_t etc.)
- Added __driCreateNewScreen(), deleted __driCreateScreen()
- Fixed context creation to match other drivers
- Fixed various bitfield names
- Bumped driver date
Still nowhere close to usable, the DDX isn't DRI-aware and there's no DRM.
Felix Kuehling [Thu, 23 Dec 2004 20:26:59 +0000 (20:26 +0000)]
Simplified and optimized _savage_texnorm_stage.
Keith Whitwell [Thu, 23 Dec 2004 18:26:40 +0000 (18:26 +0000)]
Remove the VIA_PERFORMANCE code. A step towards moving the driver
back to using the shared template files.
Keith Whitwell [Thu, 23 Dec 2004 18:16:22 +0000 (18:16 +0000)]
Chop out more dead code.
Get the drawXoff adjustment working a bit better.
Seems to pass the glean orthoPos tests.
Keith Whitwell [Wed, 22 Dec 2004 19:31:10 +0000 (19:31 +0000)]
Fix merge error.
Keith Whitwell [Wed, 22 Dec 2004 19:30:02 +0000 (19:30 +0000)]
Remove dead code.
Fix 24/8 depth/stencil visuals.
Felix Kuehling [Wed, 22 Dec 2004 16:12:59 +0000 (16:12 +0000)]
Enabled hardware rendering of 1D textures. No need for a software fallback.
Felix Kuehling [Wed, 22 Dec 2004 00:21:32 +0000 (00:21 +0000)]
- Fake projective textures on a single texture unit. A fallback is only
needed if a second texture unit is enabled.
- Also worked around an application bug in Chromium B.S.U.: it sends 3D
texture coordinates while only a 2D texture is enabled. This used to
trigger a PTEX fallback. Now the 3rd coordinate is just ignored.
- Fixed the _savage_texnorm_stage to never normalize homogenous texture
coordinates.
Keith Whitwell [Tue, 21 Dec 2004 23:07:13 +0000 (23:07 +0000)]
Remove debug code which referenced an old global variable.
Ian Romanick [Tue, 21 Dec 2004 23:06:02 +0000 (23:06 +0000)]
Used GCC's __builtin_expect when available. Change the way code is
generated for commands that can use RenderLarge packets. Tweak the code for
__glXFlushRenderBuffer slightly.
Keith Whitwell [Tue, 21 Dec 2004 22:42:00 +0000 (22:42 +0000)]
Push a number of global variables into the viaContext struct.
Remove the bogus 'current_vmesa' pointer.
Ian Romanick [Tue, 21 Dec 2004 21:26:36 +0000 (21:26 +0000)]
Added some comments and fixed typeos. Slightly refactored the way
function parameters are iterated. There are no changes in the generated
code.
Daniel Borca [Tue, 21 Dec 2004 15:45:41 +0000 (15:45 +0000)]
`t' was not initialized (use `texture' instead?)
Brian Paul [Tue, 21 Dec 2004 15:13:41 +0000 (15:13 +0000)]
fix bug in _mesa_IsTexture()
Keith Whitwell [Tue, 21 Dec 2004 13:23:10 +0000 (13:23 +0000)]
Note that state is dirty on contended lock. Allows two applications
to run together correctly, though scheduling between them still isn't
great.
Keith Whitwell [Tue, 21 Dec 2004 12:35:04 +0000 (12:35 +0000)]
Add missing swap-control calculations.
Remove debug printf.
Keith Whitwell [Tue, 21 Dec 2004 11:57:03 +0000 (11:57 +0000)]
Add vsync swapbuffers. This waits on the irq so gears run in this mode
will have a very low cpu utilization (and also a very low framerate).
Fix up the pageflipping code. This works now but is totally oblivious
to the X server (ie. it works but it's broken). Turned off by a #define.
Daniel Borca [Tue, 21 Dec 2004 08:21:52 +0000 (08:21 +0000)]
added GL_EXT_stencil_two_side (yes, it works)
Daniel Borca [Tue, 21 Dec 2004 08:05:43 +0000 (08:05 +0000)]
missing `or' in preprocessor conditional
Keith Whitwell [Mon, 20 Dec 2004 14:48:19 +0000 (14:48 +0000)]
Add a -fullscreen option
Keith Whitwell [Mon, 20 Dec 2004 12:52:21 +0000 (12:52 +0000)]
Remove #ifdef DEBUG's in code, but still allow compiler to remove debug
code if DEBUG not defined.
Daniel Borca [Mon, 20 Dec 2004 08:24:10 +0000 (08:24 +0000)]
put back clipmask code; it proved to be a MinGW/gcc 3.3.x error in t_vb_cliptmp.h(47), where it would still send clipped vertices to the hw... oh, dear...
Daniel Borca [Mon, 20 Dec 2004 08:20:39 +0000 (08:20 +0000)]
use float constants.
fixed a small debug error.
Daniel Borca [Mon, 20 Dec 2004 08:19:28 +0000 (08:19 +0000)]
removed ifdef'ed out code (to whom it may concern: it can be found in dri/tdfx driver)
Daniel Borca [Mon, 20 Dec 2004 08:18:19 +0000 (08:18 +0000)]
removed detritus (ncc).
Daniel Borca [Mon, 20 Dec 2004 08:17:36 +0000 (08:17 +0000)]
comment reorg.
removed detritus (ncc).
Daniel Borca [Mon, 20 Dec 2004 08:16:24 +0000 (08:16 +0000)]
made some functions static.
Daniel Borca [Mon, 20 Dec 2004 08:15:50 +0000 (08:15 +0000)]
comment reorg.
made some functions static.
hide vp behind an envvar.
removed unnecessary multitex constraint for napalm hw.
Daniel Borca [Mon, 20 Dec 2004 08:12:09 +0000 (08:12 +0000)]
allow greater swappendingcount for older hw (v1/v2)
Daniel Borca [Mon, 20 Dec 2004 08:09:25 +0000 (08:09 +0000)]
misc cleanup
Daniel Borca [Mon, 20 Dec 2004 08:08:15 +0000 (08:08 +0000)]
allow ARB vp/fp query program errors
Daniel Borca [Mon, 20 Dec 2004 08:03:01 +0000 (08:03 +0000)]
really protect against npot compressed textures (logbase2 never returns -1).
Ian Romanick [Mon, 20 Dec 2004 04:53:00 +0000 (04:53 +0000)]
Use GLX protocol code generated by glX_proto_send.py.
Ian Romanick [Mon, 20 Dec 2004 04:47:46 +0000 (04:47 +0000)]
No GLX protocol for GL_ATI_fragment_shader.
Vladimir Dergachev [Sun, 19 Dec 2004 15:39:40 +0000 (15:39 +0000)]
Fix cut and paste error (reported by Jerome Glisse)
Dave Airlie [Sun, 19 Dec 2004 03:06:59 +0000 (03:06 +0000)]
Implement software ATI_fragment_shader
no error detection, slow, may not be 100% correct but a good start
Brian Paul [Sat, 18 Dec 2004 22:03:07 +0000 (22:03 +0000)]
Consolidate _swrast_write_texture_span() into _swrast_write_rgba_span().
Brian Paul [Sat, 18 Dec 2004 16:19:08 +0000 (16:19 +0000)]
added GL_ARB_pixel_buffer_object extension string
Brian Paul [Sat, 18 Dec 2004 16:18:00 +0000 (16:18 +0000)]
Added PRINT instruction for GL_NV_fragment_program.
Thomas Hellström [Sat, 18 Dec 2004 12:16:12 +0000 (12:16 +0000)]
Unichrome DRI driver:
Fix for proplem where polygons partly outside the drawing window would get
one vertex clamped to the opposite window side. This bug could also cause
a hardlock. (Bugzilla #2066, Yann Vernier)
Felix Kuehling [Fri, 17 Dec 2004 15:55:17 +0000 (15:55 +0000)]
Made debugging output controllable via environment variable
SAVAGE_DEBUG. Added fallback debugs. Added no_rast option to disable
hardware rasterization (everything as software fallback).
Brian Paul [Fri, 17 Dec 2004 14:48:00 +0000 (14:48 +0000)]
VMS update
Daniel Borca [Fri, 17 Dec 2004 10:40:32 +0000 (10:40 +0000)]
fxRasterPrimitive wasn't always receiving the reduced primitive
Daniel Borca [Fri, 17 Dec 2004 08:08:37 +0000 (08:08 +0000)]
fxRasterPrimitive wasn't always receiving the reduced primitive
Felix Kuehling [Fri, 17 Dec 2004 00:01:15 +0000 (00:01 +0000)]
Added a TNL pipeline stage that normalizes texture coordinates as a
workaround for bad Savage hardware interpolation of big texture
coordinates.
Adam Jackson [Thu, 16 Dec 2004 19:26:23 +0000 (19:26 +0000)]
Import s3virge and trident drivers. Not functional yet; no Makefile, no DRI-aware DDX.
Brian Paul [Thu, 16 Dec 2004 17:33:36 +0000 (17:33 +0000)]
fix typos in texcoord setup - fixes perspective correction bug
Vladimir Dergachev [Thu, 16 Dec 2004 14:04:49 +0000 (14:04 +0000)]
The types uint32_t and uint8_t are not used in Mesa tree.
Put a couple of defines to use GL counterparts.
Brian Paul [Thu, 16 Dec 2004 03:07:18 +0000 (03:07 +0000)]
Experimental PRINT instruction for NV_vertex_program.
Basically, this lets you put a "PRINT 'mesage', register;" statement in a
vertex program to aid in debugging.
Brian Paul [Thu, 16 Dec 2004 02:14:19 +0000 (02:14 +0000)]
don't divide texcoords by q if using a fragment program
Adam Jackson [Thu, 16 Dec 2004 00:23:47 +0000 (00:23 +0000)]
Also PUBLICize the config option table