mesa.git
16 years agocell: use pipe_texture_reference()
Brian [Wed, 20 Feb 2008 22:13:33 +0000 (15:13 -0700)]
cell: use pipe_texture_reference()

16 years agogallium: replace some ordinary assignments with pipe_reference_texture()
Brian [Wed, 20 Feb 2008 22:09:27 +0000 (15:09 -0700)]
gallium: replace some ordinary assignments with pipe_reference_texture()

This fixes at least one instance of dereferencing an invalid texture pointer.

16 years agogallium: fix bad ptr comparison
Brian [Wed, 20 Feb 2008 21:44:15 +0000 (14:44 -0700)]
gallium: fix bad ptr comparison

16 years agocell: rename cell_state_fs.c -> cell_state_shader.c
Brian [Wed, 20 Feb 2008 21:32:43 +0000 (14:32 -0700)]
cell: rename cell_state_fs.c -> cell_state_shader.c

16 years agocell: init shader-related functions in cell_init_shader_functions()
Brian [Wed, 20 Feb 2008 21:30:50 +0000 (14:30 -0700)]
cell: init shader-related functions in cell_init_shader_functions()

16 years agocell: #includes to silence warnings
Brian [Wed, 20 Feb 2008 21:27:08 +0000 (14:27 -0700)]
cell: #includes to silence warnings

16 years agocell: plug in cell_set_sampler_texture
Brian [Wed, 20 Feb 2008 21:25:07 +0000 (14:25 -0700)]
cell: plug in cell_set_sampler_texture

16 years agoRemove obsolete files replaced by cell_pipe_state.c
Brian [Wed, 20 Feb 2008 21:24:46 +0000 (14:24 -0700)]
Remove obsolete files replaced by cell_pipe_state.c

16 years agocell: put most simple state-setter functions in new cell_pipe_state.c file
Brian [Wed, 20 Feb 2008 21:21:45 +0000 (14:21 -0700)]
cell: put most simple state-setter functions in new cell_pipe_state.c file

Also, re-org of texture/surface functions.

16 years agogallium: re-org of i965 texture/surface code, functions
Brian [Wed, 20 Feb 2008 21:04:05 +0000 (14:04 -0700)]
gallium: re-org of i965 texture/surface code, functions

16 years agogallium: minor re-org of 915 surface/texture code
Brian [Wed, 20 Feb 2008 21:00:42 +0000 (14:00 -0700)]
gallium: minor re-org of 915 surface/texture code

16 years agogallium: new pipe->texture_update() function
Brian [Wed, 20 Feb 2008 20:24:52 +0000 (13:24 -0700)]
gallium: new pipe->texture_update() function

Called whenever texture data is changed (glTexImage, glTexSubImage,
glCopyTexSubImage, etc).

16 years agogallium: mark texture object data dirty in do_copy_texsubimage()
Brian [Wed, 20 Feb 2008 20:12:36 +0000 (13:12 -0700)]
gallium: mark texture object data dirty in do_copy_texsubimage()

16 years agogallium: re-enable GenerateMipmap calls
Brian [Wed, 20 Feb 2008 20:11:51 +0000 (13:11 -0700)]
gallium: re-enable GenerateMipmap calls

16 years agoTest calling glTexSubImage2D mid-way through a frame.
Brian [Wed, 20 Feb 2008 18:58:33 +0000 (11:58 -0700)]
Test calling glTexSubImage2D mid-way through a frame.

16 years agogallium: state tracker didn't always notify drivers of texobj data changes
Brian [Wed, 20 Feb 2008 18:20:25 +0000 (11:20 -0700)]
gallium: state tracker didn't always notify drivers of texobj data changes

Calling glTexSubImage() or glTexImage() to replace texture data didn't
reliably cause pipe->set_sampler_texture() to get called so drivers didn't
always get notified of new texture data.
The st_texture_object->pt pointer doesn't always indicate changed data so
added a dirtyData field.

16 years agogallium: use pipe_texture_reference() in sp_tile_cache_set_texture()
Brian [Wed, 20 Feb 2008 18:15:59 +0000 (11:15 -0700)]
gallium: use pipe_texture_reference() in sp_tile_cache_set_texture()

16 years agogallium: general clean-up of xlib winsys Makefile
Brian [Tue, 19 Feb 2008 23:51:19 +0000 (16:51 -0700)]
gallium: general clean-up of xlib winsys Makefile

16 years agogallium: initialize the killmask register to zero before running shader
Brian [Tue, 19 Feb 2008 23:28:25 +0000 (16:28 -0700)]
gallium: initialize the killmask register to zero before running shader

This fixes mysterious missing fragments when running with SSE.

16 years agogallium: add some casts to prevent likely msvc warnings
Brian [Tue, 19 Feb 2008 21:58:23 +0000 (14:58 -0700)]
gallium: add some casts to prevent likely msvc warnings

16 years agogallium: don't hard-code attrib slot=0 in setup_fragcoord_coeff()
Brian [Tue, 19 Feb 2008 21:56:01 +0000 (14:56 -0700)]
gallium: don't hard-code attrib slot=0 in setup_fragcoord_coeff()

16 years agogallium: implement correct sampling for RECT targets / unnormalized texcoords
Brian [Tue, 19 Feb 2008 21:55:18 +0000 (14:55 -0700)]
gallium: implement correct sampling for RECT targets / unnormalized texcoords

16 years agogallium: updated cell build
Brian [Tue, 19 Feb 2008 18:14:54 +0000 (11:14 -0700)]
gallium: updated cell build

Building on Ian's Cell build fix.
Put libcell.a in the gallium/drivers/cell/ directory.
General Makefile clean-up, simplification, updated comments.

16 years agoCell: Add missing "gallium/winsys" to SRC_DIRS to fix build.
Ian Romanick [Tue, 19 Feb 2008 17:43:47 +0000 (09:43 -0800)]
Cell: Add missing "gallium/winsys" to SRC_DIRS to fix build.

16 years agoCell: emit vertex shaders and uniforms more intelligently
Ian Romanick [Tue, 19 Feb 2008 02:55:39 +0000 (18:55 -0800)]
Cell: emit vertex shaders and uniforms more intelligently

16 years agoCell: trivial clean-ups
Ian Romanick [Tue, 19 Feb 2008 02:51:57 +0000 (18:51 -0800)]
Cell: trivial clean-ups

16 years agoFix windows build.
José Fonseca [Tue, 19 Feb 2008 09:57:25 +0000 (18:57 +0900)]
Fix windows build.

16 years agoPortability fixes.
José Fonseca [Tue, 19 Feb 2008 09:56:55 +0000 (18:56 +0900)]
Portability fixes.

Eliminate C99/C++ constructs.

(We should actually disable gcc C99 syntax options if we are serious about
portability.)

16 years agoWindows (DDK) compilation support.
José Fonseca [Tue, 19 Feb 2008 09:53:16 +0000 (18:53 +0900)]
Windows (DDK) compilation support.

It also works when cross compiling with Wine.

16 years agoRemove src/mesa and src/mesa/main from gallium source include paths.
José Fonseca [Tue, 19 Feb 2008 06:07:53 +0000 (15:07 +0900)]
Remove src/mesa and src/mesa/main from gallium source include paths.

16 years agoBring in ppc spe rtasm into gallium's rtasm module.
José Fonseca [Tue, 19 Feb 2008 05:00:16 +0000 (14:00 +0900)]
Bring in ppc spe rtasm into gallium's rtasm module.

Moving files since these are not being used outside gallium.

16 years agoAdd run-time cpu capabilities detection stubs.
José Fonseca [Tue, 19 Feb 2008 04:41:38 +0000 (13:41 +0900)]
Add run-time cpu capabilities detection stubs.

16 years agoSimplify makefile boilerplate code.
José Fonseca [Tue, 19 Feb 2008 04:27:13 +0000 (13:27 +0900)]
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.

16 years agoUse gallium's rtasm module.
José Fonseca [Tue, 19 Feb 2008 03:52:28 +0000 (12:52 +0900)]
Use gallium's rtasm module.

16 years agoMove mm.c code into util module.
José Fonseca [Tue, 19 Feb 2008 03:24:42 +0000 (12:24 +0900)]
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.

16 years agoAdd copyright headers to all rtasm source files.
José Fonseca [Tue, 19 Feb 2008 03:05:32 +0000 (12:05 +0900)]
Add copyright headers to all rtasm source files.

16 years agoRename rtasm files.
José Fonseca [Tue, 19 Feb 2008 03:00:48 +0000 (12:00 +0900)]
Rename rtasm files.

16 years agoBring rtasm from mesa to gallium.
José Fonseca [Tue, 19 Feb 2008 02:49:48 +0000 (11:49 +0900)]
Bring rtasm from mesa to gallium.

16 years agoInitial scons support to build gallivm.
José Fonseca [Tue, 19 Feb 2008 01:50:39 +0000 (10:50 +0900)]
Initial scons support to build gallivm.

Not yet complete.

16 years agoMore llvm -> gallivm.
José Fonseca [Mon, 18 Feb 2008 14:35:19 +0000 (14:35 +0000)]
More llvm -> gallivm.

Forgot this one on the last commit.

16 years agogallium: move draw_set_viewport_state() call, plus code clean-up, remove obsolete...
Brian [Tue, 19 Feb 2008 01:39:55 +0000 (18:39 -0700)]
gallium: move draw_set_viewport_state() call, plus code clean-up, remove obsolete comments

16 years agogallium: call draw_flush() for scissor/stipple state changes
Brian [Tue, 19 Feb 2008 01:36:20 +0000 (18:36 -0700)]
gallium: call draw_flush() for scissor/stipple state changes

16 years agogallium: remove the prototype/unused wide_line_aa() function
Brian [Mon, 18 Feb 2008 23:50:07 +0000 (16:50 -0700)]
gallium: remove the prototype/unused wide_line_aa() function

16 years agogallium: antialiased line drawing
Brian [Mon, 18 Feb 2008 23:19:05 +0000 (16:19 -0700)]
gallium: antialiased line drawing

New draw/prim stage: draw_aaline.  When installed, lines are replaced by
textured quads to do antialiasing.  The current user-defined fragment shader
is modified to do a texture fetch and modulate fragment alpha.

16 years agoUpdate for llvm -> gallivm rename.
José Fonseca [Mon, 18 Feb 2008 12:33:34 +0000 (12:33 +0000)]
Update for llvm -> gallivm rename.

16 years agoRename llvm -> gallivm.
José Fonseca [Mon, 18 Feb 2008 11:05:06 +0000 (20:05 +0900)]
Rename llvm -> gallivm.

Following the directory == library name policy simplifies the build system.

16 years agoStandardize on using the pipe/ include prefix.
José Fonseca [Mon, 18 Feb 2008 11:02:42 +0000 (20:02 +0900)]
Standardize on using the pipe/ include prefix.

16 years agoUpdate scons build for new code layout.
José Fonseca [Mon, 18 Feb 2008 10:52:44 +0000 (10:52 +0000)]
Update scons build for new code layout.

16 years agoAdd an "all" target alias for "default" target.
José Fonseca [Mon, 18 Feb 2008 07:47:35 +0000 (16:47 +0900)]
Add an "all" target alias for "default" target.

"all" is more commonly expected, expecially by many IDEs.

16 years agoBuild glx/x11.
José Fonseca [Mon, 18 Feb 2008 06:45:29 +0000 (15:45 +0900)]
Build glx/x11.

16 years agoCleanup depend files.
José Fonseca [Mon, 18 Feb 2008 06:37:52 +0000 (15:37 +0900)]
Cleanup depend files.

16 years agoActually use GALLIUM_DRIVER_DIRS.
José Fonseca [Mon, 18 Feb 2008 06:07:17 +0000 (15:07 +0900)]
Actually use GALLIUM_DRIVER_DIRS.

16 years agoCode reorganization: split gallium and mesa makefiles.
José Fonseca [Mon, 18 Feb 2008 05:25:04 +0000 (14:25 +0900)]
Code reorganization: split gallium and mesa makefiles.

In other words, don't build src/gallium source code from within src/mesa/Makefile.

Also, allow to customize which gallium auxiliary dirs, driver driver, winsys
dirs get built from the config/* files.

16 years agoUpdate doxygen configuration file for new tree layout.
José Fonseca [Mon, 18 Feb 2008 03:07:24 +0000 (12:07 +0900)]
Update doxygen configuration file for new tree layout.

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