mesa.git
14 years agor300g: simplify allocations of FS input registers
Marek Olšák [Fri, 27 Nov 2009 05:36:31 +0000 (06:36 +0100)]
r300g: simplify allocations of FS input registers

14 years agor300g: clean up derived states
Marek Olšák [Thu, 26 Nov 2009 18:37:58 +0000 (19:37 +0100)]
r300g: clean up derived states

The state setups which aren't derived anymore have been moved to the VS
and FS objects.

14 years agor300g: VS->FS attribute routing rework
Marek Olšák [Thu, 26 Nov 2009 12:49:41 +0000 (13:49 +0100)]
r300g: VS->FS attribute routing rework

Now it always correctly pairs up VS and FS even if the semantics and indices
of VS outputs and FS inputs don't match.

14 years agor300g: add R300 prefix in reg definitions
Marek Olšák [Tue, 24 Nov 2009 23:24:28 +0000 (00:24 +0100)]
r300g: add R300 prefix in reg definitions

14 years agocso: Fix function prototype.
Michal Krol [Tue, 1 Dec 2009 09:07:15 +0000 (10:07 +0100)]
cso: Fix function prototype.

14 years agotrace: Implement separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 08:50:38 +0000 (09:50 +0100)]
trace: Implement separate vertex sampler state.

14 years agofo: Implement separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 08:39:08 +0000 (09:39 +0100)]
fo: Implement separate vertex sampler state.

14 years agoid: Implement separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 08:01:27 +0000 (09:01 +0100)]
id: Implement separate vertex sampler state.

14 years agotrace: Reduce double semicolons to single ones.
Michal Krol [Tue, 1 Dec 2009 07:54:30 +0000 (08:54 +0100)]
trace: Reduce double semicolons to single ones.

14 years agosp: Do not falsely advertise support for some SNORM formats.
Michal Krol [Tue, 1 Dec 2009 07:52:37 +0000 (08:52 +0100)]
sp: Do not falsely advertise support for some SNORM formats.

14 years agosp: Implement separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 07:51:20 +0000 (08:51 +0100)]
sp: Implement separate vertex sampler state.

14 years agopython: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:47:00 +0000 (08:47 +0100)]
python: Update for renamed sampler/texture state setters.

14 years agost: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:44:18 +0000 (08:44 +0100)]
st: Update for renamed sampler/texture state setters.

14 years agotrace: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:43:51 +0000 (08:43 +0100)]
trace: Update for renamed sampler/texture state setters.

14 years agosvga: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:40:53 +0000 (08:40 +0100)]
svga: Update for renamed sampler/texture state setters.

14 years agor300: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:40:31 +0000 (08:40 +0100)]
r300: Update for renamed sampler/texture state setters.

14 years agonv: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:40:21 +0000 (08:40 +0100)]
nv: Update for renamed sampler/texture state setters.

14 years agolp: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:40:04 +0000 (08:40 +0100)]
lp: Update for renamed sampler/texture state setters.

14 years agoid: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:39:49 +0000 (08:39 +0100)]
id: Update for renamed sampler/texture state setters.

14 years agoi915: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:39:19 +0000 (08:39 +0100)]
i915: Update for renamed sampler/texture state setters.

14 years agofo: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:39:07 +0000 (08:39 +0100)]
fo: Update for renamed sampler/texture state setters.

14 years agocell: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:38:32 +0000 (08:38 +0100)]
cell: Update for renamed sampler/texture state setters.

14 years agovl: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:38:06 +0000 (08:38 +0100)]
vl: Update for renamed sampler/texture state setters.

14 years agodraw: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:37:15 +0000 (08:37 +0100)]
draw: Update for renamed sampler/texture state setters.

14 years agocso: Add support for separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 07:35:43 +0000 (08:35 +0100)]
cso: Add support for separate vertex sampler state.

14 years agogallium: Introduce separate vertex texture/sampler state.
Michal Krol [Tue, 1 Dec 2009 07:33:43 +0000 (08:33 +0100)]
gallium: Introduce separate vertex texture/sampler state.

Previously, gallium shared sampler and texture state between vertex
and fragment shader stages. This change generalises this concept by
providing separate entrypoints for vertex and fragment sampler state
setting.

A new capability bit is added to query the driver for the number
of samplers that can be utilised by a vertex and fragment shader
at the same time.

14 years agotgsi/sanity: Up MAX_REGISTERS to 1024.
Michal Krol [Fri, 27 Nov 2009 11:33:17 +0000 (12:33 +0100)]
tgsi/sanity: Up MAX_REGISTERS to 1024.

14 years agost/mesa: handle front/back-face +1/-1 vs. 1/0 conversion
Brian Paul [Mon, 30 Nov 2009 15:56:47 +0000 (08:56 -0700)]
st/mesa: handle front/back-face +1/-1 vs. 1/0 conversion

Fixes progs/glsl/twoside.c demo.

14 years agor600 : clena up a bit for last commit.
Richard Li [Sun, 29 Nov 2009 17:28:32 +0000 (12:28 -0500)]
r600 : clena up a bit for last commit.

14 years agor600 : add read port allocation for uniform;
Richard Li [Sun, 29 Nov 2009 17:12:19 +0000 (12:12 -0500)]
r600 : add read port allocation for uniform;
       mapping ps input based on vs output;
       fix bugs including constants updating for vs.

14 years agonv50: update linkage on rasterizer change
Christoph Bumiller [Sat, 28 Nov 2009 12:57:38 +0000 (13:57 +0100)]
nv50: update linkage on rasterizer change

We need to update VP_RESULT_MAP and/or COORD_REPLACE_MAP
when light_twoside and/or point_sprite are changed.

14 years agonv50: match VP outputs to FP inputs ourselves
Christoph Bumiller [Sun, 29 Nov 2009 12:33:16 +0000 (13:33 +0100)]
nv50: match VP outputs to FP inputs ourselves

For each FP input, don't assume that the VP output will be
at the same position, but scan the semantics instead, then
put the correct output reg indices into VP_RESULT_MAP.

Position is still assumed to be the first output/input.

See 07fafc7c9346aa260829603bf3188596481e9e62, which renders
previous assumptions incorrect.

14 years agonv50: don't permanently negate src in emit_ddy
Christoph Bumiller [Thu, 26 Nov 2009 16:03:00 +0000 (17:03 +0100)]
nv50: don't permanently negate src in emit_ddy

14 years agoutil: Fix bad code.
Corbin Simpson [Sat, 28 Nov 2009 18:45:17 +0000 (10:45 -0800)]
util: Fix bad code.

Uf. How embarrassing.

14 years agoutil: Improve bitcount.
Corbin Simpson [Sat, 28 Nov 2009 18:13:51 +0000 (10:13 -0800)]
util: Improve bitcount.

Sorry for not pushing this before, it got lost in stashes.

14 years agonv50: do conversion of last insn to 64 bit format first
Christoph Bumiller [Fri, 27 Nov 2009 20:29:38 +0000 (21:29 +0100)]
nv50: do conversion of last insn to 64 bit format first

Simplifies things since the second to last one will then
be converted in the subsequent pass that ensures alignment
automatically.

14 years agonv50: bswap32 the polygon stipple pattern
Christoph Bumiller [Thu, 26 Nov 2009 15:59:39 +0000 (16:59 +0100)]
nv50: bswap32 the polygon stipple pattern

The hardware wants the pattern the same way it is
passed to glPolygonStipple.

14 years agogallium/util: added util_bswap32()
Christoph Bumiller [Thu, 26 Nov 2009 15:58:59 +0000 (16:58 +0100)]
gallium/util: added util_bswap32()

14 years agosvga: fix for not using texture width/height/depth arrays
Roland Scheidegger [Fri, 27 Nov 2009 16:41:42 +0000 (17:41 +0100)]
svga: fix for not using texture width/height/depth arrays

14 years agor300g,llvmpipe: fix some more merge problems
Roland Scheidegger [Fri, 27 Nov 2009 16:40:24 +0000 (17:40 +0100)]
r300g,llvmpipe: fix some more merge problems

14 years agoMerge branch 'width0'
Roland Scheidegger [Fri, 27 Nov 2009 16:15:47 +0000 (17:15 +0100)]
Merge branch 'width0'

Conflicts:
src/gallium/drivers/r300/r300_texture.c
src/gallium/state_trackers/xorg/xorg_exa.c
src/mesa/state_tracker/st_cb_texture.c

14 years agogallium: fix more statetrackers/drivers for not using texture width/height/depth...
Roland Scheidegger [Thu, 26 Nov 2009 21:49:58 +0000 (22:49 +0100)]
gallium: fix more statetrackers/drivers for not using texture width/height/depth arrays

14 years agotgsi/exec: Fix orientation of DDY.
Michal Krol [Thu, 26 Nov 2009 19:38:43 +0000 (20:38 +0100)]
tgsi/exec: Fix orientation of DDY.

14 years agotgsi/exec: Force return from a subroutine at ENDSUB.
Michal Krol [Thu, 26 Nov 2009 19:30:04 +0000 (20:30 +0100)]
tgsi/exec: Force return from a subroutine at ENDSUB.

14 years agodraw: Fix max_index check.
Keith Whitwell [Thu, 26 Nov 2009 18:24:57 +0000 (19:24 +0100)]
draw: Fix max_index check.

We want to fallback to draw splitting when vertex element indices
might be too high for atomic draw path (currently limited to 4095).

14 years agotgsi/ureg: Add forgotten goto in ureg_DECL_constant().
Michal Krol [Thu, 26 Nov 2009 18:21:55 +0000 (19:21 +0100)]
tgsi/ureg: Add forgotten goto in ureg_DECL_constant().

14 years agollvmpipe: Fake missing SSSE3 when simulation less capabable machines.
José Fonseca [Thu, 26 Nov 2009 11:16:19 +0000 (11:16 +0000)]
llvmpipe: Fake missing SSSE3 when simulation less capabable machines.

SSE3 != SSSE3 and so far we only use the later.

14 years agollvmpipe: Update/correct CPU requirements.
José Fonseca [Thu, 26 Nov 2009 11:15:08 +0000 (11:15 +0000)]
llvmpipe: Update/correct CPU requirements.

There are no hard requirements at the moment.

We don't really emit any sse3 yet. Just some ssse3.

Thanks to Roland for spotting these incorrections.

14 years agoMerge commit 'origin/st-shader-varients'
Roland Scheidegger [Thu, 26 Nov 2009 00:15:25 +0000 (01:15 +0100)]
Merge commit 'origin/st-shader-varients'

Conflicts:
src/mesa/state_tracker/st_atom_shader.c
src/mesa/state_tracker/st_program.c

14 years agoscons: Make it work with MinGW build of LLVM 2.6.
José Fonseca [Wed, 25 Nov 2009 18:06:12 +0000 (18:06 +0000)]
scons: Make it work with MinGW build of LLVM 2.6.

LLVM 2.5 is no longer supported on windows.

14 years agor600: add ARB_texture_non_power_of_two support.
Dave Airlie [Wed, 25 Nov 2009 05:45:31 +0000 (15:45 +1000)]
r600: add ARB_texture_non_power_of_two support.

This makes the miptree rounds up to the near POT for each level for
all radeons, however since mipmaps aren't support with NPOT on previous
radeons this calculation shouldn't cause any problems. If it does
we can just make it r600 only.

I tested a few mipmap demos on r500 and they all seem to work.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agor600 : reset stack flag with one channel only.
Richard Li [Tue, 24 Nov 2009 21:00:25 +0000 (16:00 -0500)]
r600 : reset stack flag with one channel only.

14 years agor600 : fix stack depth setting bug.
Richard Li [Tue, 24 Nov 2009 17:16:39 +0000 (12:16 -0500)]
r600 : fix stack depth setting bug.

14 years agollvmpipe: Update instructions.
José Fonseca [Tue, 24 Nov 2009 16:01:01 +0000 (16:01 +0000)]
llvmpipe: Update instructions.

14 years agosvga: Handle comment tokens when dumping.
José Fonseca [Sun, 15 Nov 2009 20:14:03 +0000 (12:14 -0800)]
svga: Handle comment tokens when dumping.

14 years agosvga: Use consistent names for public symbol names of shader dumping facilities.
José Fonseca [Tue, 24 Nov 2009 14:43:30 +0000 (14:43 +0000)]
svga: Use consistent names for public symbol names of shader dumping facilities.

14 years agosvga: Use consistent file names for dumping facilities.
José Fonseca [Tue, 24 Nov 2009 14:37:45 +0000 (14:37 +0000)]
svga: Use consistent file names for dumping facilities.

14 years agoutil: Describe a few more formats.
José Fonseca [Tue, 24 Nov 2009 14:24:38 +0000 (14:24 +0000)]
util: Describe a few more formats.

14 years agollvmpipe: Use assert instead of abort. Only verify functions on debug builds.
José Fonseca [Mon, 23 Nov 2009 11:21:11 +0000 (11:21 +0000)]
llvmpipe: Use assert instead of abort. Only verify functions on debug builds.

14 years agollvmpipe: Fix memory leak.
José Fonseca [Sun, 15 Nov 2009 14:46:48 +0000 (06:46 -0800)]
llvmpipe: Fix memory leak.

14 years agollvmpipe: Use the generic conversion routine for depths.
José Fonseca [Wed, 11 Nov 2009 01:52:53 +0000 (17:52 -0800)]
llvmpipe: Use the generic conversion routine for depths.

This allows for z32f depth format to work correctly.

14 years agollvmpipe: Be more conservative with the supported formats.
José Fonseca [Wed, 11 Nov 2009 01:51:06 +0000 (17:51 -0800)]
llvmpipe: Be more conservative with the supported formats.

We'll likely support much more formats, but doing this allows to run
more testsuites without immediately hit assertion failures.

14 years agowgl: Fix copy'n'paste typo in comment.
José Fonseca [Wed, 11 Nov 2009 00:56:43 +0000 (16:56 -0800)]
wgl: Fix copy'n'paste typo in comment.

14 years agollvmpipe: Fix typo in comparison operator.
José Fonseca [Wed, 11 Nov 2009 00:55:44 +0000 (16:55 -0800)]
llvmpipe: Fix typo in comparison operator.

14 years agotgsi: Document Declaration Semantic token and FACE semantic name.
Michal Krol [Tue, 24 Nov 2009 10:58:01 +0000 (11:58 +0100)]
tgsi: Document Declaration Semantic token and FACE semantic name.

14 years agoslang: Fix allocation size.
Michal Krol [Tue, 24 Nov 2009 10:22:03 +0000 (11:22 +0100)]
slang: Fix allocation size.

We don't need 16K+ to store a single pointer.

14 years agomesa: Fix pointer arithmetic.
Michal Krol [Tue, 24 Nov 2009 10:17:16 +0000 (11:17 +0100)]
mesa: Fix pointer arithmetic.

14 years agotgsi: Implement predicated instructions in exec.
Michal Krol [Tue, 24 Nov 2009 08:03:41 +0000 (09:03 +0100)]
tgsi: Implement predicated instructions in exec.

14 years agotgsi: Add ureg_DECL_loop().
Michal Krol [Tue, 24 Nov 2009 08:02:29 +0000 (09:02 +0100)]
tgsi: Add ureg_DECL_loop().

14 years agotgsi: Account for gallium shader token representation changes.
Michal Krol [Tue, 24 Nov 2009 08:01:48 +0000 (09:01 +0100)]
tgsi: Account for gallium shader token representation changes.

14 years agogallium: Refactor the instruction predicate TGSI token.
Michal Krol [Tue, 24 Nov 2009 07:55:40 +0000 (08:55 +0100)]
gallium: Refactor the instruction predicate TGSI token.

Rename it to tgsi_instruction_predicate -- it's no longer an extended
token. Its presence is indicated by a new flag in tgsi_instruction that
indicates whether an instruction is predicated.

Also, change predicate index representation to match the other
tokens that specify register indices.

14 years agor300: fix swtcl bo leak problem.
Dave Airlie [Tue, 24 Nov 2009 01:56:45 +0000 (11:56 +1000)]
r300: fix swtcl bo leak problem.

We can get a lot of swtcl bo allocations - need to probably abstract
this a bit further.

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agoradeon/r200/r300/r600: make bo mapping be explicit
Dave Airlie [Tue, 24 Nov 2009 00:49:34 +0000 (10:49 +1000)]
radeon/r200/r300/r600: make bo mapping be explicit

This moves the bo mapping outside the DMA layer and makes it explicit,
this should in theory make it simpler to split the clean up the dma/cmdbuf
linkage that I created before that is broken.

Tested on: r600, rv380 (tcl/no-tcl), rv200 (tcl/no-tcl)

Signed-off-by: Dave Airlie <airlied@redhat.com>
14 years agomesa: use gcc __builtin_popcount()
Brian Paul [Tue, 24 Nov 2009 01:09:46 +0000 (18:09 -0700)]
mesa: use gcc __builtin_popcount()

14 years agor300g: use util_bitcount()
Brian Paul [Tue, 24 Nov 2009 01:06:19 +0000 (18:06 -0700)]
r300g: use util_bitcount()

14 years agoegl: use util_bitcount()
Brian Paul [Tue, 24 Nov 2009 01:04:47 +0000 (18:04 -0700)]
egl: use util_bitcount()

14 years agogallium/util: added util_bitcount()
Brian Paul [Tue, 24 Nov 2009 01:04:22 +0000 (18:04 -0700)]
gallium/util: added util_bitcount()

14 years agoMerge commit 'origin/mesa_7_7_branch'
Maciej Cencora [Mon, 23 Nov 2009 21:14:48 +0000 (22:14 +0100)]
Merge commit 'origin/mesa_7_7_branch'

14 years agoradeon: fix errors in miptree related function
Maciej Cencora [Mon, 23 Nov 2009 20:59:08 +0000 (21:59 +0100)]
radeon: fix errors in miptree related function

- typo
- memory leak
- off by one (spotted by airlied)

14 years agoMerge branch 'mesa_7_7_branch' of http://anongit.freedesktop.org/git/mesa/mesa into...
Maciej Cencora [Mon, 23 Nov 2009 20:28:22 +0000 (21:28 +0100)]
Merge branch 'mesa_7_7_branch' of anongit.freedesktop.org/git/mesa/mesa into mesa_7_7_branch

14 years agosvga: Scrub Makefiles a bit
Jakob Bornecrantz [Mon, 23 Nov 2009 18:59:02 +0000 (19:59 +0100)]
svga: Scrub Makefiles a bit

Remove x86 specific hacks. Not that they will ever be used on
none x86 arches, but they are built by default. And the way the
flags where added was a hack.

14 years agoslang: Check return value from emit_instruction().
Michal Krol [Mon, 23 Nov 2009 12:22:04 +0000 (13:22 +0100)]
slang: Check return value from emit_instruction().

14 years agotgsi: Clamp the source argument in micro_exp2() to avoid Inf.
Michal Krol [Mon, 23 Nov 2009 10:32:58 +0000 (11:32 +0100)]
tgsi: Clamp the source argument in micro_exp2() to avoid Inf.

14 years agotgsi: Remove code that actually had no effect.
Michal Krol [Mon, 23 Nov 2009 10:29:29 +0000 (11:29 +0100)]
tgsi: Remove code that actually had no effect.

14 years agosoftpipe: Initialise TGSI machine's Face.
Michal Krol [Mon, 23 Nov 2009 09:51:07 +0000 (10:51 +0100)]
softpipe: Initialise TGSI machine's Face.

14 years agotgsi: Fix POSITION and FACE fragment shader inputs.
Michal Krol [Mon, 23 Nov 2009 09:49:41 +0000 (10:49 +0100)]
tgsi: Fix POSITION and FACE fragment shader inputs.

14 years agotgsi: Bring BGNFOR/ENDFOR implementation up to spec.
Michal Krol [Mon, 23 Nov 2009 09:40:05 +0000 (10:40 +0100)]
tgsi: Bring BGNFOR/ENDFOR implementation up to spec.

14 years agotgsi: Fake TXD implementation in exec.
Michal Krol [Thu, 19 Nov 2009 12:05:58 +0000 (13:05 +0100)]
tgsi: Fake TXD implementation in exec.

14 years agotgsi: Add execution debugging facilities to exec.
Michal Krol [Thu, 19 Nov 2009 12:01:08 +0000 (13:01 +0100)]
tgsi: Add execution debugging facilities to exec.

14 years agoslang: Be more robust with memory in concat_shaders().
Michal Krol [Thu, 19 Nov 2009 11:52:58 +0000 (12:52 +0100)]
slang: Be more robust with memory in concat_shaders().

14 years agomesa: Initialize variable in _mesa_get_texel_fetch_func.
Vinson Lee [Mon, 23 Nov 2009 06:52:59 +0000 (01:52 -0500)]
mesa: Initialize variable in _mesa_get_texel_fetch_func.

14 years agoglx: Prevent potential null pointer deference in driCreateContext.
Vinson Lee [Mon, 23 Nov 2009 06:30:32 +0000 (01:30 -0500)]
glx: Prevent potential null pointer deference in driCreateContext.

14 years agoglu/sgi: Fix memory leak in bitmapBuild2DMipmaps.
Vinson Lee [Mon, 23 Nov 2009 06:09:06 +0000 (01:09 -0500)]
glu/sgi: Fix memory leak in bitmapBuild2DMipmaps.

14 years agoglu/sgi: Fix memory leak in gluScaleImage3D.
Vinson Lee [Mon, 23 Nov 2009 05:57:37 +0000 (00:57 -0500)]
glu/sgi: Fix memory leak in gluScaleImage3D.

14 years agor600 : add support for shader instruction trunc and discard.
Richard Li [Mon, 23 Nov 2009 02:31:46 +0000 (21:31 -0500)]
r600 : add support for shader instruction trunc and discard.

14 years agor600: hopefully fix segfault.
Dave Airlie [Sun, 22 Nov 2009 20:44:29 +0000 (06:44 +1000)]
r600: hopefully fix segfault.

14 years agor600: fix inline issues
Dave Airlie [Sun, 22 Nov 2009 20:31:29 +0000 (06:31 +1000)]
r600: fix inline issues

14 years agor600 : add stack depth calculation, enable CF pop.
Richard Li [Sun, 22 Nov 2009 17:58:28 +0000 (12:58 -0500)]
r600 : add stack depth calculation, enable CF pop.

14 years agor600 : use cf for all pop now, left optimization for future.
Richard Li [Fri, 20 Nov 2009 21:36:55 +0000 (16:36 -0500)]
r600 : use cf for all pop now, left optimization for future.

14 years agor300: fix VP source conflict resolution on 64-bit machines
Maciej Cencora [Sun, 22 Nov 2009 14:08:46 +0000 (15:08 +0100)]
r300: fix VP source conflict resolution on 64-bit machines

On 32bit machines we were lucky because the sizeof(reg) == sizeof(rc_src_register).
On 64bit machines pointers are 8 bytes long, so we were overwriting other data.