Brian [Wed, 12 Mar 2008 20:20:54 +0000 (14:20 -0600)]
gallium: pass NULL to cso_single_sampler() when the sampler isn't used.
This fixes an AA line crash/regression.
The aaline stage needs to find a free/unused sampler to do its thing.
Brian [Wed, 12 Mar 2008 19:22:58 +0000 (13:22 -0600)]
remove reference to obsolete ExtDivide
Brian [Wed, 12 Mar 2008 19:21:41 +0000 (13:21 -0600)]
gallium: use TXP rather than ExtDivide flag
Brian [Wed, 12 Mar 2008 19:20:29 +0000 (13:20 -0600)]
gallium: change draw_vertex_shader->state from pointer to struct
We were sometimes keeping a pointer to a stack-allocated object.
Now make a copy of the pipe_shader_state object.
This should fix some seemingly random memory errors/crashes.
Michal Krol [Wed, 12 Mar 2008 15:41:25 +0000 (16:41 +0100)]
tgsi: Remove ExtDivide field from existence. Implement OPCODE_TXP.
Michal Krol [Wed, 12 Mar 2008 14:29:39 +0000 (15:29 +0100)]
tgsi: Dump TXP opcode.
José Fonseca [Wed, 12 Mar 2008 15:02:11 +0000 (15:02 +0000)]
gallium: Generic handle table.
José Fonseca [Wed, 12 Mar 2008 15:01:18 +0000 (15:01 +0000)]
gallium: Change assert behavior on runtime (Mark Mueller).
Michal Krol [Wed, 12 Mar 2008 13:54:43 +0000 (14:54 +0100)]
tgsi: Introduce OPCODE_TXP. Depricate ExdDivide field.
José Fonseca [Wed, 12 Mar 2008 13:34:30 +0000 (13:34 +0000)]
scons: Faithfully mimic every WINDDK builtin compiler/linker option.
Keith Whitwell [Wed, 12 Mar 2008 10:43:53 +0000 (10:43 +0000)]
gallium: reduce signed/unsigned warnings
Keith Whitwell [Wed, 12 Mar 2008 10:39:25 +0000 (10:39 +0000)]
gallium: Add TEX_FILTER_ANISO img filter
Hardware almost universally expects us to set a special filtering mode
when anisotropic filtering is enabled, as opposed to varying a max-aniso
values. Do this once in the state tracker & simplify the driver code.
Michal Krol [Wed, 12 Mar 2008 10:37:02 +0000 (11:37 +0100)]
tgsi: Dump source register divide component.
Brian [Wed, 12 Mar 2008 02:03:37 +0000 (20:03 -0600)]
cell: check for NULL shader pointer in cell_bind_vs_state()
Brian [Wed, 12 Mar 2008 01:02:51 +0000 (19:02 -0600)]
gallium: dummy install target
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...
José Fonseca [Tue, 11 Mar 2008 23:51:27 +0000 (23:51 +0000)]
gallium: Silence MSVC warnings.
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.
Michal Krol [Tue, 11 Mar 2008 22:21:36 +0000 (23:21 +0100)]
tgsi: Map OPCODE_TEXKILL to OPCODE_KILP.
Brian [Tue, 11 Mar 2008 21:01:52 +0000 (15:01 -0600)]
gallium: fix some cso_state_callback cast warnings
Brian [Tue, 11 Mar 2008 20:31:17 +0000 (14:31 -0600)]
gallium: fix fs/vs typo in cso_set_vertex_shader()
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
Keith Whitwell [Tue, 11 Mar 2008 08:42:49 +0000 (08:42 +0000)]
gallium: missing file
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
Zack Rusin [Tue, 11 Mar 2008 02:10:07 +0000 (22:10 -0400)]
fix compilation
Brian [Mon, 10 Mar 2008 23:41:00 +0000 (17:41 -0600)]
fix Height2/Depth2 init problem when using texture borders
Brian [Tue, 4 Mar 2008 15:38:54 +0000 (08:38 -0700)]
gallium: disable an unneeded assertion (hit with texwrap.c)
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.
Keith Whitwell [Mon, 10 Mar 2008 19:49:15 +0000 (19:49 +0000)]
draw: placeholder/prototype code for a passthrough draw path
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.
Keith Whitwell [Mon, 10 Mar 2008 19:41:51 +0000 (19:41 +0000)]
gallium: fix compiler warning
Keith Whitwell [Mon, 10 Mar 2008 19:41:12 +0000 (19:41 +0000)]
gallium: use the same bypass_clipping logic on all vs paths
Keith Whitwell [Mon, 10 Mar 2008 19:37:32 +0000 (19:37 +0000)]
gallium: enable bug workaround in draw_vertex_cache_invalidate
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.
Brian [Mon, 10 Mar 2008 22:43:36 +0000 (16:43 -0600)]
cell: sync up with sampler/texture state-setting changes
José Fonseca [Mon, 10 Mar 2008 21:18:00 +0000 (21:18 +0000)]
gallium: Use hardcoded breakpoints on x86 targets.
José Fonseca [Mon, 10 Mar 2008 21:15:31 +0000 (21:15 +0000)]
Some notes about debugging
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.
José Fonseca [Mon, 10 Mar 2008 13:04:13 +0000 (13:04 +0000)]
gallium: WinCE portability fixes.
Keith Whitwell [Sun, 9 Mar 2008 20:21:45 +0000 (20:21 +0000)]
gallium: avoid deleting currently-bound CSO's on cache destruction
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)
Keith Whitwell [Sun, 9 Mar 2008 16:06:20 +0000 (17:06 +0100)]
cso: fix line endings
Keith Whitwell [Sun, 9 Mar 2008 16:05:46 +0000 (17:05 +0100)]
cso: Use MALLOC
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
Keith Whitwell [Sun, 9 Mar 2008 14:07:09 +0000 (15:07 +0100)]
gallium: add some commonly implemented bits of hw state
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.
José Fonseca [Sat, 8 Mar 2008 16:29:12 +0000 (16:29 +0000)]
gallium: Document debug_printf usage.
Michal Krol [Thu, 6 Mar 2008 18:57:41 +0000 (19:57 +0100)]
gallium: Surround externs with extern "C".
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.
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.
José Fonseca [Tue, 4 Mar 2008 13:29:27 +0000 (14:29 +0100)]
scons: Preliminary code for quieting command lines.
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?
Michel Dänzer [Tue, 4 Mar 2008 17:32:43 +0000 (18:32 +0100)]
gallium: Add missing file for scons build.
Michel Dänzer [Tue, 4 Mar 2008 17:32:16 +0000 (18:32 +0100)]
gallium: Fix scons condition for building the xlib winsys.
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.
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.
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.
José Fonseca [Mon, 3 Mar 2008 17:52:37 +0000 (18:52 +0100)]
scons: Make command line arguments effective again.
Keith Whitwell [Mon, 3 Mar 2008 16:49:38 +0000 (17:49 +0100)]
win32: don't prepend all debug with gallium3d
Keith Whitwell [Mon, 3 Mar 2008 16:44:04 +0000 (17:44 +0100)]
draw: add fetch for bgra ubyte surfaces
Keith Whitwell [Thu, 28 Feb 2008 17:08:37 +0000 (17:08 +0000)]
gallium: remove obsolete comment
Keith Whitwell [Wed, 27 Feb 2008 13:06:18 +0000 (13:06 +0000)]
gallium: document user_buffer_create a little
Zack Rusin [Sat, 1 Mar 2008 14:50:41 +0000 (09:50 -0500)]
refactor code calling builtins and implement dp4
Zack Rusin [Sat, 1 Mar 2008 13:32:31 +0000 (08:32 -0500)]
make the first builtin work (dp3)
Zack Rusin [Sat, 1 Mar 2008 13:04:21 +0000 (08:04 -0500)]
start implementing start of bultins
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.
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.
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.
Brian Paul [Fri, 29 Feb 2008 19:22:04 +0000 (12:22 -0700)]
gallium: point rast coord tweak
Brian Paul [Fri, 29 Feb 2008 19:21:42 +0000 (12:21 -0700)]
gallium: need precalc_flat=1 for wide lines
Michal Krol [Fri, 29 Feb 2008 09:32:25 +0000 (10:32 +0100)]
scons: List sp_screen.c.
Brian Paul [Fri, 29 Feb 2008 18:37:12 +0000 (11:37 -0700)]
gallium: tweak coords for wide lines
Brian Paul [Fri, 29 Feb 2008 18:09:45 +0000 (11:09 -0700)]
gallium: fix glCopyPixels(GL_DEPTH) when Z format conversion is needed
Brian Paul [Fri, 29 Feb 2008 18:09:02 +0000 (11:09 -0700)]
gallium: added pipe_get/put_tile_z() functions
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.
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.
Brian [Fri, 29 Feb 2008 00:57:54 +0000 (17:57 -0700)]
cell: remove obsolete texture field
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.
Brian Paul [Fri, 29 Feb 2008 00:54:42 +0000 (17:54 -0700)]
gallium: new wide point/line stages (missed in prev commit)
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.
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.
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.
Brian Paul [Thu, 28 Feb 2008 18:04:39 +0000 (11:04 -0700)]
galliums: s/uint/enum pipe_format/
Brian Paul [Thu, 28 Feb 2008 16:44:09 +0000 (09:44 -0700)]
gallium: in GL_SELECT mode, update hitflag in rasterpos
José Fonseca [Thu, 28 Feb 2008 12:25:54 +0000 (21:25 +0900)]
gallium: Fix MSVC warnings.
Michel Dänzer [Thu, 28 Feb 2008 09:07:38 +0000 (09:07 +0000)]
Make sure struct pipe_screen is declared.
Keith Whitwell [Thu, 28 Feb 2008 09:07:03 +0000 (09:07 +0000)]
gallium: State tracker cleanups wrt clears.
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.
José Fonseca [Thu, 28 Feb 2008 06:52:30 +0000 (15:52 +0900)]
Disable autocrlf on Visual Studio project files.
José Fonseca [Thu, 28 Feb 2008 04:52:30 +0000 (13:52 +0900)]
gallium: Remove extra level of indirecttion.
José Fonseca [Thu, 28 Feb 2008 02:23:01 +0000 (11:23 +0900)]
gallium: Fix sign/unsign comparison.
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
Brian [Thu, 28 Feb 2008 01:49:35 +0000 (18:49 -0700)]
gallium: remove unneeded pipe ptr from pipe_texture
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
Brian [Thu, 28 Feb 2008 00:21:29 +0000 (17:21 -0700)]
gallium/i965: remove more dependencies on pipe_shader_state semantic info
Brian [Thu, 28 Feb 2008 00:21:01 +0000 (17:21 -0700)]
gallium/i965: added const to silence warning
José Fonseca [Wed, 27 Feb 2008 23:17:53 +0000 (08:17 +0900)]
scons: Build mesa source with c99.
Brian [Wed, 27 Feb 2008 23:17:15 +0000 (16:17 -0700)]
cell: fix minor get_tex_surface() breakage
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.
Brian [Wed, 27 Feb 2008 23:11:26 +0000 (16:11 -0700)]
gallium/i965: silence warnings