mesa.git
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 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 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 agogallium: Fix memory leak.
Michal Krol [Thu, 14 Feb 2008 20:03:12 +0000 (21:03 +0100)]
gallium: Fix memory leak.

16 years agogallium: Fix memory leak.
Michal Krol [Thu, 14 Feb 2008 19:48:40 +0000 (20:48 +0100)]
gallium: Fix memory leak.

16 years agogallium: Use align_free() to free aligned memories.
Michal Krol [Thu, 14 Feb 2008 16:36:47 +0000 (17:36 +0100)]
gallium: Use align_free() to free aligned memories.

16 years agogallium: Fix build on Windows.
Michal Krol [Wed, 13 Feb 2008 16:51:41 +0000 (17:51 +0100)]
gallium: Fix build on Windows.

16 years agogallium: Use MALLOC().
Michal Krol [Thu, 7 Feb 2008 09:26:08 +0000 (10:26 +0100)]
gallium: Use MALLOC().

16 years agogallium: Fix MSVC compiler warnings.
José Fonseca [Tue, 12 Feb 2008 06:35:18 +0000 (15:35 +0900)]
gallium: Fix MSVC compiler warnings.

16 years agogallium: remove some debug assertions in vertex format validation
Brian [Fri, 15 Feb 2008 02:18:09 +0000 (19:18 -0700)]
gallium: remove some debug assertions in vertex format validation

If a fragment shader references an input for which there's no vertex
shader output (ex: texcoord3), use vertex output 0 by default.
Basically, the attribute's value will be undefined.  The shader writer
should never rely on undefined fragment shader inputs anyway.

16 years agogallium: rearrange vertex info/layout validation
Brian [Fri, 15 Feb 2008 01:58:50 +0000 (18:58 -0700)]
gallium: rearrange vertex info/layout validation

Delay validation until someone really needs the vertex layout (vbuf alloc
vertex buffer or point/line/tri setup/rendering).
This will allow the vertex size to change depending on whether we're
drawing points, lines or triangles.

16 years agogallium: include draw_context.h to silence warning
Brian [Fri, 15 Feb 2008 01:53:18 +0000 (18:53 -0700)]
gallium: include draw_context.h to silence warning

16 years agogallium: minor function renaming
Brian [Fri, 15 Feb 2008 01:03:38 +0000 (18:03 -0700)]
gallium: minor function renaming

16 years agogallium: new tgsi_transform_shader() function
Brian [Fri, 15 Feb 2008 01:02:36 +0000 (18:02 -0700)]
gallium: new tgsi_transform_shader() function

Used to apply transformations to TGSI shaders, such as register search and
replace.

16 years agogallium: new pgon-mode.c test
Brian [Thu, 14 Feb 2008 21:54:37 +0000 (14:54 -0700)]
gallium: new pgon-mode.c test

A two-triangle strip is drawn such that the first tri is front-facing and
the second tri is back-facing.  Use different front/back polygon modes.

16 years agogallium: call draw_flush() in softpipe_flush()
Brian [Thu, 14 Feb 2008 21:48:35 +0000 (14:48 -0700)]
gallium: call draw_flush() in softpipe_flush()

Without this, we might not get any rendering at SwapBuffers time when using the vbuf path.

16 years agogallium: fix some "instruction"/"declaration" mix-ups in tgsi_exec_prepare().
Brian [Thu, 14 Feb 2008 21:22:22 +0000 (14:22 -0700)]
gallium: fix some "instruction"/"declaration" mix-ups in tgsi_exec_prepare().

16 years agogallium: replace "interpolate" terminology with "eval" to better reflect what's being...
Brian [Thu, 14 Feb 2008 21:20:51 +0000 (14:20 -0700)]
gallium: replace "interpolate" terminology with "eval" to better reflect what's being done.

16 years agogallium: changes to polygon mode weren't detected in draw_unfilled stage.
Brian [Thu, 14 Feb 2008 21:15:52 +0000 (14:15 -0700)]
gallium: changes to polygon mode weren't detected in draw_unfilled stage.

Need to reset stage->tri = unfilled_first_try in unfilled_flush() so that the
front/back state is picked up.

16 years agogallium: rename draw_free_tmps->draw_free_temp_verts, draw_alloc_tmps->draw_alloc_tem...
Brian [Wed, 13 Feb 2008 17:25:38 +0000 (10:25 -0700)]
gallium: rename draw_free_tmps->draw_free_temp_verts, draw_alloc_tmps->draw_alloc_temp_verts

16 years agogalllium: comments, minor clean-ups
Brian [Wed, 13 Feb 2008 15:20:51 +0000 (08:20 -0700)]
galllium: comments, minor clean-ups

16 years agoMore name typeo fixes.
Ian Romanick [Fri, 15 Feb 2008 01:42:34 +0000 (17:42 -0800)]
More name typeo fixes.

16 years agos/spu_/spe_/g Ugh.
Ian Romanick [Fri, 15 Feb 2008 01:06:13 +0000 (17:06 -0800)]
s/spu_/spe_/g  Ugh.

16 years agoCell: pass pointers to stored memory values
Ian Romanick [Fri, 15 Feb 2008 00:53:05 +0000 (16:53 -0800)]
Cell: pass pointers to stored memory values

Several routines use shuffle patterns that are stored in memory.  For
code gen, it is difficult to directly access the data segments.  The
routines have been modified to be passed a pointer to a global table
of shuffle patterns.

This *should* be the last change to this file before switching over to
code gen.

16 years agoCell: Fix unintended breakage from commit 1d62a057bcb3ee4ef6ebedd93f62ed2e0d8061ba
Ian Romanick [Thu, 14 Feb 2008 19:55:19 +0000 (11:55 -0800)]
Cell: Fix unintended breakage from commit 1d62a057bcb3ee4ef6ebedd93f62ed2e0d8061ba

16 years agoReal-time assembler for Cell SPE.
Ian Romanick [Thu, 14 Feb 2008 18:08:11 +0000 (10:08 -0800)]
Real-time assembler for Cell SPE.

16 years agoFetch routines convert and transpose all 4 vertices at once.
Ian Romanick [Tue, 12 Feb 2008 19:29:34 +0000 (11:29 -0800)]
Fetch routines convert and transpose all 4 vertices at once.

16 years agoRemove open-coded fetch functions
Ian Romanick [Tue, 12 Feb 2008 19:18:53 +0000 (11:18 -0800)]
Remove open-coded fetch functions

16 years agoInitial pass at vertex cache, more vertex fetch changes
Ian Romanick [Tue, 12 Feb 2008 19:16:38 +0000 (11:16 -0800)]
Initial pass at vertex cache, more vertex fetch changes

This is just another step towards dynamic generate of vertex fetch code.

16 years agoVectorize a couple fetch functions
Ian Romanick [Mon, 11 Feb 2008 23:27:13 +0000 (15:27 -0800)]
Vectorize a couple fetch functions

These C-coded vectorized functions are expected to be short lived.
They're basically a proof-of-concept for dynamically generated fetch
routines.

16 years agointel_winsys: Call st_notify_swapbuffers_complete() after buffer swap.
Michel Dänzer [Thu, 14 Feb 2008 17:42:52 +0000 (17:42 +0000)]
intel_winsys: Call st_notify_swapbuffers_complete() after buffer swap.

16 years agogallium: Cleanups related to clears.
Keith Whitwell [Thu, 14 Feb 2008 16:53:51 +0000 (16:53 +0000)]
gallium: Cleanups related to clears.

16 years agogallium: Minor cleanups to bitfield sizes, etc.
Keith Whitwell [Thu, 14 Feb 2008 13:36:21 +0000 (13:36 +0000)]
gallium: Minor cleanups to bitfield sizes, etc.

16 years agotgsi: partially unbreak sse fragment shaders. more to do.
Keith Whitwell [Thu, 14 Feb 2008 12:14:46 +0000 (12:14 +0000)]
tgsi: partially unbreak sse fragment shaders.  more to do.

16 years agox86: fix assignment in assert typo
Keith Whitwell [Wed, 13 Feb 2008 18:29:29 +0000 (18:29 +0000)]
x86: fix assignment in assert typo

16 years agomake swizzling on incoming arguments work
Zack Rusin [Wed, 13 Feb 2008 14:26:56 +0000 (09:26 -0500)]
make swizzling on incoming arguments work

16 years agoget rid of the terrible auto-generated entry point
Zack Rusin [Wed, 13 Feb 2008 13:46:05 +0000 (08:46 -0500)]
get rid of the terrible auto-generated entry point

it's not used anymore.

16 years agoimplement immediates and make them work
Zack Rusin [Wed, 13 Feb 2008 13:31:13 +0000 (08:31 -0500)]
implement immediates and make them work

16 years agotry to load the consts correctly
Zack Rusin [Wed, 13 Feb 2008 12:28:26 +0000 (07:28 -0500)]
try to load the consts correctly

16 years agox86: remove debug
Keith Whitwell [Wed, 13 Feb 2008 12:37:42 +0000 (12:37 +0000)]
x86: remove debug

16 years agox86: emit absolute calls, as reallocating exec mem breaks relative ones
Keith Whitwell [Wed, 13 Feb 2008 12:35:16 +0000 (12:35 +0000)]
x86: emit absolute calls, as reallocating exec mem breaks relative ones

16 years agotgsi: fail gracefully when sse code can't emit shader
Keith Whitwell [Wed, 13 Feb 2008 11:39:34 +0000 (11:39 +0000)]
tgsi: fail gracefully when sse code can't emit shader

16 years agox86: reallocate exec mem when we run out
Keith Whitwell [Wed, 13 Feb 2008 11:35:54 +0000 (11:35 +0000)]
x86: reallocate exec mem when we run out

16 years agotgsi: include more of the register info in debug dumps
Keith Whitwell [Wed, 13 Feb 2008 10:02:59 +0000 (10:02 +0000)]
tgsi: include more of the register info in debug dumps

16 years agogallium: pipe->surface_copy can flip the contents vertically when necessary.
Michel Dänzer [Wed, 13 Feb 2008 11:39:58 +0000 (11:39 +0000)]
gallium: pipe->surface_copy can flip the contents vertically when necessary.

Fixes gears being upside down on the box in demos/gearbox.

16 years agohandle temporaries in llvm code generated paths
Zack Rusin [Wed, 13 Feb 2008 09:38:10 +0000 (04:38 -0500)]
handle temporaries in llvm code generated paths

16 years agoimplement add
Zack Rusin [Wed, 13 Feb 2008 09:37:40 +0000 (04:37 -0500)]
implement add

16 years agoimplement mul
Zack Rusin [Wed, 13 Feb 2008 08:18:37 +0000 (03:18 -0500)]
implement mul

16 years agoget mov working
Zack Rusin [Wed, 13 Feb 2008 05:48:08 +0000 (00:48 -0500)]
get mov working

16 years agofix fetching input elements and generate a ret on end
Zack Rusin [Wed, 13 Feb 2008 05:36:31 +0000 (00:36 -0500)]
fix fetching input elements and generate a ret on end

16 years agoadd functiontype for the llvm native vs entry point
Zack Rusin [Wed, 13 Feb 2008 05:21:24 +0000 (00:21 -0500)]
add functiontype for the llvm native vs entry point

16 years agodisable llvm code in fs
Zack Rusin [Wed, 13 Feb 2008 05:21:03 +0000 (00:21 -0500)]
disable llvm code in fs

16 years agostop generate llvm entry points
Zack Rusin [Wed, 13 Feb 2008 04:08:42 +0000 (23:08 -0500)]
stop generate llvm entry points

entrypoints are useless because we use the same paths as all other
code. also simplify llvm swizzling code

16 years agollvm ir code to fetch the elements
Zack Rusin [Tue, 12 Feb 2008 10:35:51 +0000 (05:35 -0500)]
llvm ir code to fetch the elements

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 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