mesa.git
16 years agonv40: and vertprog..
Ben Skeggs [Mon, 18 Feb 2008 06:36:24 +0000 (17:36 +1100)]
nv40: and vertprog..

16 years agonv40: get fragprog onto new state mechanism
Ben Skeggs [Mon, 18 Feb 2008 06:07:59 +0000 (17:07 +1100)]
nv40: get fragprog onto new state mechanism

16 years agonv40: move some things around
Ben Skeggs [Mon, 18 Feb 2008 05:38:27 +0000 (16:38 +1100)]
nv40: move some things around

16 years agonv40: until gallium is fixed we'll need a fallback for user clip planes
Ben Skeggs [Mon, 18 Feb 2008 05:26:33 +0000 (16:26 +1100)]
nv40: until gallium is fixed we'll need a fallback for user clip planes

16 years agonouveau: header update
Ben Skeggs [Mon, 18 Feb 2008 04:31:55 +0000 (15:31 +1100)]
nouveau: header update

16 years agonv40: obey polygon offset state
Ben Skeggs [Mon, 18 Feb 2008 04:17:39 +0000 (15:17 +1100)]
nv40: obey polygon offset state

Almost sure this isn't entirely correct.  However, I'm not sure what
gallium expects yet, and this fixes some bugs, so it'll do for now.

16 years agonv40: similar changes to polygon stipple as were done for scissor
Ben Skeggs [Mon, 18 Feb 2008 03:12:58 +0000 (14:12 +1100)]
nv40: similar changes to polygon stipple as were done for scissor

16 years agonv40: ensure scissor gets disabled where necessary
Ben Skeggs [Sat, 16 Feb 2008 10:27:53 +0000 (21:27 +1100)]
nv40: ensure scissor gets disabled where necessary

Fixes progs/demos/lodbias.

Makes a complete mess of things, but now there's a motivation to finish
this off :)

16 years agoMerge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
Ben Skeggs [Mon, 18 Feb 2008 01:45:56 +0000 (12:45 +1100)]
Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1

16 years agofix the build
Zack Rusin [Sun, 17 Feb 2008 14:42:26 +0000 (09:42 -0500)]
fix the build

16 years agogallium: add missing mip level clamp
Brian [Sat, 16 Feb 2008 20:55:47 +0000 (13:55 -0700)]
gallium: add missing mip level clamp

16 years agogallium: tweak texture filter min/mag thresholds
Brian [Sat, 16 Feb 2008 20:50:31 +0000 (13:50 -0700)]
gallium: tweak texture filter min/mag thresholds

16 years agogallium: implement min vs. mag filter determination for non-mipmapped textures
Brian [Sat, 16 Feb 2008 17:05:01 +0000 (10:05 -0700)]
gallium: implement min vs. mag filter determination for non-mipmapped textures

Fixes tests/minmag.c

16 years agoAdded minmag.c test
Brian [Sat, 16 Feb 2008 16:38:34 +0000 (09:38 -0700)]
Added minmag.c test

Test that different minification and magnification filters are chosen for the
non-mipmapped texture case.

16 years agonouveau: fix potential userbuf crash.
Ben Skeggs [Sat, 16 Feb 2008 06:51:44 +0000 (17:51 +1100)]
nouveau: fix potential userbuf crash.

16 years agonouveau: match gallium code reorginisation.
Ben Skeggs [Sat, 16 Feb 2008 06:23:12 +0000 (17:23 +1100)]
nouveau: match gallium code reorginisation.

That was... fun..

16 years agoMerge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1
Ben Skeggs [Sat, 16 Feb 2008 05:30:22 +0000 (16:30 +1100)]
Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1

Conflicts:

configs/linux-dri
src/mesa/pipe/Makefile

16 years agoMerge branch 'nouveau-gallium-0.1' into darktama-gallium-0.1
Ben Skeggs [Sat, 16 Feb 2008 05:20:40 +0000 (16:20 +1100)]
Merge branch 'nouveau-gallium-0.1' into darktama-gallium-0.1

Conflicts:

src/mesa/pipe/nouveau/nouveau_stateobj.h
src/mesa/pipe/nv40/nv40_context.c
src/mesa/pipe/nv40/nv40_miptree.c

16 years agonv30: fixes.
Stephane Marchesin [Sat, 16 Feb 2008 02:04:28 +0000 (03:04 +0100)]
nv30: fixes.

16 years agonv30: fixes.
Stephane Marchesin [Sat, 16 Feb 2008 01:54:11 +0000 (02:54 +0100)]
nv30: fixes.

16 years agoCell: Enable code gen for SPE attribute fetch
Ian Romanick [Fri, 15 Feb 2008 19:03:54 +0000 (11:03 -0800)]
Cell: Enable code gen for SPE attribute fetch

Doubles are still unsupported.

16 years agoCell: Add missing back-slash in linux-cell config file
Ian Romanick [Fri, 15 Feb 2008 18:36:48 +0000 (10:36 -0800)]
Cell: Add missing back-slash in linux-cell config file

16 years agoCell: Add INCLUDE_DIRS to SPU_CFLAGS to fix build.
Ian Romanick [Fri, 15 Feb 2008 18:33:12 +0000 (10:33 -0800)]
Cell: Add INCLUDE_DIRS to SPU_CFLAGS to fix build.

16 years agoMake this file build on non-SSE builds (e.g., Cell)
Ian Romanick [Fri, 15 Feb 2008 18:00:31 +0000 (10:00 -0800)]
Make this file build on non-SSE builds (e.g., Cell)

16 years agoMove cell_vertex_fetch.c for recent code reorg.
Ian Romanick [Fri, 15 Feb 2008 17:43:13 +0000 (09:43 -0800)]
Move cell_vertex_fetch.c for recent code reorg.

16 years agoInitial version of code gen for attribute fetch
Ian Romanick [Fri, 15 Feb 2008 02:30:48 +0000 (18:30 -0800)]
Initial version of code gen for attribute fetch

16 years agoCorrect the convert to and from float instructions
Ian Romanick [Fri, 15 Feb 2008 02:29:51 +0000 (18:29 -0800)]
Correct the convert to and from float instructions

16 years agonv40: over-zealous s/
Ben Skeggs [Fri, 15 Feb 2008 15:42:06 +0000 (02:42 +1100)]
nv40: over-zealous s/

16 years agonv40: fix non-debug builds + start on obeying portability guidelines.
Ben Skeggs [Fri, 15 Feb 2008 15:30:56 +0000 (02:30 +1100)]
nv40: fix non-debug builds + start on obeying portability guidelines.

16 years agotgsi: pass through failure to sse-codegenerate for fragment programs too.
Keith Whitwell [Fri, 15 Feb 2008 13:39:24 +0000 (13:39 +0000)]
tgsi:  pass through failure to sse-codegenerate for fragment programs too.

In particular, will fallback to interpreted execution for shaders with
TEX instructions.

16 years agodraw: subclass vertex shaders according to execution method
Keith Whitwell [Fri, 15 Feb 2008 13:37:01 +0000 (13:37 +0000)]
draw: subclass vertex shaders according to execution method

Create new files for shaders compiled/executed with llvm, sse, exec
respectively

16 years agosoftpipe: rename some functions to disambiguate
Keith Whitwell [Fri, 15 Feb 2008 13:35:46 +0000 (13:35 +0000)]
softpipe: rename some functions to disambiguate

16 years agoMerge commit 'origin/gallium-0.1' into gallium-0.1
Keith Whitwell [Fri, 15 Feb 2008 11:18:04 +0000 (11:18 +0000)]
Merge commit 'origin/gallium-0.1' into gallium-0.1

16 years agoMerge commit 'origin/gallium-0.1' into gallium-0.1
Keith Whitwell [Fri, 15 Feb 2008 11:15:47 +0000 (11:15 +0000)]
Merge commit 'origin/gallium-0.1' into gallium-0.1

Conflicts:

src/gallium/drivers/softpipe/sp_quad_fs.c
src/gallium/drivers/softpipe/sp_state.h
src/gallium/drivers/softpipe/sp_state_fs.c

16 years agoCode reorganization: s/aux/auxiliary/ -- update build.
José Fonseca [Fri, 15 Feb 2008 11:11:40 +0000 (20:11 +0900)]
Code reorganization: s/aux/auxiliary/ -- update build.

16 years agoCode reorganization: s/aux/auxiliary/.
José Fonseca [Fri, 15 Feb 2008 11:07:18 +0000 (20:07 +0900)]
Code reorganization: s/aux/auxiliary/.

"aux" is a reserved name on Windows (X_X)

16 years agogallium: reorganize fragment shader execution, unbreak sse
Keith Whitwell [Fri, 15 Feb 2008 09:31:22 +0000 (09:31 +0000)]
gallium: reorganize fragment shader execution, unbreak sse

This is probably going to get further reworked in the near future.

Right now there's a new interface wrapped around each shader execution
mode - exec, sse2, llvm.  The llvm code was disabled already and has
just been moved as-is to a new file, whereas the sse2 and exec code is
actually enabled.

The way the interfaces has turned out suggests to me that the correct
approach is to actually have each shader include a pointer to a quad stage
which will do a better job of encapsulating the execution environment than
what I have here -- that's a second step however.

16 years agotgsi: disable dummy sse2 texture code
Keith Whitwell [Fri, 15 Feb 2008 08:56:04 +0000 (08:56 +0000)]
tgsi: disable dummy sse2 texture code

16 years agoCode reorganization: placeholder for state-trackers.
José Fonseca [Fri, 15 Feb 2008 08:52:14 +0000 (17:52 +0900)]
Code reorganization: placeholder for state-trackers.

This is meant for temporarily holding state-trackers,
until they eventually find their way out of gallium tree.

16 years agoCode reorganization: update build.
José Fonseca [Fri, 15 Feb 2008 08:50:12 +0000 (17:50 +0900)]
Code reorganization: update build.

Update the Makefiles and includes for the new paths.

Note that there hasn't been no separation of the Makefiles yet, and make is
jumping all over the place. That will be taken care shortly. But for now, make
should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm
might require some minor tweaks.

16 years agoCode reorganization: move files into their places.
José Fonseca [Fri, 15 Feb 2008 08:35:24 +0000 (17:35 +0900)]
Code reorganization: move files into their places.

This is in a separate commit to ensure renames are properly preserved.

16 years agovastly simplify indexing
Zack Rusin [Fri, 15 Feb 2008 05:36:18 +0000 (00:36 -0500)]
vastly simplify indexing

16 years agoredo indirection
Zack Rusin [Fri, 15 Feb 2008 04:50:39 +0000 (23:50 -0500)]
redo indirection

make all load's respect indirection

16 years agoredo the way immediates are handled
Zack Rusin [Fri, 15 Feb 2008 03:42:57 +0000 (22:42 -0500)]
redo the way immediates are handled
implement madd
start implementing arl

16 years agorename 'argument' to 'load' because that's what it does
Zack Rusin [Thu, 14 Feb 2008 08:08:48 +0000 (03:08 -0500)]
rename 'argument' to 'load' because that's what it does

16 years agoimplement swizzling on writes
Zack Rusin [Thu, 14 Feb 2008 03:53:00 +0000 (22:53 -0500)]
implement swizzling on writes

16 years agoa call was missed during the last rename
Zack Rusin [Fri, 15 Feb 2008 06:11:15 +0000 (01:11 -0500)]
a call was missed during the last rename

16 years agonouveau: more nv30 fixes, still doesn't work as well as before.
Stephane Marchesin [Fri, 15 Feb 2008 03:23:46 +0000 (04:23 +0100)]
nouveau: more nv30 fixes, still doesn't work as well as before.

16 years agonouveau: nv30 fixes.
Stephane Marchesin [Fri, 15 Feb 2008 02:48:32 +0000 (03:48 +0100)]
nouveau: nv30 fixes.

16 years agonv30: more interface updates
Ben Skeggs [Fri, 15 Feb 2008 02:55:55 +0000 (13:55 +1100)]
nv30: more interface updates

16 years agonv30: fix build
Ben Skeggs [Fri, 15 Feb 2008 02:54:07 +0000 (13:54 +1100)]
nv30: fix build

16 years agonv40: always copy 4 float immediates for now.
Ben Skeggs [Thu, 14 Feb 2008 13:14:15 +0000 (00:14 +1100)]
nv40: always copy 4 float immediates for now.

16 years agonv40: attempt at obeying sampler min_lod/max_lod/lod_bias
Ben Skeggs [Wed, 13 Feb 2008 08:33:41 +0000 (19:33 +1100)]
nv40: attempt at obeying sampler min_lod/max_lod/lod_bias

16 years agonv40: remove use of pt->first_level
Ben Skeggs [Wed, 13 Feb 2008 03:27:32 +0000 (14:27 +1100)]
nv40: remove use of pt->first_level

16 years agogallium: initial code for wide/AA line drawing
Brian [Wed, 13 Feb 2008 02:14:58 +0000 (19:14 -0700)]
gallium: initial code for wide/AA line drawing

16 years agogallium: fix/finish glReadPixels(GL_DEPTH_COMPONENT).
Brian [Wed, 13 Feb 2008 00:44:57 +0000 (17:44 -0700)]
gallium: fix/finish glReadPixels(GL_DEPTH_COMPONENT).

This fixes demos/reflect ('d' key) and tests/zreaddraw.c

16 years agogallium: clamp min_lod so it's never negative
Brian [Wed, 13 Feb 2008 00:07:27 +0000 (17:07 -0700)]
gallium: clamp min_lod so it's never negative

16 years agoFix broken test.
Brian [Tue, 12 Feb 2008 23:56:18 +0000 (16:56 -0700)]
Fix broken test.

As-is, if the texture was too large for the target, an assertion would fail.
Now check proxy texture first and if it works, then test non-proxy target.

16 years agogallium: remove dead code
Brian [Tue, 12 Feb 2008 23:38:56 +0000 (16:38 -0700)]
gallium: remove dead code

16 years agogallium: added null ptr check
Brian [Tue, 12 Feb 2008 23:37:49 +0000 (16:37 -0700)]
gallium: added null ptr check

16 years agogallium: rename st_fragment_program's fs field to cso to match st_vertex_program
Brian [Tue, 12 Feb 2008 23:10:11 +0000 (16:10 -0700)]
gallium: rename st_fragment_program's fs field to cso to match st_vertex_program

16 years agogallium: move gen-mipmap global/static vars into st_context
Brian [Tue, 12 Feb 2008 23:06:51 +0000 (16:06 -0700)]
gallium: move gen-mipmap global/static vars into st_context

This fixes potential problems with multi-context programs.

16 years agoSet Min/MaxLod with glTexParameterf, not glTexParameteri
Brian [Tue, 12 Feb 2008 22:53:37 +0000 (15:53 -0700)]
Set Min/MaxLod with glTexParameterf, not glTexParameteri

16 years agopress 0,1,2,etc keys for specific bias values
Brian [Mon, 11 Feb 2008 16:46:10 +0000 (09:46 -0700)]
press 0,1,2,etc keys for specific bias values

16 years agotweak incr/decrements amounts for keyboard options
Brian [Tue, 12 Feb 2008 21:59:07 +0000 (14:59 -0700)]
tweak incr/decrements amounts for keyboard options

16 years agogallium: remove unused first_level param from st_texture_create()
Brian [Tue, 12 Feb 2008 21:55:51 +0000 (14:55 -0700)]
gallium: remove unused first_level param from st_texture_create()

16 years agogallium: clean-up, simplification of mipmapped textures
Brian [Tue, 12 Feb 2008 21:53:25 +0000 (14:53 -0700)]
gallium: clean-up, simplification of mipmapped textures

Remove pipe_texture->first_level (always implicitly zero).  This means there's
never any unused mipmap levels at the top.
In the state tracker, we no longer re-layout mipmapped textures if the
MinLod/MaxLod texture parameters change.  It's up to the driver to obey the
pipe_sampler->min/max_lod clamps.

16 years agonv40: fix inline u08/u16 indices
Ben Skeggs [Tue, 12 Feb 2008 04:13:37 +0000 (15:13 +1100)]
nv40: fix inline u08/u16 indices

16 years agogallium: take pitch/stride into account in mipmap generation
Brian [Mon, 11 Feb 2008 17:59:40 +0000 (10:59 -0700)]
gallium: take pitch/stride into account in mipmap generation

16 years agogallium: comments about mipmap gen
Brian [Mon, 11 Feb 2008 16:50:21 +0000 (09:50 -0700)]
gallium: comments about mipmap gen

16 years agocode refactoring, new next_mipmap_level_size() function
Brian [Mon, 11 Feb 2008 16:43:30 +0000 (09:43 -0700)]
code refactoring, new next_mipmap_level_size() function

16 years agogallium: implement software fallback for mipmap generation
Brian [Mon, 11 Feb 2008 16:42:02 +0000 (09:42 -0700)]
gallium: implement software fallback for mipmap generation

This is used when we can't render to the surface type of the texture (such
as luminance/alpha).

16 years agogallium: strip borders from textures passed to st_TexImage.
Brian [Mon, 11 Feb 2008 16:38:36 +0000 (09:38 -0700)]
gallium: strip borders from textures passed to st_TexImage.

Manipulate the unpack params to skip the border.  Gallium drivers won't support
texture borders.

16 years agogallium: use _mesa_tex_target_to_face()
Brian [Mon, 11 Feb 2008 16:35:28 +0000 (09:35 -0700)]
gallium: use _mesa_tex_target_to_face()

16 years agoadded _mesa_tex_target_to_face()
Brian [Mon, 11 Feb 2008 16:33:28 +0000 (09:33 -0700)]
added _mesa_tex_target_to_face()

16 years agogallium: update comment about buffer map flags
Brian [Mon, 11 Feb 2008 15:56:18 +0000 (08:56 -0700)]
gallium: update comment about buffer map flags

16 years agogallium: fix fragment/vertex typo
Brian [Mon, 11 Feb 2008 15:18:43 +0000 (08:18 -0700)]
gallium: fix fragment/vertex typo

16 years agorefactor code, export _mesa_generate_mipmap_level()
Brian [Fri, 8 Feb 2008 23:56:21 +0000 (16:56 -0700)]
refactor code, export _mesa_generate_mipmap_level()

16 years agomove _mesa_format_to_type_and_comps() to texformat.c
Brian [Fri, 8 Feb 2008 23:46:12 +0000 (16:46 -0700)]
move _mesa_format_to_type_and_comps() to texformat.c

16 years agoreorder cases in do_row()
Brian [Fri, 8 Feb 2008 23:42:50 +0000 (16:42 -0700)]
reorder cases in do_row()

16 years agore-indent do_row()
Brian [Fri, 8 Feb 2008 23:40:39 +0000 (16:40 -0700)]
re-indent do_row()

16 years agocheckpoint- consolidation in do_row()
Brian [Fri, 8 Feb 2008 23:38:28 +0000 (16:38 -0700)]
checkpoint- consolidation in do_row()

16 years agocheckpoint- remove dependencies on gl_texture_format to make code re-usable by state...
Brian [Fri, 8 Feb 2008 23:35:44 +0000 (16:35 -0700)]
checkpoint- remove dependencies on gl_texture_format to make code re-usable by state tracker

16 years agoremove seperate llvm vs entry points
Zack Rusin [Mon, 11 Feb 2008 15:47:28 +0000 (10:47 -0500)]
remove seperate llvm vs entry points

they're not necessary anymore. we use the same paths
as sse and tgsi code

16 years agostart genering soa type code in llvm paths
Zack Rusin [Mon, 11 Feb 2008 14:43:59 +0000 (09:43 -0500)]
start genering soa type code in llvm paths

16 years agodisable llvm for fragment shaders for now
Zack Rusin [Wed, 6 Feb 2008 11:12:34 +0000 (06:12 -0500)]
disable llvm for fragment shaders for now

16 years agorewrite the way cpu engine is handled
Zack Rusin [Tue, 5 Feb 2008 08:09:24 +0000 (03:09 -0500)]
rewrite the way cpu engine is handled

16 years agorewrite the way we handle ir in llvm code
Zack Rusin [Mon, 4 Feb 2008 15:07:02 +0000 (10:07 -0500)]
rewrite the way we handle ir in llvm code

introduce intermediate step gallivm_ir before compiling it
down to the final llvm ir.

16 years agoadd a stub of a lowering pass
Zack Rusin [Fri, 25 Jan 2008 11:36:35 +0000 (06:36 -0500)]
add a stub of a lowering pass

16 years agonouveau: memory leak
Ben Skeggs [Sun, 10 Feb 2008 04:19:18 +0000 (15:19 +1100)]
nouveau: memory leak

16 years agonv40: prep for multiple pipe contexts on a single hw channel
Ben Skeggs [Sun, 10 Feb 2008 04:16:50 +0000 (15:16 +1100)]
nv40: prep for multiple pipe contexts on a single hw channel

16 years agonouveau: interface updates
Ben Skeggs [Sat, 9 Feb 2008 05:25:29 +0000 (16:25 +1100)]
nouveau: interface updates

16 years agonv40: delay all state emit until before draw
Ben Skeggs [Sat, 9 Feb 2008 03:08:54 +0000 (14:08 +1100)]
nv40: delay all state emit until before draw

16 years agogallium: include st_cb_drawpixels.h
Brian [Fri, 8 Feb 2008 21:56:38 +0000 (14:56 -0700)]
gallium: include st_cb_drawpixels.h

16 years agofix comment typos
Brian [Fri, 8 Feb 2008 21:55:33 +0000 (14:55 -0700)]
fix comment typos

16 years agogallium: initial implemenation of auto mipmap generation in state tracker
Brian [Fri, 8 Feb 2008 21:54:18 +0000 (14:54 -0700)]
gallium: initial implemenation of auto mipmap generation in state tracker

Use hardware rendering to compute/render mipmap levels.
The fallback path (which will be used for non-renderable texture formats)
isn't working yet.

16 years agogallium: added inClipCoords param to st_draw_vertices() to indicate coord system...
Brian [Fri, 8 Feb 2008 21:51:32 +0000 (14:51 -0700)]
gallium: added inClipCoords param to st_draw_vertices() to indicate coord system of vertices

Also, export st_make_passthrough_vertex_shader() from st_cb_drawpixels.c

16 years agogallium: added draw_flush() call in softpipe_bind_sampler_state()
Brian [Fri, 8 Feb 2008 21:46:47 +0000 (14:46 -0700)]
gallium: added draw_flush() call in softpipe_bind_sampler_state()

16 years agoRemove unused texunit parameter to ctx->Driver.GenerateMipmap()
Brian [Fri, 8 Feb 2008 21:45:58 +0000 (14:45 -0700)]
Remove unused texunit parameter to ctx->Driver.GenerateMipmap()

16 years agointel_winsys: remove leftover code
Jerome Glisse [Fri, 8 Feb 2008 17:47:25 +0000 (18:47 +0100)]
intel_winsys: remove leftover code