Brian
648e26aa95
gallium: added tgsi_num_tokens() function to return number of tokens in token array.
...
Maybe move to a different file someday.
2008-03-24 16:35:24 -06:00
José Fonseca
e8c6ea4f60
gallium: Simple cross platform get-opt system.
...
Uses getenv on Linux, and a memory mapped text file on Windows.
It supports boolean options, flags, and plain strings.
2008-03-24 22:31:36 +00:00
José Fonseca
dd51365acd
gallium: cleanup p_debug
...
Now debug_printf is disabled on release builds. Use debug_error or
_debug_printf to output messages on release versions.
2008-03-24 22:31:36 +00:00
Brian
d83e75c759
gallium: move filter assignment out of loop
2008-03-24 12:51:50 -06:00
Brian
4e398df682
gallium: fix REALLOC() to copy smaller of old/new sizes
2008-03-24 12:51:18 -06:00
Alex Deucher
b469e9e93c
R300: fix typo r300 fog reg
...
Noticed by pzad on IRC
2008-03-24 14:49:43 -04:00
José Fonseca
48726e129a
gallium: Protect operator precedence in macro.
2008-03-24 18:25:59 +00:00
Brian Paul
22a3d02254
gallium: free bitmap fragment shaders, misc clean-up
2008-03-24 11:56:05 -06:00
Brian Paul
d246274b9c
gallium: add missing cso_save_samplers() call
2008-03-24 11:56:05 -06:00
Michal Krol
bf8de6d4dc
gallium: Remove util_gen_mipmap_filter().
2008-03-24 16:50:39 +01:00
Brian
110b63d00f
gallium: pass the filter mode to util_gen_mipmap().
...
Remove util_gen_mipmap_filter() when no longer used.
2008-03-24 08:53:16 -06:00
Michal Krol
c8c373514a
gallium: tweak coords in u_gen_mipmap code
2008-03-24 08:09:34 -06:00
Oliver McFadden
74aee365e3
r300: Merged the constant zero/one source macros.
2008-03-24 12:53:57 +00:00
Oliver McFadden
c75ffff84a
r300: Merged the Vector and Math Engine opcode macros.
2008-03-24 12:53:57 +00:00
Keith Whitwell
e0a9ce10f4
draw: pre-declare referenced structs
2008-03-24 10:53:26 +00:00
Keith Whitwell
f4588c1752
Revert "draw: Fix #include order to fix Linux build."
...
This reverts commit a6d17bf671 .
2008-03-24 10:52:20 +00:00
Michel Dänzer
a6d17bf671
draw: Fix #include order to fix Linux build.
2008-03-24 09:56:12 +00:00
Ben Skeggs
5ce37d42b3
nv40: maintain pipe_surface status field
2008-03-24 13:45:38 +11:00
Ben Skeggs
799d3bce06
nv40: respect rasterizer cso bypass_clipping flag
2008-03-24 13:41:40 +11:00
Ben Skeggs
46a7f297a1
nouveau: fix infinite wait on space for userbuf.
...
A recent commit removed a bug which essentially caused a sync after each
use of a user buffer. In fixing it, the scratch area can now become
fragmented under some circumstances leading to nouveau_bo_tmp() waiting
forever for a large enough block of free space.
This fixes ppracer, gl-117 and probably a heap of other apps.
2008-03-24 13:06:29 +11:00
Keith Whitwell
3b217c7fa7
draw: check need_pipeline() in passthrough
2008-03-23 21:55:19 +00:00
Keith Whitwell
3e9b1bc100
draw: tweak the definition of draw_need_pipeline, fix minor bug
2008-03-23 21:54:44 +00:00
Keith Whitwell
e6ea786c00
draw: fix crlf
2008-03-23 21:31:52 +00:00
Keith Whitwell
743e990831
draw: rename emit functions to match pipe_format names
2008-03-23 21:31:52 +00:00
Keith Whitwell
899fcde366
draw: restructure fetch/emit as a pair of function calls
2008-03-23 21:31:52 +00:00
Michal Krol
6edaef5318
gallium: Add util_gen_mipmap_filter().
...
We need a way to specify the type of minification filter
used to downsample mipmap levels.
The old util_gen_mipmap() retains its behaviour and uses
LINEAR filter.
2008-03-23 20:40:56 +01:00
José Fonseca
38dc0f809d
gallium: Fix memory leak.
...
pipe cso's were being destroyed, but the hash elements themselves not.
proper fix is IMHO add a destructor callback to cso_hash.
2008-03-23 19:38:11 +00:00
José Fonseca
48ef11d308
gallium: Remove the debug_mask_* stuff.
...
Overcomplex and not much different from using a global variable...
2008-03-23 18:57:35 +00:00
José Fonseca
d09b92d7e4
gallium: Fix typo.
2008-03-23 18:52:37 +00:00
José Fonseca
732422f670
gallium: Memory debugging utilities.
...
There are no known tools for windows kernel memory debugging, so this is a
simple set of malloc etc wrappers.
Enabled by default on win32 debug builds
2008-03-23 18:38:31 +00:00
José Fonseca
312cbc5a5c
gallium: wrap decls in extern "C"
2008-03-23 18:38:31 +00:00
Keith Whitwell
301b187ca9
draw: fix some unsigned vs ushort confusion
...
Middle-end elements are ushort, but prior to that have to treat all
elements as unsigned to avoid wrapping and/or overruns.
2008-03-23 18:21:00 +00:00
Keith Whitwell
f40357e25c
gallium: beginnings of draw module vertex rework
...
Trying to put a structure in place that we can actually optimize.
Initially just implementing a passthrough mode, this will fairly soon
replace all the vertex_cache/prim_queue/shader_queue stuff that's so
hard to understand...
Split the vertex processing into a couple of distinct stages:
- Frontend
- Prepares two lists of elements (fetch and draw) to be processed
by the next stage. This stage doesn't fetch or draw vertices, but
makes the decision which to draw. Multiple implementations of this
will implement different strategies, currently just a vcache
implementation.
- MiddleEnd
- Takes the list of fetch elements, fetches them, runs the vertex
shader, cliptest, viewport transform on them to produce a
linear array of vertex_header vertices.
- Passes that list of vertices, plus the draw_elements (which index
into that list) onto the backend
- Backend
- Either the existing primitive/clipping pipeline, or the vbuf_render
hardware backend provided by the driver.
Currently, the middle-end is the old passthrough code, and it build hardware
vertices, not vertex_header vertices as above. It may be that passthrough
is a special case in this respect.
2008-03-23 17:36:49 +00:00
Ben Skeggs
17491ea27f
nv40: vp reg changes similar to recent fp changes
2008-03-23 19:08:59 +11:00
Ben Skeggs
e1ad8c232b
nv40: fix fp depth write
2008-03-23 18:20:04 +11:00
Ben Skeggs
4dfcf91296
nv40: remove some badness from fp temp/result allocation
...
Should hopefully be OK now (on the fragprog size) for MRT. The hack from
a commit 01cb2cd93e is no longer needed.
2008-03-23 18:15:41 +11:00
Ben Skeggs
3158035154
nv40: catch fp extra-const cases where both const and immd have same idx
2008-03-23 16:32:00 +11:00
Ben Skeggs
ba223e91df
nv40: fp: fix multiple refs to a single const withing an instruction
2008-03-23 16:26:42 +11:00
Ben Skeggs
01cb2cd93e
nv40: workaround fp result.data[0] clobberage
...
Temporary, the fp reg handling will get reworked at some point in the near
future. But before that, there's a few bugs to find.
2008-03-23 16:11:03 +11:00
Ben Skeggs
62a8e7685f
nv40: add dxtn formats (disabled)
2008-03-23 14:29:35 +11:00
Ben Skeggs
dcf04ee23c
Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1
2008-03-23 14:18:06 +11:00
Eric Anholt
c986421694
autoconf: Add a workaround for second AC_PROG_PATH not overwriting results.
2008-03-22 11:03:16 -07:00
Brian
a35c1ca3ad
gallium: fix a few more shader-related mem leaks
2008-03-22 10:29:30 -06:00
Brian
f8acc3965e
use ctx->Driver.DeleteProgram() in a few more places
2008-03-22 10:27:55 -06:00
Brian
dc6fab90b4
use ctx->Driver.DeleteProgram() in a few more places
2008-03-22 10:27:03 -06:00
Brian
dae7993afc
gallium: free samplers, textures in destroy()
2008-03-22 09:42:59 -06:00
Brian
2f8f6c2918
gallium: remove temporary _screen suffix from function names
2008-03-22 09:15:23 -06:00
Brian
731dec1bd5
delete default programs with ctx->Driver.DeleteProgram()
2008-03-22 09:13:28 -06:00
Brian
0b60ade834
gallium: fix a few mem leaks when deleting programs
2008-03-22 09:12:52 -06:00
Brian
28b3b07895
gallium: fix mem leak (fee pstipple stage)
2008-03-22 09:12:27 -06:00