José Fonseca
8eab7de888
pipebuffer: Temporarily reimplement validation as growable array.
...
Jose
2008-05-09 00:37:50 +09:00
Michel Dänzer
7ffbfaccfb
gallium: Make sure functions have proper prototypes and remove unused variable.
2008-05-08 13:26:23 +01:00
José Fonseca
82dd0225e7
pipebuffer: Preliminary buffer validation.
...
Use table to store a list of buffers to validate. Unfortunately cso_hash
shrinks/regrows the hash every time, so still has to be addressed.
Multi-thread validation is still WIP.
2008-05-08 15:29:20 +09:00
José Fonseca
53996e562f
pipebuffer: Don't include standard headers directly.
2008-05-08 15:29:20 +09:00
Keith Whitwell
a41b78d107
pb: remove unused variable, squash warning
2008-04-28 18:11:55 +01:00
José Fonseca
083008d808
pipebuffer: Be extra cautious with the incoming buffers.
...
A common mistake is trying to fence user or malloc buffers. So don't let
the crash happen inside pipebuffer lib.
2008-04-27 21:19:34 +09:00
José Fonseca
b06cd4debf
gallium: Windows user mode portability fixes.
2008-04-25 18:19:51 +09:00
José Fonseca
a75a3df851
pipebuffer: New function to flush the buffer cache.
2008-04-24 02:13:41 +09:00
José Fonseca
b4b3a73bdf
pipebuffer: Temporarily allow simultaneous CPU writes.
...
Also, fast path for re-fencing the same buffer multiple times with the same fence.
2008-04-22 19:47:12 +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
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
José Fonseca
21ae3d2721
gallium: Serialize buffers writes.
...
Allow concurrent reads from buffers by the CPU/GPU, but serialize
all writes.
2008-04-15 10:13:52 +09:00
José Fonseca
fb2b5f7a4a
gallium: Buffer cache.
2008-04-13 15:10:18 +09:00
José Fonseca
21c302b0ec
gallium: Initial port of Thomas slab suballocator to pipebuffer.
...
Not tested yet -- just compiles.
This includes only the slab algorithm. Fencing is already
implemented in pb_bufmgr_fence and time-based caching will be commited in a
separate module shortly.
2008-04-13 15:10:17 +09:00
José Fonseca
4382b0c9cb
gallium: Fix overzealous assert.
2008-04-08 20:42:24 +09:00
José Fonseca
fdff063343
gallium: Keep fenced buffers list ordered.
...
This allows to keep the list small without the overhead of full walks.
2008-04-05 13:45:41 +09:00
José Fonseca
f1efef809c
gallium: Fix typo.
2008-04-05 13:45:40 +09:00
José Fonseca
686a6c7468
gallium: Do not assume that buffers are freed in the same order they are fenced.
...
Also free buffers as soon as possible.
This short term fix corrects the fenced list behavior but it will impact on performance.
The long term fix is probably replace the linked list (legacy from the bufpool code) by
a binary tree.
2008-04-01 10:46:04 +09:00
José Fonseca
d6229d7f1f
gallium: Make headers C++ friendly.
2008-02-27 18:39:57 +09:00
José Fonseca
e9bb63c8e2
gallium: MSVC fixes.
2008-02-24 02:23:12 +09:00
José Fonseca
e8de5c70e3
Bring in several forgotten MSVC fixes.
2008-02-23 14:14:54 +09:00
José Fonseca
b9da3791c9
Remove src/mesa and src/mesa/main from gallium source include paths.
2008-02-19 15:07:53 +09:00
José Fonseca
90b2beb661
Simplify makefile boilerplate code.
...
Don't define ASM_SOURCES variable globally -- reserve that variable to be defined
locally by makefiles, together with C_SOURCES and CPP_SOURCES.
2008-02-19 14:06:11 +09:00
José Fonseca
17158c2f00
Move mm.c code into util module.
...
Using the u_ prefix to distingish the c source files that support gallium
interfaces and those that have really no relation with gallium itself.
2008-02-19 14:01:49 +09:00
José Fonseca
687a8b96ef
Standardize on using the pipe/ include prefix.
2008-02-18 20:02:42 +09:00
José Fonseca
33ceb6716a
Update scons build for new code layout.
2008-02-18 10:52:44 +00:00
José Fonseca
92fcbf6e7b
Code reorganization: s/aux/auxiliary/.
...
"aux" is a reserved name on Windows (X_X)
2008-02-15 20:07:18 +09:00