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