Commit graph

23866 commits

Author SHA1 Message Date
Keith Whitwell
85613cc4f1 softpipe: fix error in scissor state dependencies 2009-07-25 11:01:48 +01:00
Keith Whitwell
ade8984f50 softpipe: cleanup framebuffer state routine slightly 2009-07-25 10:01:06 +01:00
Ian Romanick
258f640eda ARB prog: Layout parameters from parameter type, not src type
Use the type stored in the Parameters array to determine the layout
instead of the type in the instruction register field.  Also, update
the instruction register field based on the parameter type.

This makes Google Earth work exactly like with Mesa master.
2009-07-24 18:14:47 -07:00
Ian Romanick
a7400e7364 ARB prog: _mesa_print_program output should go to same place as _mesa_printf 2009-07-24 18:03:02 -07:00
Ian Romanick
f3cba9d66a ARB prog parse: Fix cut-and-paste error for constant vectors 2009-07-24 18:01:59 -07:00
Ian Romanick
6f8214cae6 ARB prog: get frag prog texture info from the right place
This gets basic texturing working.  w00t!
2009-07-24 17:33:30 -07:00
Patrice Mandin
8c30292a6e nouveau: use nv04_surface_copy_swizzle only for POT sizes 2009-07-24 23:37:46 +02:00
Keith Whitwell
a2f7ab1d15 softpipe: move all color-combine code into sp_quad_blend.c
Consolidate the read-modify-write color combining code from
the blend, colormask and output stages.
2009-07-24 20:19:18 +01:00
Keith Whitwell
42f1757189 softpipe: fix typo 2009-07-24 20:18:52 +01:00
Keith Whitwell
333ec94380 softpipe: example fastpaths in blending 2009-07-24 18:46:17 +01:00
Keith Whitwell
a1dbd7aa15 softpipe: actually pass >1 quad from triangle routine
First attempt
2009-07-24 18:17:05 +01:00
Keith Whitwell
ab9fb51670 softpipe: expand quad pipeline to process >1 quad at a time
This is part one -- we still only pass a single quad down, but
the code can now cope with more.  The quads must all be from the same
tile.
2009-07-24 16:49:35 +01:00
Keith Whitwell
6153a1c28f softpipe: rip out old mulithread support 2009-07-24 16:12:48 +01:00
Joakim Sindholt
12b183d250 radeon-gallium: remove old getparam ioctl 2009-07-24 14:54:00 +02:00
Alex Deucher
3b4235d4eb r600: fix segfault in morph3d
These attributes still need work, but it shouldn't hurt to
enable them.
2009-07-23 18:26:02 -04:00
Keith Whitwell
aa99a765c1 draw: correct address for machine struct in llvm path
This changed after a recent commit.
2009-07-23 18:48:04 +01:00
Keith Whitwell
adc6f8cdfc gallivm: updates for TGSI changes
make linux-llvm succeeds, but doesn't seem to be working, at least with
llvm 2.5
2009-07-23 17:59:08 +01:00
Corbin Simpson
ca83d5a8db r300g, radeon-gallium: Fix API, cleanup.
Something called "validate" should return FALSE on failure, not TRUE.
2009-07-23 07:18:29 -07:00
Nicolai Hähnle
27b3c435ba radeon-gallium: Build fixes wrt changed libdrm_radeon space check API
Had to be hacked up a bit to apply to master. Sorry 'bout that. :3
2009-07-23 07:18:29 -07:00
Corbin Simpson
256eacbde4 r300g: PIPE_CAP_BLEND_EQUATION_SEPARATE. 2009-07-23 07:18:29 -07:00
Keith Whitwell
d0d98f3ecf gallium: clean up opcode definitions
Remove commented-out opcodes.  Remove information about API mappings
to opcodes, but add a reference to tgsi-instruction-set.txt where
that information is better presented.
2009-07-23 14:39:07 +01:00
Keith Whitwell
78379abcbf gallium: remove deprecated TGSI opcodes
Various opcodes which can be implemented trivially with other TGSI opcodes,
such as matrix multiplication and negation.  These were not used by any
state tracker or implemented by any of the drivers.
2009-07-23 14:38:26 +01:00
José Fonseca
8b78294d21 r600: Remove CRLF line endings. 2009-07-23 14:11:10 +01:00
Vinson Lee
af1163cc41 util: Add support for Mac OS. 2009-07-23 14:08:07 +01:00
Keith Whitwell
93a026d4ba softpipe: avoid flushing depth buffer cache on swapbuffers
There's no need to push out depth buffer contents on swapbuffers.

Note that this change doesn't throw away depth buffer changes, it simply
holds them in the cache over calls to swapbuffers.  The hope is
that swapbuffers will be followed by a clear() which means in that case
we won't have to write the changes out.
2009-07-23 11:14:39 +01:00
Keith Whitwell
19097907ef softpipe: also shortcircuit non-texture tile lookups 2009-07-23 09:35:33 +01:00
Corbin Simpson
07961bb05e r300g: Actually mark shaders as translated/untranslated.
Also trust that Gallium will not give us TGSI that miscounts shader consts.

This creates a 20x speedup on glxgears, from 8 FPS to 160 FPS.
2009-07-23 00:00:28 -07:00
Brian Paul
895c435def cell: update TGSI_OPCODE_ cases 2009-07-22 21:04:07 -06:00
Ian Romanick
ef80c2012d parser: Clean up a bunch of silly compiler warnings 2009-07-22 17:13:08 -07:00
Ian Romanick
0db5ef0741 parser: Track a few more frag prog related values 2009-07-22 16:21:54 -07:00
Ian Romanick
28b13038d8 parser: Ensure that param_binding_type is set correctly 2009-07-22 16:03:32 -07:00
Michel Dänzer
d602966f89 gallium: Fix PPC build. 2009-07-23 00:47:32 +02:00
Ian Romanick
5f090bb074 GIT ignore program_parse.output 2009-07-22 15:28:31 -07:00
Ian Romanick
c2ee82d693 parser: Set NumParameters 2009-07-22 15:27:31 -07:00
Ian Romanick
44843c7533 parser: Clean up generation of error strings during assembly 2009-07-22 15:06:49 -07:00
Patrice Mandin
b7042399fd nouveau: nv30: wrong variable for format 2009-07-22 22:26:08 +02:00
Maciej Cencora
b129c55f42 r300: fix address register handling in NQSSADCE
For address register we always use X component
2009-07-22 22:10:22 +02:00
Ian Romanick
aec4291706 parser: Initialize unused instruction source registers
The 965 driver expects unused source registers (e.g., SrcReg[2] of a
DP3 instruction) to have a register file of PROGRAM_UNDEFINED.
Initializing these source registers ensures that this happens.
2009-07-22 12:29:48 -07:00
Patrice Mandin
db40bb0287 nouveau: Take into account sx,sy parameters to read from source surface 2009-07-22 21:10:20 +02:00
Brian Paul
9c4b877519 mesa: bump version to 7.5.1 2009-07-22 12:46:53 -06:00
Ian Romanick
69d3d19b54 parser: Anonymous constants come from the PROGRAM_CONSTANT file 2009-07-22 10:51:18 -07:00
Keith Whitwell
f911c3b989 softpipe: shortcircuit repeated lookups of the same tile
The sp_tile_cache is often called repeatedly to look up the same
tile.  Add a cache (to the cache) of the single tile most recently
retreived and make a quick inline check to see if this matches the
subsequent request.

Add a tile_address bitfield struct to make this check easier.
2009-07-22 15:08:42 +01:00
Keith Whitwell
13e2d35764 softpipe: remove unused vars in sp_setup.c 2009-07-22 12:48:01 +01:00
Keith Whitwell
0ed99f4552 softpipe: use bitwise logic to setup quad masks in sp_setup 2009-07-22 12:48:00 +01:00
Keith Whitwell
73e7356385 softpipe: simplify flush_spans
No loss of performance, but simpler code.
2009-07-22 12:48:00 +01:00
Keith Whitwell
b5d583efef softpipe: make some small steps to flush texture cache less frequently
No performance gain yet, but the code is a bit cleaner.
2009-07-22 12:48:00 +01:00
Keith Whitwell
07bb026900 gallium/xlib: use XSHM for swapbuffers
Makes some difference, but suprisingly little.  Barely worth the effort.
2009-07-22 12:47:59 +01:00
Keith Whitwell
0ac879dca7 util: _debug_printf should print even when DEBUG is not defined
The leading underscore is meaningful...  This function is used by
_warning and _error functions as well as the more common
debug_printf().

debug_printf (without underscore) gets turned off when DEBUG is
disabled, but warning/error messages still use this function to get
their message out.
2009-07-22 12:47:59 +01:00
Keith Whitwell
aa5db68438 softpipe: remove backwards dependency from tilecache to softpipe
The tile cache is a utility, it shouldn't know anything about the
entity which is making use of it (ie softpipe).

Remove softpipe parameter to all the tilecache function calls, and
also remove the need to keep a softpipe pointer in the sampler structs.
2009-07-22 12:47:59 +01:00
Keith Whitwell
ede9f3b52e gallium: remove multiple aliases for TGSI opcodes
This is a source of ongoing confusion.  TGSI has multiple names for
opcodes where the same semantics originate in multiple shader APIs.

For instance, TGSI includes both Mesa/GLSL and DX/SM30 names for
opcodes with the same semantics, but aliases those names to the same
underlying opcode number.

This makes it very difficult to visually inspect two sets of opcodes
(eg in state tracker & driver) and check if they implement the same
functionality.

This patch arbitarily rips out the versions of the opcodes not currently
favoured by the mesa state tracker and leaves us with a single name
for each distinct operation.
2009-07-22 12:42:09 +01:00