mesa.git
16 years agocell: check for NULL shader pointer in cell_bind_vs_state()
Brian [Wed, 12 Mar 2008 02:03:37 +0000 (20:03 -0600)]
cell: check for NULL shader pointer in cell_bind_vs_state()

16 years agogallium: dummy install target
Brian [Wed, 12 Mar 2008 01:02:51 +0000 (19:02 -0600)]
gallium: dummy install target

16 years agogallium: rework CSO-related code in state tracker
Brian [Wed, 12 Mar 2008 00:54:31 +0000 (18:54 -0600)]
gallium: rework CSO-related code in state tracker

Use the code in cso_context.c rather than st_cache.c.
Basically, binding of state objects now goes through the CSO module.
But Vertex/fragment shaders go through pipe->bind_fs/vs_state() since they're
not cached by the CSO module at this time.

Also, update softpipe driver to handle NULL state objects in various places.
This happens during context destruction.  May need to update other drivers...

16 years agogallium: Silence MSVC warnings.
José Fonseca [Tue, 11 Mar 2008 23:51:27 +0000 (23:51 +0000)]
gallium: Silence MSVC warnings.

16 years agogallium: Conditional debugging output.
José Fonseca [Tue, 11 Mar 2008 12:03:11 +0000 (12:03 +0000)]
gallium: Conditional debugging output.

Generalize the conditional debugging output code found trhought the gallium
drivers.

16 years agotgsi: Map OPCODE_TEXKILL to OPCODE_KILP.
Michal Krol [Tue, 11 Mar 2008 22:21:36 +0000 (23:21 +0100)]
tgsi: Map OPCODE_TEXKILL to OPCODE_KILP.

16 years agogallium: fix some cso_state_callback cast warnings
Brian [Tue, 11 Mar 2008 21:01:52 +0000 (15:01 -0600)]
gallium: fix some cso_state_callback cast warnings

16 years agogallium: fix fs/vs typo in cso_set_vertex_shader()
Brian [Tue, 11 Mar 2008 20:31:17 +0000 (14:31 -0600)]
gallium: fix fs/vs typo in cso_set_vertex_shader()

16 years agodraw: don't free our copy of the render stage -- just borrowing it from vbuf stage
Keith Whitwell [Tue, 11 Mar 2008 14:23:08 +0000 (14:23 +0000)]
draw: don't free our copy of the render stage -- just borrowing it from vbuf stage

16 years agogallium: missing file
Keith Whitwell [Tue, 11 Mar 2008 08:42:49 +0000 (08:42 +0000)]
gallium: missing file

16 years agofix double deletion
Zack Rusin [Tue, 11 Mar 2008 02:10:18 +0000 (22:10 -0400)]
fix double deletion
plus, if the current hash is bigger than max size make sure
we delete enough from it

16 years agofix compilation
Zack Rusin [Tue, 11 Mar 2008 02:10:07 +0000 (22:10 -0400)]
fix compilation

16 years agofix Height2/Depth2 init problem when using texture borders
Brian [Mon, 10 Mar 2008 23:41:00 +0000 (17:41 -0600)]
fix Height2/Depth2 init problem when using texture borders

16 years agogallium: disable an unneeded assertion (hit with texwrap.c)
Brian [Tue, 4 Mar 2008 15:38:54 +0000 (08:38 -0700)]
gallium: disable an unneeded assertion (hit with texwrap.c)

16 years agoMove SPE register allocator to rtasm code
Ian Romanick [Mon, 10 Mar 2008 23:28:54 +0000 (16:28 -0700)]
Move SPE register allocator to rtasm code

Move the register allocator to a common location.  There is more code
on the way that will make use of this interface.

16 years agodraw: placeholder/prototype code for a passthrough draw path
Keith Whitwell [Mon, 10 Mar 2008 19:49:15 +0000 (19:49 +0000)]
draw: placeholder/prototype code for a passthrough draw path

16 years agomesa: fast-track glColor and similar calls when not immediate mode rendering
Keith Whitwell [Mon, 10 Mar 2008 19:44:54 +0000 (19:44 +0000)]
mesa: fast-track glColor and similar calls when not immediate mode rendering

Often these are mixed in with draw arrays calls, etc.  Try not to get
the whole immediate rendering state machine going when we receive one
of these on their own.

16 years agogallium: fix compiler warning
Keith Whitwell [Mon, 10 Mar 2008 19:41:51 +0000 (19:41 +0000)]
gallium: fix compiler warning

16 years agogallium: use the same bypass_clipping logic on all vs paths
Keith Whitwell [Mon, 10 Mar 2008 19:41:12 +0000 (19:41 +0000)]
gallium: use the same bypass_clipping logic on all vs paths

16 years agogallium: enable bug workaround in draw_vertex_cache_invalidate
Keith Whitwell [Mon, 10 Mar 2008 19:37:32 +0000 (19:37 +0000)]
gallium: enable bug workaround in draw_vertex_cache_invalidate

16 years agogallium: new surface/context tracker (sct) module
Brian [Mon, 10 Mar 2008 23:21:43 +0000 (17:21 -0600)]
gallium: new surface/context tracker (sct) module

Will be used for tracking the surfaces and textures which are bound/used by
contexts.

16 years agocell: sync up with sampler/texture state-setting changes
Brian [Mon, 10 Mar 2008 22:43:36 +0000 (16:43 -0600)]
cell: sync up with sampler/texture state-setting changes

16 years agogallium: Use hardcoded breakpoints on x86 targets.
José Fonseca [Mon, 10 Mar 2008 21:18:00 +0000 (21:18 +0000)]
gallium: Use hardcoded breakpoints on x86 targets.

16 years agoSome notes about debugging
José Fonseca [Mon, 10 Mar 2008 21:15:31 +0000 (21:15 +0000)]
Some notes about debugging

16 years agogallium: Import Dennis Smit cpu detection code.
José Fonseca [Mon, 10 Mar 2008 16:45:19 +0000 (16:45 +0000)]
gallium: Import Dennis Smit cpu detection code.

It still needs a slight code massasing to integrate with the rest of
gallium (namely mapping the OS_* ARCH_* defines), but I'm commiting anyway
so that it is available to be used when somebody needs it.

16 years agogallium: WinCE portability fixes.
José Fonseca [Mon, 10 Mar 2008 13:04:13 +0000 (13:04 +0000)]
gallium: WinCE portability fixes.

16 years agogallium: avoid deleting currently-bound CSO's on cache destruction
Keith Whitwell [Sun, 9 Mar 2008 20:21:45 +0000 (20:21 +0000)]
gallium: avoid deleting currently-bound CSO's on cache destruction

16 years agodraw: cope with binding NULL vertex shader (on context delete, for instance)
Keith Whitwell [Sun, 9 Mar 2008 20:17:02 +0000 (20:17 +0000)]
draw: cope with binding NULL vertex shader (on context delete, for instance)

16 years agocso: fix line endings
Keith Whitwell [Sun, 9 Mar 2008 16:06:20 +0000 (17:06 +0100)]
cso: fix line endings

16 years agocso: Use MALLOC
Keith Whitwell [Sun, 9 Mar 2008 16:05:46 +0000 (17:05 +0100)]
cso: Use MALLOC

16 years agocso: add a higher-level interface which does all pipe interactions to set a given...
Keith Whitwell [Sun, 9 Mar 2008 14:09:55 +0000 (15:09 +0100)]
cso: add a higher-level interface which does all pipe interactions to set a given state

16 years agogallium: add some commonly implemented bits of hw state
Keith Whitwell [Sun, 9 Mar 2008 14:07:09 +0000 (15:07 +0100)]
gallium: add some commonly implemented bits of hw state

16 years agoscons: Ensure the paths to the WINDDK's executables are found before the MSVC ones.
José Fonseca [Sun, 9 Mar 2008 20:14:31 +0000 (20:14 +0000)]
scons: Ensure the paths to the WINDDK's executables are found before the MSVC ones.

16 years agogallium: Document debug_printf usage.
José Fonseca [Sat, 8 Mar 2008 16:29:12 +0000 (16:29 +0000)]
gallium: Document debug_printf usage.

16 years agogallium: Surround externs with extern "C".
Michal Krol [Thu, 6 Mar 2008 18:57:41 +0000 (19:57 +0100)]
gallium: Surround externs with extern "C".

16 years agogallium: michel's patch to rework texture/sampler binding interface
Keith Whitwell [Wed, 5 Mar 2008 09:50:14 +0000 (10:50 +0100)]
gallium: michel's patch to rework texture/sampler binding interface

Bind all the samplers/textures at once rather than piecemeal.
This is easier for drivers to understand.

16 years agogallium: Use custom vsnprintf in WINDDK.
José Fonseca [Wed, 5 Mar 2008 10:38:21 +0000 (11:38 +0100)]
gallium: Use custom vsnprintf in WINDDK.

EngDebugPrint does not handle float point arguments, so we need to use
our own vsnprintf implementation.

16 years agoscons: Preliminary code for quieting command lines.
José Fonseca [Tue, 4 Mar 2008 13:29:27 +0000 (14:29 +0100)]
scons: Preliminary code for quieting command lines.

16 years agodraw: dont' compute clipmask or apply viewport when not clipping (rename bypass_clipp...
Keith Whitwell [Tue, 4 Mar 2008 16:55:02 +0000 (17:55 +0100)]
draw: dont' compute clipmask or apply viewport when not clipping (rename bypass_clipping to coords_in_window_space?

16 years agogallium: Add missing file for scons build.
Michel Dänzer [Tue, 4 Mar 2008 17:32:43 +0000 (18:32 +0100)]
gallium: Add missing file for scons build.

16 years agogallium: Fix scons condition for building the xlib winsys.
Michel Dänzer [Tue, 4 Mar 2008 17:32:16 +0000 (18:32 +0100)]
gallium: Fix scons condition for building the xlib winsys.

16 years agogallium: Make scons build gallivm before other auxiliary modules.
Michel Dänzer [Tue, 4 Mar 2008 17:30:12 +0000 (18:30 +0100)]
gallium: Make scons build gallivm before other auxiliary modules.

This ensures that the gallivm symbols referenced by the draw module are
resolved properly.

16 years agogallium: Only use C++ compiler for linking when using LLVM.
Michel Dänzer [Tue, 4 Mar 2008 17:28:23 +0000 (18:28 +0100)]
gallium: Only use C++ compiler for linking when using LLVM.

Otherwise, the shared objects needlessly link against the C++ runtime
environment.

16 years agoscons: Force C++ linkage.
José Fonseca [Tue, 4 Mar 2008 11:40:18 +0000 (12:40 +0100)]
scons: Force C++ linkage.

We have some C++ code (LLVM), which must be linked with g++ on certain
platforms. SCons tries to guess when to use g++ by looking to the source files,
but this fails, if the C++ code is not list in the command line, but inside in
the library.

16 years agoscons: Make command line arguments effective again.
José Fonseca [Mon, 3 Mar 2008 17:52:37 +0000 (18:52 +0100)]
scons: Make command line arguments effective again.

16 years agowin32: don't prepend all debug with gallium3d
Keith Whitwell [Mon, 3 Mar 2008 16:49:38 +0000 (17:49 +0100)]
win32: don't prepend all debug with gallium3d

16 years agodraw: add fetch for bgra ubyte surfaces
Keith Whitwell [Mon, 3 Mar 2008 16:44:04 +0000 (17:44 +0100)]
draw: add fetch for bgra ubyte surfaces

16 years agogallium: remove obsolete comment
Keith Whitwell [Thu, 28 Feb 2008 17:08:37 +0000 (17:08 +0000)]
gallium: remove obsolete comment

16 years agogallium: document user_buffer_create a little
Keith Whitwell [Wed, 27 Feb 2008 13:06:18 +0000 (13:06 +0000)]
gallium: document user_buffer_create a little

16 years agorefactor code calling builtins and implement dp4
Zack Rusin [Sat, 1 Mar 2008 14:50:41 +0000 (09:50 -0500)]
refactor code calling builtins and implement dp4

16 years agomake the first builtin work (dp3)
Zack Rusin [Sat, 1 Mar 2008 13:32:31 +0000 (08:32 -0500)]
make the first builtin work (dp3)

16 years agostart implementing start of bultins
Zack Rusin [Sat, 1 Mar 2008 13:04:21 +0000 (08:04 -0500)]
start implementing start of bultins

16 years agogallium: change st->state.sampler_texture[] to store pipe_texture pointers
Brian Paul [Fri, 29 Feb 2008 23:16:16 +0000 (16:16 -0700)]
gallium: change st->state.sampler_texture[] to store pipe_texture pointers

This is a better fix for the previous check-in.
Fixes texadd.c conform test, and probably other bugs.

16 years agogallium: fix update_textures() bug in pipe_texture binding logic
Brian Paul [Fri, 29 Feb 2008 22:38:43 +0000 (15:38 -0700)]
gallium: fix update_textures() bug in pipe_texture binding logic

The 'st' pointer might not have changed, but st->pt might have.  The dirtyData flag
will indicate when that's happened, so check it.

16 years agogallium: fix line emit order for unfilled tris
Brian Paul [Fri, 29 Feb 2008 20:00:17 +0000 (13:00 -0700)]
gallium: fix line emit order for unfilled tris

A tri drawn with GL_LINE_LOOP and GL_POLYGON w/ fillmode=GL_LINE should produce
the same results when line stipple is enabled.  Results are correct now.

16 years agogallium: point rast coord tweak
Brian Paul [Fri, 29 Feb 2008 19:22:04 +0000 (12:22 -0700)]
gallium: point rast coord tweak

16 years agogallium: need precalc_flat=1 for wide lines
Brian Paul [Fri, 29 Feb 2008 19:21:42 +0000 (12:21 -0700)]
gallium: need precalc_flat=1 for wide lines

16 years agoscons: List sp_screen.c.
Michal Krol [Fri, 29 Feb 2008 09:32:25 +0000 (10:32 +0100)]
scons: List sp_screen.c.

16 years agogallium: tweak coords for wide lines
Brian Paul [Fri, 29 Feb 2008 18:37:12 +0000 (11:37 -0700)]
gallium: tweak coords for wide lines

16 years agogallium: fix glCopyPixels(GL_DEPTH) when Z format conversion is needed
Brian Paul [Fri, 29 Feb 2008 18:09:45 +0000 (11:09 -0700)]
gallium: fix glCopyPixels(GL_DEPTH) when Z format conversion is needed

16 years agogallium: added pipe_get/put_tile_z() functions
Brian Paul [Fri, 29 Feb 2008 18:09:02 +0000 (11:09 -0700)]
gallium: added pipe_get/put_tile_z() functions

16 years agogallium: remove the ugly pipe->draw stage lookup code in aaline/point/pstipple stages
Brian [Fri, 29 Feb 2008 17:07:44 +0000 (10:07 -0700)]
gallium: remove the ugly pipe->draw stage lookup code in aaline/point/pstipple stages

Added a void *draw ptr to pipe_context.  Probably look for a better solution someday.

16 years agocell: convert all points/lines to tris for the time being
Brian [Fri, 29 Feb 2008 01:02:05 +0000 (18:02 -0700)]
cell: convert all points/lines to tris for the time being

Allows more programs to look correct.  We'll want native points/lines someday.

16 years agocell: remove obsolete texture field
Brian [Fri, 29 Feb 2008 00:57:54 +0000 (17:57 -0700)]
cell: remove obsolete texture field

16 years agoAdded calibrate_rast.c program
Brian [Fri, 29 Feb 2008 00:42:18 +0000 (17:42 -0700)]
Added calibrate_rast.c program

Measures rasterization of points/lines/tris and suggests fixes/biases when
something doesn't meet spec.

16 years agogallium: new wide point/line stages (missed in prev commit)
Brian Paul [Fri, 29 Feb 2008 00:54:42 +0000 (17:54 -0700)]
gallium: new wide point/line stages (missed in prev commit)

16 years agogallium: split draw_wide_prim stage into separate point/line stages.
Brian Paul [Fri, 29 Feb 2008 00:49:22 +0000 (17:49 -0700)]
gallium: split draw_wide_prim stage into separate point/line stages.

This fixes a validation/code-path problem.  Enabling the stage for the sake
of wide points also inadvertantly caused wide lines to be converted to tris
when we actually want them passed through, such as for the AA line stage.
This is just cleaner now.
Also, replace draw_convert_wide_lines() with draw_wide_line_threshold() as
was done for points.  Allows for 1-pixel lines to be converted too if needed.

16 years agogallium: fix surface/texture format conversion in st_CopyPixels
Brian Paul [Thu, 28 Feb 2008 18:31:56 +0000 (11:31 -0700)]
gallium: fix surface/texture format conversion in st_CopyPixels

If the src buffer's format isn't supported as a texture format, find a different
texture format.

16 years agogallium: added a texture format sanity check/assertion in st_texture_create()
Brian Paul [Thu, 28 Feb 2008 18:17:30 +0000 (11:17 -0700)]
gallium: added a texture format sanity check/assertion in st_texture_create()

make sure the tex format is actually supported by the driver.

16 years agogalliums: s/uint/enum pipe_format/
Brian Paul [Thu, 28 Feb 2008 18:04:39 +0000 (11:04 -0700)]
galliums: s/uint/enum pipe_format/

16 years agogallium: in GL_SELECT mode, update hitflag in rasterpos
Brian Paul [Thu, 28 Feb 2008 16:44:09 +0000 (09:44 -0700)]
gallium: in GL_SELECT mode, update hitflag in rasterpos

16 years agogallium: Fix MSVC warnings.
José Fonseca [Thu, 28 Feb 2008 12:25:54 +0000 (21:25 +0900)]
gallium: Fix MSVC warnings.

16 years agoMake sure struct pipe_screen is declared.
Michel Dänzer [Thu, 28 Feb 2008 09:07:38 +0000 (09:07 +0000)]
Make sure struct pipe_screen is declared.

16 years agogallium: State tracker cleanups wrt clears.
Keith Whitwell [Thu, 28 Feb 2008 09:07:03 +0000 (09:07 +0000)]
gallium: State tracker cleanups wrt clears.

16 years agoConvert crlf->lf line endings.
José Fonseca [Thu, 28 Feb 2008 06:53:13 +0000 (15:53 +0900)]
Convert crlf->lf line endings.

Windows/DOS users should enable core.autocrlf from now on.

16 years agoDisable autocrlf on Visual Studio project files.
José Fonseca [Thu, 28 Feb 2008 06:52:30 +0000 (15:52 +0900)]
Disable autocrlf on Visual Studio project files.

16 years agogallium: Remove extra level of indirecttion.
José Fonseca [Thu, 28 Feb 2008 04:52:30 +0000 (13:52 +0900)]
gallium: Remove extra level of indirecttion.

16 years agogallium: Fix sign/unsign comparison.
José Fonseca [Thu, 28 Feb 2008 02:23:01 +0000 (11:23 +0900)]
gallium: Fix sign/unsign comparison.

16 years agogallium: Convert CRLF -> LF.
Jose Fonseca [Thu, 28 Feb 2008 03:57:18 +0000 (12:57 +0900)]
gallium: Convert CRLF -> LF.

DOS/Windows users should not commit text files with CRLF line endings
but use instead

  git config --global core.autocrlf true

16 years agogallium: remove unneeded pipe ptr from pipe_texture
Brian [Thu, 28 Feb 2008 01:49:35 +0000 (18:49 -0700)]
gallium: remove unneeded pipe ptr from pipe_texture

16 years agogallium: added draw_num_vs_outputs() to query number of post-transform vertex attribs
Brian [Thu, 28 Feb 2008 01:46:54 +0000 (18:46 -0700)]
gallium: added draw_num_vs_outputs() to query number of post-transform vertex attribs

16 years agogallium/i965: remove more dependencies on pipe_shader_state semantic info
Brian [Thu, 28 Feb 2008 00:21:29 +0000 (17:21 -0700)]
gallium/i965: remove more dependencies on pipe_shader_state semantic info

16 years agogallium/i965: added const to silence warning
Brian [Thu, 28 Feb 2008 00:21:01 +0000 (17:21 -0700)]
gallium/i965: added const to silence warning

16 years agoscons: Build mesa source with c99.
José Fonseca [Wed, 27 Feb 2008 23:17:53 +0000 (08:17 +0900)]
scons: Build mesa source with c99.

16 years agocell: fix minor get_tex_surface() breakage
Brian [Wed, 27 Feb 2008 23:17:15 +0000 (16:17 -0700)]
cell: fix minor get_tex_surface() breakage

16 years agogallium/i965: remove brw_shader_info struct
Brian [Wed, 27 Feb 2008 23:22:08 +0000 (16:22 -0700)]
gallium/i965: remove brw_shader_info struct

The info it contained is now found in tgsi_shader_info.
Added a few assertions to catch potential misunderstandings about register
counts vs. highest register index used.

16 years agogallium/i965: silence warnings
Brian [Wed, 27 Feb 2008 23:11:26 +0000 (16:11 -0700)]
gallium/i965: silence warnings

16 years agogallium/i965: added const to silence warnings
Brian [Wed, 27 Feb 2008 23:11:14 +0000 (16:11 -0700)]
gallium/i965: added const to silence warnings

16 years agogallium/i965: remove UsesDepth, UsesKill - use tgsi_shader_info instead
Brian [Wed, 27 Feb 2008 23:09:17 +0000 (16:09 -0700)]
gallium/i965: remove UsesDepth, UsesKill - use tgsi_shader_info instead

16 years agogallium/i965: remove dependencies on pipe_shader_state's semantic info
Brian [Wed, 27 Feb 2008 23:05:16 +0000 (16:05 -0700)]
gallium/i965: remove dependencies on pipe_shader_state's semantic info

The brw_shader_info struct is rendundant and could be removed...

16 years agogallium: remove dependencies on pipe_shader_state's semantic info
Brian [Wed, 27 Feb 2008 23:03:40 +0000 (16:03 -0700)]
gallium: remove dependencies on pipe_shader_state's semantic info

16 years agogallium: remove dependencies on pipe_shader_state's semantic info
Brian [Wed, 27 Feb 2008 23:02:58 +0000 (16:02 -0700)]
gallium: remove dependencies on pipe_shader_state's semantic info

Use tgsi_scan_shader() to populate a tgsi_shader_info struct and use that instead.

16 years agogallium: include p_util.h
Brian [Wed, 27 Feb 2008 23:01:35 +0000 (16:01 -0700)]
gallium: include p_util.h

16 years agogallium: include p_compiler.h instead of p_util.h
Brian [Wed, 27 Feb 2008 23:00:04 +0000 (16:00 -0700)]
gallium: include p_compiler.h instead of p_util.h

16 years agogallium: remove unnecessary assignment
Brian [Wed, 27 Feb 2008 22:48:00 +0000 (15:48 -0700)]
gallium: remove unnecessary assignment

16 years agogallium: added file_max[] array to tgsi_shader_info
Brian [Wed, 27 Feb 2008 22:47:24 +0000 (15:47 -0700)]
gallium: added file_max[] array to tgsi_shader_info

Records the highest index of a declared register.

16 years agogallium/i915: remove unneeded assignment
Brian [Wed, 27 Feb 2008 22:45:41 +0000 (15:45 -0700)]
gallium/i915: remove unneeded assignment

16 years agogallium: remove unnecessary tgsi_interp_coef decl
Brian [Wed, 27 Feb 2008 22:11:12 +0000 (15:11 -0700)]
gallium: remove unnecessary tgsi_interp_coef decl

16 years agogallium: remove uses_kill field from softpipe_shader
Brian [Wed, 27 Feb 2008 22:06:55 +0000 (15:06 -0700)]
gallium: remove uses_kill field from softpipe_shader

16 years agogallium: added uses_kill field to tgsi_shader_info
Brian [Wed, 27 Feb 2008 22:06:04 +0000 (15:06 -0700)]
gallium: added uses_kill field to tgsi_shader_info