mesa.git
16 years agoRevert "softpipe: squash warning"
Keith Whitwell [Tue, 22 Apr 2008 20:17:21 +0000 (21:17 +0100)]
Revert "softpipe: squash warning"

This reverts commit 1f0f029ba6f22ef4ada01fcdc153da91571a7963.

Which broke the debug build.

16 years agodraw: allow drivers to query pipeline state more easily
Keith Whitwell [Tue, 22 Apr 2008 19:50:20 +0000 (20:50 +0100)]
draw: allow drivers to query pipeline state more easily

Also, provide a separate flag to say whether the driver can handle
clipping/rhw tasks, in addition to the API flag which indicates they
have already been done.

16 years agosoftpipe: squash warning
Keith Whitwell [Tue, 22 Apr 2008 19:32:22 +0000 (20:32 +0100)]
softpipe: squash warning

16 years agocso: fix vs/fs confusion
Keith Whitwell [Tue, 22 Apr 2008 14:26:38 +0000 (15:26 +0100)]
cso: fix vs/fs confusion

16 years agosoftpipe: do something sensible on an error path, squash warning
Keith Whitwell [Tue, 22 Apr 2008 14:15:21 +0000 (15:15 +0100)]
softpipe: do something sensible on an error path, squash warning

16 years agogallium: How about restoring shaders instead of saving them again...
Michel Dänzer [Tue, 22 Apr 2008 13:22:11 +0000 (14:22 +0100)]
gallium: How about restoring shaders instead of saving them again...

16 years agogallium: Don't link x86sse.c into libmesa.a.
Michel Dänzer [Tue, 22 Apr 2008 11:18:31 +0000 (12:18 +0100)]
gallium: Don't link x86sse.c into libmesa.a.

Otherwise we get a symbol clash with the copy in src/gallium/util .

16 years agopipebuffer: Temporarily allow simultaneous CPU writes.
José Fonseca [Tue, 22 Apr 2008 10:47:02 +0000 (19:47 +0900)]
pipebuffer: Temporarily allow simultaneous CPU writes.

Also, fast path for re-fencing the same buffer multiple times with the same fence.

16 years agodraw: disable broken edgeflag code - didn't work & was killing performance
Keith Whitwell [Tue, 22 Apr 2008 10:26:07 +0000 (11:26 +0100)]
draw: disable broken edgeflag code - didn't work & was killing performance

16 years agoxlib: shortcircuit no-op makecurrent
Keith Whitwell [Tue, 22 Apr 2008 10:15:51 +0000 (11:15 +0100)]
xlib: shortcircuit no-op makecurrent

16 years agoxlib: implement SP_NO_RAST env var
Keith Whitwell [Tue, 22 Apr 2008 10:01:56 +0000 (11:01 +0100)]
xlib: implement SP_NO_RAST env var

16 years agosoftpipe: implement SP_NO_RAST env var
Keith Whitwell [Tue, 22 Apr 2008 10:01:41 +0000 (11:01 +0100)]
softpipe: implement SP_NO_RAST env var

16 years agosoftpipe: make NUM_ENTRIES 32 so that div/mods are easier
Keith Whitwell [Tue, 22 Apr 2008 09:57:06 +0000 (10:57 +0100)]
softpipe: make NUM_ENTRIES 32 so that div/mods are easier

16 years agocso: Fix build on Win32.
Michal Krol [Tue, 22 Apr 2008 09:26:26 +0000 (11:26 +0200)]
cso: Fix build on Win32.

16 years agomake the api consistent (all set functions return pipe_error status)
Zack Rusin [Mon, 21 Apr 2008 20:40:27 +0000 (16:40 -0400)]
make the api consistent (all set functions return pipe_error status)

16 years agohandle some of the possible allocation failures within the hash itself
Zack Rusin [Mon, 21 Apr 2008 20:04:27 +0000 (16:04 -0400)]
handle some of the possible allocation failures within the hash itself

16 years agoinitial stab at error handling in cso
Zack Rusin [Mon, 21 Apr 2008 19:44:51 +0000 (15:44 -0400)]
initial stab at error handling in cso

16 years agocso: disable not-really-working cso_set_*_shader() funcs
Keith Whitwell [Mon, 21 Apr 2008 20:05:11 +0000 (21:05 +0100)]
cso: disable not-really-working cso_set_*_shader() funcs

16 years agodraw: squash a couple of memory leaks
Keith Whitwell [Mon, 21 Apr 2008 20:01:38 +0000 (21:01 +0100)]
draw: squash a couple of memory leaks

16 years agouse cso fs/vs handle functions
Keith Whitwell [Mon, 21 Apr 2008 19:26:19 +0000 (20:26 +0100)]
use cso fs/vs handle functions

16 years agocso: provide functions to bind fs/vs handles directly
Keith Whitwell [Mon, 21 Apr 2008 19:25:47 +0000 (20:25 +0100)]
cso: provide functions to bind fs/vs handles directly

16 years agomesa: remove st_cache.c
Keith Whitwell [Mon, 21 Apr 2008 19:25:06 +0000 (20:25 +0100)]
mesa: remove st_cache.c

16 years agoUse llvm 2.3 (2.2 won't work because of a lot of problems, e.g.
Zack Rusin [Mon, 21 Apr 2008 19:15:31 +0000 (15:15 -0400)]
Use llvm 2.3 (2.2 won't work because of a lot of problems, e.g.
lack of constant vectors handling in execution engine)

16 years agortasm: debug some missing funcs
Keith Whitwell [Mon, 21 Apr 2008 18:48:21 +0000 (19:48 +0100)]
rtasm: debug some missing funcs

16 years agortasm: quieten sse_enabled debug
Keith Whitwell [Mon, 21 Apr 2008 18:48:08 +0000 (19:48 +0100)]
rtasm: quieten sse_enabled debug

16 years agortasm: clean up debug dumping a little
Keith Whitwell [Mon, 21 Apr 2008 18:43:53 +0000 (19:43 +0100)]
rtasm: clean up debug dumping a little

16 years agocso: propogate one easy error - many more
Keith Whitwell [Mon, 21 Apr 2008 18:11:58 +0000 (19:11 +0100)]
cso: propogate one easy error - many more

16 years agotranslate: fail on x86 rtasm fail
Keith Whitwell [Mon, 21 Apr 2008 18:09:54 +0000 (19:09 +0100)]
translate: fail on x86 rtasm fail

16 years agortasm: propogate errors in x86 emit
Keith Whitwell [Mon, 21 Apr 2008 18:09:38 +0000 (19:09 +0100)]
rtasm: propogate errors in x86 emit

16 years agogallium: Use CSO cache for shaders.
Michel Dänzer [Mon, 21 Apr 2008 16:51:39 +0000 (17:51 +0100)]
gallium: Use CSO cache for shaders.

16 years agoactually write the results
Zack Rusin [Mon, 21 Apr 2008 16:42:37 +0000 (12:42 -0400)]
actually write the results

16 years agodraw: more propogation -- pstipple stage.
Keith Whitwell [Mon, 21 Apr 2008 16:17:27 +0000 (17:17 +0100)]
draw: more propogation -- pstipple stage.

16 years agodraw: propogate lots of errors
Keith Whitwell [Mon, 21 Apr 2008 16:03:37 +0000 (17:03 +0100)]
draw: propogate lots of errors

16 years agodraw: propogate errors out of aapoint stage
Keith Whitwell [Mon, 21 Apr 2008 15:45:41 +0000 (16:45 +0100)]
draw: propogate errors out of aapoint stage

16 years agodraw: propogate errors out of aaline stage
Keith Whitwell [Mon, 21 Apr 2008 15:38:09 +0000 (16:38 +0100)]
draw: propogate errors out of aaline stage

16 years agodraw: consolidate all the passthrough line/tri/point funcs
Keith Whitwell [Mon, 21 Apr 2008 15:10:13 +0000 (16:10 +0100)]
draw: consolidate all the passthrough line/tri/point funcs

16 years agogallium: Hash the fragment shader tokens, instead of pipe_shader_state.
José Fonseca [Mon, 21 Apr 2008 15:16:04 +0000 (00:16 +0900)]
gallium: Hash the fragment shader tokens, instead of pipe_shader_state.

PS: pipe_shader_state should probably go away now that it is reduced to a single pointer.

16 years agogallium: Include dependent header.
José Fonseca [Mon, 21 Apr 2008 15:14:08 +0000 (00:14 +0900)]
gallium: Include dependent header.

16 years agogallium: Set all state via cso_context in blit/gen_mipmap utils.
José Fonseca [Mon, 21 Apr 2008 13:26:33 +0000 (22:26 +0900)]
gallium: Set all state via cso_context in blit/gen_mipmap utils.

cso_restore_* functions are implemented on top of cso_set_*, therefore
they require full knowledge of the current pipe state to work correctly.
Directly calling pipe's set_*_state functions will lead to undefined state.

Also save and restore shaders.

16 years agogallium: Do not mistake pipe state objects for state tracker state objects.
José Fonseca [Mon, 21 Apr 2008 11:44:45 +0000 (20:44 +0900)]
gallium: Do not mistake pipe state objects for state tracker state objects.

16 years agoutil: work around freaky win32 math.h
Keith Whitwell [Mon, 21 Apr 2008 13:19:15 +0000 (14:19 +0100)]
util: work around freaky win32 math.h

16 years agotgsi: use new float math funcs, drop local disassembly code
Keith Whitwell [Mon, 21 Apr 2008 11:39:59 +0000 (12:39 +0100)]
tgsi: use new float math funcs, drop local disassembly code

16 years agoutil: add wrappers for float math functions on windows
Keith Whitwell [Mon, 21 Apr 2008 11:38:14 +0000 (12:38 +0100)]
util: add wrappers for float math functions on windows

16 years agortasm: add dump facility for x86 (from tgsi_sse2.c)
Keith Whitwell [Mon, 21 Apr 2008 11:37:41 +0000 (12:37 +0100)]
rtasm: add dump facility for x86 (from tgsi_sse2.c)

16 years agomake llvm draw paths compile with the latest changes
Zack Rusin [Mon, 21 Apr 2008 04:10:39 +0000 (00:10 -0400)]
make llvm draw paths compile with the latest changes
switch the method of distribution of builtins (to get rid of the
llvm2cpp dependency)

16 years agogallium: Centralize SSE usage logic.
José Fonseca [Mon, 21 Apr 2008 04:02:59 +0000 (13:02 +0900)]
gallium: Centralize SSE usage logic.

16 years agogallium: Refcount textures.
José Fonseca [Sun, 20 Apr 2008 05:41:02 +0000 (14:41 +0900)]
gallium: Refcount textures.

Pipe driver does refcount textures. If cso_context does not, dangling
pointers appear.

16 years agodraw: rearrange debug code
Keith Whitwell [Sat, 19 Apr 2008 19:20:40 +0000 (20:20 +0100)]
draw: rearrange debug code

16 years agotranslate: fix several bugs
Keith Whitwell [Sat, 19 Apr 2008 19:18:40 +0000 (20:18 +0100)]
translate: fix several bugs

- specify cdecl calling convention on WIN32
- fix load bgra8 function
- fix previous don't crash fix.

16 years agodraw: add missing translate->set_buffer for fetch emit path
Keith Whitwell [Sat, 19 Apr 2008 17:41:53 +0000 (18:41 +0100)]
draw: add missing translate->set_buffer for fetch emit path

16 years agotranslate: don't crash on failure to create sse version
Keith Whitwell [Sat, 19 Apr 2008 17:26:39 +0000 (18:26 +0100)]
translate: don't crash on failure to create sse version

16 years agortasm: include yet another i386 define varient
Keith Whitwell [Sat, 19 Apr 2008 17:25:33 +0000 (18:25 +0100)]
rtasm: include yet another i386 define varient

16 years agodraw: fix scons build
Keith Whitwell [Sat, 19 Apr 2008 17:02:42 +0000 (18:02 +0100)]
draw: fix scons build

16 years agodraw: move incoming vertex state into draw->pt
Keith Whitwell [Sat, 19 Apr 2008 16:27:52 +0000 (17:27 +0100)]
draw: move incoming vertex state into draw->pt

This state is effectively private to the vertex processing part
of the draw module.

16 years agodraw: make draw_reset_vertex_ids private to the draw_pipe_* code
Keith Whitwell [Sat, 19 Apr 2008 16:16:41 +0000 (17:16 +0100)]
draw: make draw_reset_vertex_ids private to the draw_pipe_* code

16 years agodraw: make room for extra_vs_outputs
Keith Whitwell [Sat, 19 Apr 2008 16:16:23 +0000 (17:16 +0100)]
draw: make room for extra_vs_outputs

16 years agodraw: put pipeline flushing behind a new interface
Keith Whitwell [Sat, 19 Apr 2008 15:43:15 +0000 (16:43 +0100)]
draw: put pipeline flushing behind a new interface

16 years agodraw: move pt_pipeline code to draw_pipe.c
Keith Whitwell [Sat, 19 Apr 2008 15:39:24 +0000 (16:39 +0100)]
draw: move pt_pipeline code to draw_pipe.c

This is now the drawing interface to the pipeline.  No more
calling into pipeline.first->tri(), etc.

16 years agodraw: always emit header in draw_pt_fetch.c
Keith Whitwell [Sat, 19 Apr 2008 14:35:22 +0000 (15:35 +0100)]
draw: always emit header in draw_pt_fetch.c

16 years agodraw: move some pipeline-specific code & state to draw_pipe.[ch]
Keith Whitwell [Sat, 19 Apr 2008 14:29:27 +0000 (15:29 +0100)]
draw: move some pipeline-specific code & state to draw_pipe.[ch]

16 years agodraw: remove dead file pipe_wide_prims.c
Keith Whitwell [Sat, 19 Apr 2008 12:30:19 +0000 (13:30 +0100)]
draw: remove dead file pipe_wide_prims.c

16 years agodraw: remove named clipmask flags, tidy up pt middle ends
Keith Whitwell [Sat, 19 Apr 2008 12:20:26 +0000 (13:20 +0100)]
draw: remove named clipmask flags, tidy up pt middle ends

16 years agodraw: remove dead code
Keith Whitwell [Sat, 19 Apr 2008 12:12:07 +0000 (13:12 +0100)]
draw: remove dead code

16 years agodraw: rename pipeline files to draw_pipe_*
Keith Whitwell [Fri, 18 Apr 2008 23:45:05 +0000 (00:45 +0100)]
draw: rename pipeline files to draw_pipe_*

16 years agocell: don't need to trim prims
Keith Whitwell [Fri, 18 Apr 2008 23:44:09 +0000 (00:44 +0100)]
cell: don't need to trim prims

16 years agosoftpipe: don't need to trim prims
Keith Whitwell [Fri, 18 Apr 2008 23:43:58 +0000 (00:43 +0100)]
softpipe: don't need to trim prims

16 years agodraw: sort makefile sources
Keith Whitwell [Fri, 18 Apr 2008 23:39:38 +0000 (00:39 +0100)]
draw: sort makefile sources

16 years agodraw: rename draw_vertex_shader.c -> draw_vs.c
Keith Whitwell [Fri, 18 Apr 2008 23:37:51 +0000 (00:37 +0100)]
draw: rename draw_vertex_shader.c -> draw_vs.c

16 years agodraw: remove draw_debug.c
Keith Whitwell [Fri, 18 Apr 2008 23:36:35 +0000 (00:36 +0100)]
draw: remove draw_debug.c

16 years agodraw: make draw_pt_fetch_emit use translate facility
Keith Whitwell [Fri, 18 Apr 2008 23:31:06 +0000 (00:31 +0100)]
draw: make draw_pt_fetch_emit use translate facility

16 years agodraw: remove more dead data structures
Keith Whitwell [Fri, 18 Apr 2008 23:29:25 +0000 (00:29 +0100)]
draw: remove more dead data structures

16 years agodraw: remove dead data structures
Keith Whitwell [Fri, 18 Apr 2008 23:27:12 +0000 (00:27 +0100)]
draw: remove dead data structures

16 years agodraw: remove draw_vertex_fetch.c
Keith Whitwell [Fri, 18 Apr 2008 19:46:06 +0000 (20:46 +0100)]
draw: remove draw_vertex_fetch.c

16 years agodraw: remove old draw_vertex_shader_queue_flush function
Keith Whitwell [Fri, 18 Apr 2008 19:44:13 +0000 (20:44 +0100)]
draw: remove old draw_vertex_shader_queue_flush function

16 years agodraw: remove old vertex_shader->run() functions
Keith Whitwell [Fri, 18 Apr 2008 19:41:39 +0000 (20:41 +0100)]
draw: remove old vertex_shader->run() functions

16 years agodraw: remove draw_vertex_cache.c
Keith Whitwell [Fri, 18 Apr 2008 19:39:13 +0000 (20:39 +0100)]
draw: remove draw_vertex_cache.c

16 years agodraw: remove draw_prim.c
Keith Whitwell [Fri, 18 Apr 2008 19:36:38 +0000 (20:36 +0100)]
draw: remove draw_prim.c

16 years agodraw: switch over to draw_pt paths, will remove old code shortly
Keith Whitwell [Fri, 18 Apr 2008 19:11:16 +0000 (20:11 +0100)]
draw: switch over to draw_pt paths, will remove old code shortly

16 years agodraw: remove draw_vf code, use translate instead
Keith Whitwell [Fri, 18 Apr 2008 19:05:36 +0000 (20:05 +0100)]
draw: remove draw_vf code, use translate instead

16 years agotranslate: missing file
Keith Whitwell [Fri, 18 Apr 2008 17:51:43 +0000 (18:51 +0100)]
translate: missing file

16 years agogallium: get rid of unnecessary surface mapping
Brian Paul [Fri, 18 Apr 2008 17:33:42 +0000 (11:33 -0600)]
gallium: get rid of unnecessary surface mapping

16 years agogallium: a few comments
Brian Paul [Fri, 18 Apr 2008 17:15:53 +0000 (11:15 -0600)]
gallium: a few comments

16 years agogallium: implement recip sqrt() with C code for now.
Brian Paul [Fri, 18 Apr 2008 17:15:18 +0000 (11:15 -0600)]
gallium: implement recip sqrt() with C code for now.

Some conformance lighting tests fail with the SSE rsqrt instruction.

16 years agodraw: remove fetch_pipeline middle end -- just use the general path
Keith Whitwell [Fri, 18 Apr 2008 17:42:41 +0000 (18:42 +0100)]
draw: remove fetch_pipeline middle end -- just use the general path

16 years agotranslate: add sse version based on old draw_vf_sse.c
Keith Whitwell [Fri, 18 Apr 2008 17:31:45 +0000 (18:31 +0100)]
translate: add sse version based on old draw_vf_sse.c

16 years agortasm: add x86_imul
Keith Whitwell [Fri, 18 Apr 2008 17:30:41 +0000 (18:30 +0100)]
rtasm: add x86_imul

16 years agotgsi: add const qualifier to tokens on sse emit
Keith Whitwell [Fri, 18 Apr 2008 16:35:32 +0000 (17:35 +0100)]
tgsi: add const qualifier to tokens on sse emit

16 years agosoftpipe: fix const-related compiler warnings
Keith Whitwell [Fri, 18 Apr 2008 16:34:55 +0000 (17:34 +0100)]
softpipe: fix const-related compiler warnings

16 years agogallium: reorder libs so that translate can see rtasm
Keith Whitwell [Fri, 18 Apr 2008 16:33:49 +0000 (17:33 +0100)]
gallium: reorder libs so that translate can see rtasm

16 years agortasm: add a couple more insns, clean up x86_mul
Keith Whitwell [Fri, 18 Apr 2008 16:32:39 +0000 (17:32 +0100)]
rtasm: add a couple more insns, clean up x86_mul

16 years agogallium: Always pass colour clear value to driver as A8R8G8B8.
Michel Dänzer [Fri, 18 Apr 2008 12:38:06 +0000 (13:38 +0100)]
gallium: Always pass colour clear value to driver as A8R8G8B8.

16 years agogallium: Add missing files to scons.
José Fonseca [Fri, 18 Apr 2008 11:59:28 +0000 (20:59 +0900)]
gallium: Add missing files to scons.

16 years agodraw: split off all the extra functionality in the vertex shader
Keith Whitwell [Thu, 17 Apr 2008 22:44:32 +0000 (23:44 +0100)]
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.

16 years agogallium: tweak x/ybias values
Brian Paul [Thu, 17 Apr 2008 21:26:37 +0000 (15:26 -0600)]
gallium: tweak x/ybias values

16 years agogallium: add missing pipe_surface_unmap() call
Brian Paul [Thu, 17 Apr 2008 19:21:26 +0000 (13:21 -0600)]
gallium: add missing pipe_surface_unmap() call

16 years agogallium: plug in a select_destroy() function (fixes segfault on exit)
Brian Paul [Thu, 17 Apr 2008 17:31:14 +0000 (11:31 -0600)]
gallium: plug in a select_destroy() function (fixes segfault on exit)

16 years agogallium: assert that we're not deleting the currently bound shader
Brian Paul [Thu, 17 Apr 2008 17:13:05 +0000 (11:13 -0600)]
gallium: assert that we're not deleting the currently bound shader

16 years agogallium: reorder some of the destroy context code
Brian Paul [Thu, 17 Apr 2008 17:12:44 +0000 (11:12 -0600)]
gallium: reorder some of the destroy context code

16 years agogallium: Add new file to scons build.
Michel Dänzer [Thu, 17 Apr 2008 16:53:33 +0000 (17:53 +0100)]
gallium: Add new file to scons build.

16 years agodraw: move hw vertex emit to a new module
Keith Whitwell [Thu, 17 Apr 2008 13:43:40 +0000 (14:43 +0100)]
draw: move hw vertex emit to a new module