Commit Graph

24518 Commits

Author SHA1 Message Date
Eric Anholt ddef7dc87b intel: Clean up leak of driver context structure on context destroy. 2009-07-02 14:07:10 -07:00
Eric Anholt cb4ef34214 intel: Init num_fences to clean up valgrind warning.
Valgrind doesn't know that a successful getparam sets the target of the
pointer, so just set the value beforehand.
2009-07-02 14:07:09 -07:00
José Fonseca 2a2236606f mesa: Assume depth textures have a single level unless told otherwise. 2009-07-02 17:24:50 +01:00
Richard Li bb429803e0 r6xx/r7xx: Better fix for fragment temps
This doesn't waste as many in generic cases.
2009-07-02 12:08:57 -04:00
Keith Whitwell 588c862571 mesa: s/TRUE/GL_TRUE
Fix compile breakage on Linux.
2009-07-02 14:44:06 +01:00
Jakob Bornecrantz d1c8a0a308 r300g: Readd trace driver support 2009-07-02 15:07:53 +02:00
Jakob Bornecrantz 59abfa8e42 i915g: Readd trace driver support 2009-07-02 15:05:17 +02:00
Jakob Bornecrantz c0d7502a2c trace: Add drm api integration
This is okay since drm_api.h doesn't have any external
	dependancies, one could make it only compile on platforms
	that support drm.
2009-07-02 14:57:55 +02:00
Keith Whitwell 798cd2a98d glapi: ensure _mesa_lookup_prim_by_nr() is not clobbered on regeneration
Propogate changes to enums.c back up to the python source.
2009-07-02 13:33:20 +01:00
Keith Whitwell 1668a679c4 Merge commit 'origin/dlist-statechange-shortcircuit' into mesa_7_5_branch
Conflicts:
	progs/trivial/Makefile

Pull in a minimal version of statechange shortcircuiting in display
list compilation.  This affects only glMaterial and glShadeModel state,
and includes quite a few tests to exercise various tricky cases.

If this goes well, will consider extending to all state in the future.
2009-07-02 13:29:46 +01:00
Dave Airlie 54ee188a00 radeon/r200/r300: drop radeon renderbuffer private width/height
half stealing the code without taking the intel regions
2009-07-02 20:57:45 +10:00
Dave Airlie 2ed3eddf9a radeon/r300: use base width/height.
I suspect this might break TFP in some way but it makes firecube run here
2009-07-02 20:45:19 +10:00
Keith Whitwell b3e8e1cd4c mesa: ensure UsesFogFragCoord value is set for non-glsl shaders
With recent changes to support frontfacing in glsl, it is necessary
to ensure that the UsesFogFragCoord value is accurate in all shaders.
We were previously not setting it for fixed-function and ARB_fs shaders.
2009-07-02 11:28:56 +01:00
Cooper Yuan c571395e5d R6xx/r7xx: Fix line width issue, ROUND_MODE and QUANT_MODE aren't bits of LINE_CNTL 2009-07-02 16:52:11 +08:00
Cooper Yuan da88333671 R6xx/r7xx: Correct the indeices of DRAW_INDEX_IMMD 2009-07-02 16:49:19 +08:00
Xiang, Haihao 73137997e2 i965: fixes for JMPI
1. the data type of <src1> (JMPI offset) must be D
2. execution size must be 1
3. NoMask
4. instruction compression isn't allowed.
2009-07-02 16:32:19 +08:00
Corbin Simpson 96ef7aae1d r300g: Fix recursive Draw flush.
Also just noticed that demos/copypix walks around the overlapping blit rules.

Bad, bad Mesa. :3
2009-07-01 23:25:47 -07:00
Corbin Simpson 8799a9d24d r300g: Use floats for surface_copy texcoords, use correct src and dest.
This makes demos/copypix better-looking. Horizontal dimensions are right now.
2009-07-01 23:09:18 -07:00
Corbin Simpson 338db0af61 radeon-gallium: Adapt to drm_api changes.
Note that trace debugging is temporarily gone. I'll rework it later.
2009-07-01 22:33:17 -07:00
Alex Deucher 8bda0f1f4f r6xx/r7xx: rework aos setup
In theory this should fix the stride = 0 case,
but I can't seem to reproduce that anymore
with mesa master.
2009-07-01 14:41:57 -04:00
Alex Deucher 65cdf9c561 R6xx/R7xx: Fix number of temps used in fragment program
Spotted by Cooper.  This gets hello, aargb, smooth, etc.
working.
2009-07-01 11:10:10 -04:00
Eric Anholt 5e6b593d35 intel: Avoid pointer arithmetic on void *.
Bug #22000.
2009-06-30 22:57:56 -07:00
Eric Anholt c3499f6c66 i965: Increase G4X default VS URB allocation to actually allow 32 threads.
This improves the performance of my GLSL demo by 30%.  It also fixes the
VS deadlock that ut2004 had, for reasons I can't explain. Bug #21330.
2009-06-30 17:55:23 -07:00
Ian Romanick f359165a82 demos: Set the depth mask correctly to get the desired blending 2009-06-30 17:29:52 -07:00
Ben Skeggs 18a1c36c2d nouveau: return some supported zeta formats 2009-07-01 09:26:57 +10:00
Ben Skeggs 55e5ac17c1 nouveau: deal with PIPE_CAP_TGSI_CONT_SUPPORTED 2009-07-01 09:26:57 +10:00
Ben Skeggs 55fc63cd7d nouveau: fix build... 2009-07-01 09:26:56 +10:00
Jakob Bornecrantz 64849d1236 drm/st: Remove drm_api struct from drivers
Remove the drm_api from the functions in the softpipe and
	i915simple drivers. Create wrapper functions in the
	backends instead.
2009-07-01 01:20:04 +02:00
Brian Paul 119eb40942 i965: first attempt at handling URB overflow when there's too many vs outputs
If we can't fit all the VS outputs into the MRF, we need to overflow into
temporary GRF registers, then use some MOVs and a second brw_urb_WRITE()
instruction to place the overflow vertex results into the URB.

This is hit when a vertex/fragment shader pair has a large number of varying
variables (12 or more).

There's still something broken here, but it seems close...
2009-06-30 17:12:44 -06:00
Brian Paul 1b6ae2e004 i965: use BRW_MAX_MRF 2009-06-30 17:12:44 -06:00
Brian Paul 76a5a5dace i965: use BRW_MAX_GRF, BRW_MAX_MRF 2009-06-30 17:12:44 -06:00
Brian Paul 0fe19bc91d i965: move BRW_MAX_GRF, define BRW_MAX_MRF 2009-06-30 17:12:44 -06:00
Brian Paul 0b7b8c8ddf i965: defined BRW_MAX_MRF 2009-06-30 17:12:44 -06:00
Brian Paul 6eb2ca500d i965: comments and a new assertion 2009-06-30 17:12:44 -06:00
Alex Deucher d10006e67f R6xx/r7xx: fix locking for clear
this allows redbook hello to render correctly mostly.
2009-06-30 18:40:48 -04:00
Keith Whitwell 1fa4cde757 mesa/vbo: fix compile and replay of nodes ending in a FALLBACK
Where vbo save nodes are terminated with a call to DO_FALLBACK(), as in
the case of a recursive CallList which is itself within a Begin/End pair,
there two problems:
1) The display list node's primitive information was incorrect, stating
the cut-off prim had zero vertices
2) On replay, we would get confused by a primitive that started in a
node, but was terminated by individual opcodes.

This change fixes the first problem by correctly terminating the last
primitive on fallback, and the second by forcing the display list to
use the Loopback path, converting all nodes into immediate-mode rendering.

The loopback fix is a performance hit, but avoiding this would require
a fairly large rework of this code.
2009-06-30 19:52:44 +01:00
Eric Anholt 57a06d3a48 i915: Fix assertion failure on remapping a non-BO-backed VBO.
Failure to set the obj->Pointer back to null tripped up the assertion.
Bug #22428.
2009-06-30 10:41:18 -07:00
Keith Whitwell 70ae7ba818 mesa/dlist: fixes and improvements for material caching
Only short-circuit material call if *all* statechanges from this call
are cached.  Some material calls (eg with FRONT_AND_BACK) change more
than one piece of state -- need to check all of them before returning.

Also, Material calls are legal inside begin/end pairs, so don't need
to be as careful about begin/end state as with regular statechanges
(like ShadeModel) when caching.  Take advantage of this and do better
caching.
2009-06-30 18:40:20 +01:00
Keith Whitwell c48c01c9e7 progs/trivial: add dlist-mat-tri.c 2009-06-30 18:37:34 +01:00
Keith Whitwell 1ca836f0de progs/trivial: add test case for short-circuiting material changes
Similar to dlist-tri-flat-tri, but using glMaterial calls, which
have the extra property of being legal within Begin/End calls.
2009-06-30 18:17:39 +01:00
Keith Whitwell d6c2347d79 mesa/dlist: don't cache state which may not be replayed on CallList
Statechanges which occur before the first End in a display list may
not be replayed when the list is called, in particular if it is called
from within a begin/end pair.

Recognize vulnerable statechanges and do not use them to fill in the
state cache.
2009-06-30 17:10:56 +01:00
Keith Whitwell 09a3a28fc8 progs/trivial: add dlist-flat-tri.c
State-change functions which precede the first call to glEnd() in
a compiled list are vulnerable to not being executed when that list
is called.

In particular this can happen if a list is invoked from within a
begin/end pair, as in this example.
2009-06-30 17:06:50 +01:00
Keith Whitwell 7e91d035b9 mesa/dlist: invalidate cached dlist compile state after CallList
When compiling a display list containing a CallList, it is necessary to
invalidate any assumption about the GL state after the recursive call
completes.
2009-06-30 17:04:11 +01:00
Keith Whitwell 2e570be852 progs/trivial: add dlist-recursive-call
When one display list calls another display list, it is possible
that the calling display list makes state-changes or other actions which
invalidate any attempt at caching or state-change elimination in the
calling list.

This test exercises one such case, where the called list consists of just
a single glShadeModel() call.
2009-06-30 17:02:16 +01:00
Keith Whitwell 1730eaa2a2 dlist-tri-flat-tri: make tri render differently if flatshade not enabled
When testing flat-shading, it helps to specify per-vertex colors so
that you can distinguish between flat & smooth shading.
2009-06-30 16:57:21 +01:00
Keith Whitwell 4147bb24d4 Merge branch 'mesa_7_5_branch' into dlist-statechange-shortcircuit
Need this to pick up fixes for per-vertex materials.
2009-06-30 16:28:54 +01:00
Keith Whitwell 6af783bea0 progs/trivial: add test case for lighting plus per-vertex materials
Exercise material-within-begin/end case.
2009-06-30 16:19:23 +01:00
Keith Whitwell a9ae89d104 progs/isosurf: add materials mode for glVertex + TRISTRIP 2009-06-30 16:14:08 +01:00
Keith Whitwell 6dfb89e4a0 mesa: remove whitespace 2009-06-30 16:14:05 +01:00
Keith Whitwell cea259f039 mesa: remove dead constant pointsize code from ffvertex_prog.c 2009-06-30 16:13:58 +01:00