Commit graph

92185 commits

Author SHA1 Message Date
Dave Airlie
008653ac55 i965: initial attempt at fixing the aperture overflow
Makes state emission into a 2 phase, prepare sets things up and accounts
the size of all referenced buffer objects. The emit stage then actually
does the batchbuffer touching for emitting the objects.

There is an assert in dri_emit_reloc if a reloc occurs for a buffer
that hasn't been accounted yet.
2008-04-18 11:57:38 +10:00
Brian Paul
01b6354e72 gallium: tweak x/ybias values 2008-04-17 15:26:37 -06:00
Brian Paul
5af9a690b2 gallium: add missing pipe_surface_unmap() call 2008-04-17 13:21:26 -06:00
Brian Paul
211170c192 gallium: plug in a select_destroy() function (fixes segfault on exit) 2008-04-17 11:31:14 -06:00
Brian Paul
ce454d2192 gallium: assert that we're not deleting the currently bound shader 2008-04-17 11:13:49 -06:00
Brian Paul
f2b3f6cbdf gallium: reorder some of the destroy context code 2008-04-17 11:13:49 -06:00
Michel Dänzer
4dcb09d489 gallium: Add new file to scons build. 2008-04-17 17:53:33 +01:00
Keith Whitwell
c503e55d74 draw: move hw vertex emit to a new module 2008-04-17 14:43:40 +01:00
Keith Whitwell
fe8af14124 draw: don't always run pipeline if clipping 2008-04-17 14:42:05 +01:00
Keith Whitwell
280bcff1fa draw: add vertex shader run_linear function 2008-04-17 14:23:13 +01:00
Keith Whitwell
938ec19210 tsgi: make Consts const 2008-04-17 14:23:13 +01:00
Keith Whitwell
49becd2d7c draw: add comment 2008-04-17 14:23:13 +01:00
Keith Whitwell
c96d565643 draw: keep record of number of active vertex buffers 2008-04-17 14:23:13 +01:00
Keith Whitwell
8abfcea690 draw: remove misleading comments 2008-04-17 14:23:13 +01:00
Xiang, Haihao
08f9b190a7 Revert "[i965] renable regative rhw test"
This reverts commit 3158e981f5.
rhw issue has gone away on IGD.
2008-04-17 16:50:42 +08:00
Andrew Randrianasulu
8642dd30f9 r200: accept PROGRAM_CONSTANT inputs due to mesa changes 2008-04-17 02:51:30 +02:00
Brian Paul
4b822a1016 gallium: implement RGBA pixel maps in the pixel transfer fragment program 2008-04-16 16:53:44 -06:00
Brian Paul
52544aa23b gallium: added util_pack_color_ub() 2008-04-16 16:53:44 -06:00
Brian Paul
dc5a853c85 gallium: make choose_format() non-static: st_choose_format() 2008-04-16 16:53:43 -06:00
Brian Paul
e38f677e8f gallium: finish-up and fix support for GL_COLOR matrix on pixel xfer path 2008-04-16 16:53:43 -06:00
Brian Paul
302daeb2ec mesa: added internal post color matrix scale/bias vars 2008-04-16 16:53:43 -06:00
José Fonseca
3a765bbe00 gallium: Use debug_get_bool_option for controlling assert failure behaviour.
Add
  GALLIUM_ABORT_ON_ASSERT=no
to C:\gallium.cfg instead.
2008-04-17 00:20:09 +09:00
Keith Whitwell
3be453bf7f draw: allow pt paths to run without a vbuf render stage 2008-04-16 12:55:47 +01:00
Keith Whitwell
d8c3891718 draw: remove vbuf non-vf debug path, fix some failure modes in draw_vbuf_create() 2008-04-16 12:31:19 +01:00
Keith Whitwell
8b607f42d0 softpipe: call setup_prepare earlier so that vertex info is correct when queried 2008-04-16 12:22:20 +01:00
Keith Whitwell
909e8ce543 draw: update debug code 2008-04-16 12:22:20 +01:00
Keith Whitwell
a8582efaca draw: make pt run pipeline when need_pipeline is true, not just when clipped 2008-04-16 12:22:20 +01:00
Dave Airlie
eff6f12032 fixup r500 bits for renaming 2008-04-16 20:42:15 +10:00
Dave Airlie
09df5eaff2 Merge branch 'master' into r500test
Conflicts:

	src/mesa/drivers/dri/r300/r300_cmdbuf.c
	src/mesa/drivers/dri/r300/r300_ioctl.c
2008-04-16 20:25:08 +10:00
Dave Airlie
b64448b3e4 bufmgr_fake: disable debugging again 2008-04-16 16:49:32 +10:00
Dave Airlie
96338dd147 intel: fix _mesa_error ctx I introduced at lsat minute 2008-04-16 16:37:13 +10:00
Dave Airlie
7cc7ff7051 intel/fake_bufmgr: Attempt to restrict references to objects in a batchbuffer > aperture size.
So with compiz on Intel hw with fake bufmgr, opening 4 firefox windows at 1680x1050 and hitting alt-tab, could cause the batchbuffer to try and reference more than the 32MB of RAM allocated.

Fix 1:
Fix 1 is to pre-verify the list of buffers against the current batchbuffer and if it can't possibly fit in the aperture to flush the batchbuffer to the hardware
and try again. If the buffers still can't fit well then you are hosed as I'm not sure there is a nice way to tell anyone.

Fix 2:
Next problem was that even with a simple check for total < aperture, we ran
into fragmentation issues, this meant that half way down a set of buffers,
we would fail as no blocks were available. Fix this by nuking the memory
manager from orbit and letting it start again and relayout the blocks in a
manner that fits.

Fix 3:
Finally the initial problem we were seeing was a memcpy to a NULL backing store.
We seem to end up with a texture at some point that never gets mapped but ends up with data in it. compiz al-tab icons have this property. So I created a card dirty bit that memcpy's any buffer that is !static and is written to back to memory. This probably is wrong but it makes compiz work for now.

Caveats:
965 support is still fail.
2008-04-16 16:22:05 +10:00
José Fonseca
fd6acabd2f gallium: Get the translate module to build on msvc.
Appearently MSVC c-preprocessor parses "255.0f" as two tokens:
"255.0" and "f", and performs variable substitution on "f".
2008-04-16 11:42:08 +09:00
José Fonseca
e2269e94c0 gallium: Build and link the translate module. 2008-04-16 11:39:22 +09:00
Keith Whitwell
a5a7dc24ba gallium: Switch one vertex path over to new translate module
Will eventually do this for all instances where we are converting vertices
from one format to another.
2008-04-15 19:14:31 +01:00
Keith Whitwell
08861688d3 gallium: add translate directory 2008-04-15 15:07:50 +01:00
Keith Whitwell
8cac6f3fcf draw: increment output vertex properly 2008-04-15 14:52:56 +01:00
Keith Whitwell
7eb6f130a1 draw: fix first glitch in vertex emit 2008-04-15 14:44:39 +01:00
Keith Whitwell
59f68f36c4 translate: typo in emit_B8G8R8A8_UNORM 2008-04-15 14:40:16 +01:00
Keith Whitwell
c81bbab6f6 gallium: add a generic vertex (or other) buffer translation module 2008-04-15 14:35:29 +01:00
Keith Whitwell
6a26a9c58c draw: fetch_shade_pipeline needs to translate to hw vertex format (from get_vertex_info) 2008-04-15 14:30:06 +01:00
Jakob Bornecrantz
f2ee51e7d9 i915: Changed name to i915_dri.so 2008-04-15 12:08:36 +02:00
José Fonseca
a68f664124 gallium: Cache one line worth of debug output on windows.
The windbg connection seems synchronous, so this speeds up when printing
little text at a time (e.g., tgsi output).
2008-04-15 18:11:47 +09:00
José Fonseca
3c4f1ba5a2 gallium: Eliminate stdio file usage. Remove unused stuff. 2008-04-15 17:08:10 +09:00
José Fonseca
7619240cc0 gallium: Fix seg fault (James Vogt). 2008-04-15 15:58:14 +09:00
José Fonseca
95aeeb6d74 gallium: Several fixes to buffer caching. 2008-04-15 15:41:08 +09:00
José Fonseca
d005befcb9 gallium: Less confusing interface for timeouts. 2008-04-15 15:40:35 +09:00
José Fonseca
50bbbbe581 gallium: Remove middle of scope declarations. 2008-04-15 14:58:32 +09:00
José Fonseca
0b995b44e5 gallium: Fix mismatching prototypes. 2008-04-15 12:39:22 +09:00
José Fonseca
a175e15f20 gallium: Allow to use a single slab.
We often want to use a pool of equally sized buffers, so this makes the
slab suballocator a drop-in replacement.
2008-04-15 12:39:22 +09:00