Commit Graph

5462 Commits

Author SHA1 Message Date
Vladimir Dergachev a656dc251e 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.
2004-12-30 10:11:39 +00:00
Vladimir Dergachev 51050efe0e Change default RS settings so that glxgears will display something.. 2004-12-30 07:50:15 +00:00
Vladimir Dergachev 7d8c1fb03a Clarify some of the unkXXXX atoms. 2004-12-30 07:11:28 +00:00
Vladimir Dergachev 74bf43051c Port viewport setting code from R200.
Take it outside R300ResetHwState.
2004-12-30 06:06:54 +00:00
Keith Whitwell 5be14fd59a Fix some wrapping bugs in the last commit. Probably there are more
remaining.
2004-12-29 21:17:06 +00:00
Keith Whitwell 490e764d7a 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.
2004-12-29 20:46:27 +00:00
Keith Whitwell ef494c06b6 Use Point._Size in calculation 2004-12-29 14:38:17 +00:00
Keith Whitwell 54ef88109b use clamped Line._Width in calculations 2004-12-29 14:36:58 +00:00
Keith Whitwell e158292ee3 Don't advertise wide lines or points. 2004-12-29 14:09:21 +00:00
Keith Whitwell e972497310 Make line stipple a fallback.
Make sure fallbacks are wrapped by SpanRenderStart/SpanRenderFinish
2004-12-29 14:06:09 +00:00
Keith Whitwell f102f7ae3d Don't pingpong cliprects through sarea on CopyBuffer(). 2004-12-29 14:05:16 +00:00
Keith Whitwell cb0cc796d2 Fallback on 3d textures correctly. 2004-12-29 13:03:12 +00:00
Keith Whitwell 3b486d795d Get twoside-lit triangles working again 2004-12-29 12:48:50 +00:00
Keith Whitwell 13ae06cf36 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.
2004-12-29 12:39:50 +00:00
Vladimir Dergachev 7b05b70c2a Rearrange code so we don't dump state as often. 2004-12-29 04:51:46 +00:00
Vladimir Dergachev 4c3f041862 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.
2004-12-29 04:33:33 +00:00
Vladimir Dergachev 5bdb4652f9 Bring in latest revision of r300_lib.
New capabilities: using vertex buffers, immediate vertex data, immediate indices.
2004-12-29 03:48:05 +00:00
Vladimir Dergachev 6a50fc43cb Use R300_CMD_END3D for end_3d(). 2004-12-27 23:30:39 +00:00
Adam Jackson c6cca6a3b8 Fix read-from-uninitialized in s3vMakeCurrent() 2004-12-27 22:57:05 +00:00
Adam Jackson 29c88396db Unused variable cleanup. 2004-12-27 22:08:34 +00:00
Adam Jackson d9fcfa2797 Bug #1859: Initialize 'size' before first use in intelTryReadPixels() 2004-12-27 21:52:17 +00:00
Adam Jackson 0983c9dd99 Build s3v and trident by default too.
Smoky the bear says: Only you can prevent bitrot.
2004-12-27 20:38:29 +00:00
Adam Jackson c3eaa17b37 Get s3v building with a minimum of warnings. 2004-12-27 20:31:56 +00:00
Vladimir Dergachev 99edafd4e8 Implement rendering of (flat color) QUAD primitives as an experiment. 2004-12-27 17:18:48 +00:00
Ian Romanick 83fcf49647 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.
2004-12-27 08:29:54 +00:00
Vladimir Dergachev 3cbc2bd833 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.
2004-12-26 21:42:14 +00:00
Vladimir Dergachev 1b2a655521 Update with most recent version. 2004-12-26 19:32:21 +00:00
Adam Jackson 46a35b2284 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.
2004-12-24 03:04:14 +00:00
Felix Kuehling 1c86c7ad9c Simplified and optimized _savage_texnorm_stage. 2004-12-23 20:26:59 +00:00
Keith Whitwell 3deaf21745 Remove the VIA_PERFORMANCE code. A step towards moving the driver
back to using the shared template files.
2004-12-23 18:26:40 +00:00
Keith Whitwell 9876730f7a Chop out more dead code.
Get the drawXoff adjustment working a bit better.
Seems to pass the glean orthoPos tests.
2004-12-23 18:16:22 +00:00
Keith Whitwell 15da29b5e7 Fix merge error. 2004-12-22 19:31:10 +00:00
Keith Whitwell 7db50bb3a8 Remove dead code.
Fix 24/8 depth/stencil visuals.
2004-12-22 19:30:02 +00:00
Felix Kuehling 922bfd70ff Enabled hardware rendering of 1D textures. No need for a software fallback. 2004-12-22 16:12:59 +00:00
Felix Kuehling 80dd3c7917 - 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.
2004-12-22 00:21:32 +00:00
Keith Whitwell 8bdaa927eb Remove debug code which referenced an old global variable. 2004-12-21 23:07:13 +00:00
Ian Romanick 990dec7ea0 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.
2004-12-21 23:06:02 +00:00
Keith Whitwell 302c5694c6 Push a number of global variables into the viaContext struct.
Remove the bogus 'current_vmesa' pointer.
2004-12-21 22:42:00 +00:00
Ian Romanick 1d27084043 Added some comments and fixed typeos. Slightly refactored the way
function parameters are iterated.  There are no changes in the generated
code.
2004-12-21 21:26:36 +00:00
Daniel Borca b756990b84 `t' was not initialized (use `texture' instead?) 2004-12-21 15:45:41 +00:00
Brian Paul 3ec0631e95 fix bug in _mesa_IsTexture() 2004-12-21 15:13:41 +00:00
Keith Whitwell 50694eeff9 Note that state is dirty on contended lock. Allows two applications
to run together correctly, though scheduling between them still isn't
great.
2004-12-21 13:23:10 +00:00
Keith Whitwell 3955313e7c Add missing swap-control calculations.
Remove debug printf.
2004-12-21 12:35:04 +00:00
Keith Whitwell 314f8e4d9d 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.
2004-12-21 11:57:03 +00:00
Daniel Borca 91a04617c4 added GL_EXT_stencil_two_side (yes, it works) 2004-12-21 08:21:52 +00:00
Daniel Borca d7b9d6046d missing `or' in preprocessor conditional 2004-12-21 08:05:43 +00:00
Keith Whitwell 16db15718d Add a -fullscreen option 2004-12-20 14:48:19 +00:00
Keith Whitwell 14bc684990 Remove #ifdef DEBUG's in code, but still allow compiler to remove debug
code if DEBUG not defined.
2004-12-20 12:52:21 +00:00
Daniel Borca b51600716e 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... 2004-12-20 08:24:10 +00:00
Daniel Borca 6bb1be010e use float constants.
fixed a small debug error.
2004-12-20 08:20:39 +00:00