Commit graph

115447 commits

Author SHA1 Message Date
Keith Whitwell
c5f0158a91 tgsi: add const qualifier to tokens on sse emit 2008-04-18 18:32:37 +01:00
Keith Whitwell
f631bebe1a softpipe: fix const-related compiler warnings 2008-04-18 18:32:37 +01:00
Keith Whitwell
59ba8ea00b gallium: reorder libs so that translate can see rtasm 2008-04-18 18:32:37 +01:00
Keith Whitwell
5b97c762ed rtasm: add a couple more insns, clean up x86_mul 2008-04-18 18:32:36 +01:00
Michel Dänzer
073d9a28c2 gallium: Always pass colour clear value to driver as A8R8G8B8. 2008-04-18 13:38:06 +01:00
José Fonseca
da9079b936 gallium: Add missing files to scons. 2008-04-18 20:59:28 +09:00
Keith Whitwell
a773f06e96 draw: split off all the extra functionality in the vertex shader
This will at least allow us to make the initial gains to get decent
vertex performance much more quickly & with higher confidence of getting
it right.

At some later point can look again at code-generating all the
fetch/cliptest/viewport extras in the same block as the vertex shader.
For now, just need to get some decent baseline performance.
2008-04-18 10:48:54 +01:00
Dave Airlie
27e06a5234 i965: fixup depth buffer check 2008-04-18 15:37:54 +10:00
Dave Airlie
fda4895d26 i965: fix vb aperture space check 2008-04-18 15:14:48 +10:00
Dave Airlie
e92e3848e7 965: fix vb upload size check 2008-04-18 15:09:46 +10:00
Dave Airlie
e149e1b953 i965: fix gs_prog aperture check 2008-04-18 15:09:46 +10:00
Dave Airlie
f2a6404ef3 i915: check for depth region before accounting its buffer size
fd.o bz #15573
2008-04-18 12:13:13 +10:00
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