Commit graph

28 commits

Author SHA1 Message Date
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