Roland Scheidegger [Mon, 7 Dec 2009 19:35:42 +0000 (20:35 +0100)]
gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safe
use pointer to union instead of void pointer.
gcc complained a lot, depending what the pointer originally actually was.
Looks like it's in fact maybe legal to cast for instance uint pointers to
union pointers as long as union contains a uint type, hence use this with some
callers, other just use union util_color in the first place.
Roland Scheidegger [Mon, 7 Dec 2009 19:11:46 +0000 (20:11 +0100)]
mesa: fix strict aliasing issues in half-to-float/float-to-half conversions
use union instead of casts
Roland Scheidegger [Fri, 4 Dec 2009 17:34:52 +0000 (18:34 +0100)]
identity: fix copy&paste error
Roland Scheidegger [Fri, 4 Dec 2009 17:23:35 +0000 (18:23 +0100)]
svga: fix another pipe_reference strict aliasing violation
Roland Scheidegger [Thu, 3 Dec 2009 22:58:30 +0000 (23:58 +0100)]
gallium: fix remaining users of pipe_reference function
Roland Scheidegger [Thu, 3 Dec 2009 22:26:13 +0000 (23:26 +0100)]
mesa: use _mesa_memcpy for COPY_4FV macro
Gets rid of one of the worst strict-aliasing offenders, and actually
produces faster code (at least in some cases, when compiler can use
for instance 64bit moves for memcpy).
(note _mesa_memcpy should get inlined)
José Fonseca [Thu, 3 Dec 2009 22:20:56 +0000 (23:20 +0100)]
gallium: fix ref counting bug in pb_bufmgr
This was discovered by the pipe_reference api change.
Roland Scheidegger [Thu, 3 Dec 2009 22:15:38 +0000 (23:15 +0100)]
gallium: fix reference counting functions to be strict-aliasing compliant
Historically, parts of mesa code are not strict-aliasing safe, hence
-fno-strict-aliasing is needed to compile (this got forgotten for scons
builds for gallium, which indeed not only caused compiler warnings but also
unexplicable crashes in non-debug builds). However, we should try to eliminate
code not complying with strict-aliasing code at least for gallium.
Hence change pipe_reference functions to make them strict-aliasing compliant.
This adds a bit more complexity (especially for derived classes) but is the
right thing to do, and it does in fact fix a segfault.
Michal Krol [Thu, 3 Dec 2009 08:13:52 +0000 (09:13 +0100)]
tgsi/ureg: Fix ureg_emit_src().
Corbin Simpson [Wed, 2 Dec 2009 20:54:51 +0000 (12:54 -0800)]
radeong: Clean up some bad code.
Corbin Simpson [Wed, 2 Dec 2009 20:42:58 +0000 (12:42 -0800)]
radeong: Add helper to determine pipe driver.
Corbin Simpson [Wed, 2 Dec 2009 20:31:04 +0000 (12:31 -0800)]
radeong: Do ioctls before selecting pipe driver.
Corbin Simpson [Wed, 2 Dec 2009 20:16:19 +0000 (12:16 -0800)]
r300g, radeong: De-specialize r300_winsys into radeon_winsys.
There's like five good reasons for this, I swear.
Corbin Simpson [Wed, 2 Dec 2009 19:34:00 +0000 (11:34 -0800)]
radeong: Change ioctl order, document it.
Corbin Simpson [Wed, 2 Dec 2009 19:22:55 +0000 (11:22 -0800)]
r300g: No vertex textures here.
Brian Paul [Wed, 2 Dec 2009 19:24:24 +0000 (12:24 -0700)]
cso: check if pipe_context::bind_vertex_sampler_states is non-null
Fixes segfaults upon exit when the CSO module is releasing its objects.
Brian Paul [Wed, 2 Dec 2009 19:20:15 +0000 (12:20 -0700)]
Revert "llvmpipe: plug in dummy pipe_context::set_vertex_sampler_textures function"
This reverts commit
792888121b92913733daec7526c9441f27ce1231.
We're instead returning 0 for the PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS query.
Brian Paul [Wed, 2 Dec 2009 19:19:31 +0000 (12:19 -0700)]
llvmpipe: return 0 for PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS query
The driver (and draw module) don't support vertex shader textures yet.
Brian Paul [Wed, 2 Dec 2009 17:09:53 +0000 (10:09 -0700)]
llvmpipe: plug in dummy pipe_context::set_vertex_sampler_textures function
Fixes immediate segfault.
Brian Paul [Wed, 2 Dec 2009 16:23:37 +0000 (09:23 -0700)]
cell: fix TGSI breakage
Brian Paul [Wed, 2 Dec 2009 16:23:15 +0000 (09:23 -0700)]
gallium/util: __builtin_bswap32() is in only gcc 4.3 or later
Brian Paul [Wed, 2 Dec 2009 16:22:42 +0000 (09:22 -0700)]
gallium/util: added PIPE_CC_GCC_VERSION symbol
Brian Paul [Thu, 19 Nov 2009 16:55:08 +0000 (09:55 -0700)]
mesa: added comment for target_enum_to_index()
Brian Paul [Mon, 30 Nov 2009 16:21:49 +0000 (09:21 -0700)]
softpipe: setup machine->Face without a conditional
Keith Whitwell [Tue, 1 Dec 2009 15:01:00 +0000 (15:01 +0000)]
tgsi: fix ureg emit after version token change
Keith Whitwell [Tue, 1 Dec 2009 14:54:32 +0000 (14:54 +0000)]
st/xorg: fix merge droppings
These were stranded in emacs and not saved before committing.
Keith Whitwell [Tue, 1 Dec 2009 14:31:14 +0000 (14:31 +0000)]
Merge commit 'origin/tgsi-simplify-ext'
Conflicts:
src/gallium/drivers/r300/r300_vs.c
Keith Whitwell [Tue, 1 Dec 2009 10:57:37 +0000 (10:57 +0000)]
Merge commit 'origin/mesa_7_7_branch'
Conflicts:
src/gallium/drivers/svga/svga_screen_texture.c
src/gallium/state_trackers/xorg/xorg_composite.c
src/gallium/state_trackers/xorg/xorg_exa.c
src/gallium/state_trackers/xorg/xorg_renderer.c
src/gallium/state_trackers/xorg/xorg_xv.c
src/mesa/main/texgetimage.c
src/mesa/main/version.h
Michal Krol [Tue, 1 Dec 2009 10:19:33 +0000 (11:19 +0100)]
mesa: Update vertex texture code after gallium changes.
Marek Olšák [Fri, 27 Nov 2009 09:19:20 +0000 (10:19 +0100)]
r300g: simplify allocations of VS output registers
No need to parse TGSI tokens since it's easier to walk through shader
semantics.
Also fog coordinates now work reliably.
Marek Olšák [Fri, 27 Nov 2009 05:36:31 +0000 (06:36 +0100)]
r300g: simplify allocations of FS input registers
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.
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.
Marek Olšák [Tue, 24 Nov 2009 23:24:28 +0000 (00:24 +0100)]
r300g: add R300 prefix in reg definitions
Michal Krol [Tue, 1 Dec 2009 09:07:15 +0000 (10:07 +0100)]
cso: Fix function prototype.
Michal Krol [Tue, 1 Dec 2009 08:50:38 +0000 (09:50 +0100)]
trace: Implement separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 08:39:08 +0000 (09:39 +0100)]
fo: Implement separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 08:01:27 +0000 (09:01 +0100)]
id: Implement separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 07:54:30 +0000 (08:54 +0100)]
trace: Reduce double semicolons to single ones.
Michal Krol [Tue, 1 Dec 2009 07:52:37 +0000 (08:52 +0100)]
sp: Do not falsely advertise support for some SNORM formats.
Michal Krol [Tue, 1 Dec 2009 07:51:20 +0000 (08:51 +0100)]
sp: Implement separate vertex sampler state.
Michal Krol [Tue, 1 Dec 2009 07:47:00 +0000 (08:47 +0100)]
python: 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.
Michal Krol [Tue, 1 Dec 2009 07:43:51 +0000 (08:43 +0100)]
trace: 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.
Michal Krol [Tue, 1 Dec 2009 07:40:31 +0000 (08:40 +0100)]
r300: 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.
Michal Krol [Tue, 1 Dec 2009 07:40:04 +0000 (08:40 +0100)]
lp: 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.
Michal Krol [Tue, 1 Dec 2009 07:39:19 +0000 (08:39 +0100)]
i915: 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.
Michal Krol [Tue, 1 Dec 2009 07:38:32 +0000 (08:38 +0100)]
cell: 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.
Michal Krol [Tue, 1 Dec 2009 07:37:15 +0000 (08:37 +0100)]
draw: Update for renamed sampler/texture state setters.
Michal Krol [Tue, 1 Dec 2009 07:35:43 +0000 (08:35 +0100)]
cso: Add support for separate vertex 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.
Michal Krol [Fri, 27 Nov 2009 11:33:17 +0000 (12:33 +0100)]
tgsi/sanity: Up MAX_REGISTERS to 1024.
Ian Romanick [Tue, 1 Dec 2009 01:56:07 +0000 (17:56 -0800)]
mesa: set version string to 7.7-rc1
Ian Romanick [Tue, 1 Dec 2009 01:47:07 +0000 (17:47 -0800)]
Merge branch 'mesa_7_6_branch' into mesa_7_7_branch
Conflicts:
progs/util/shaderutil.c
src/mesa/drivers/dri/r600/r600_context.c
src/mesa/main/version.h
Ian Romanick [Mon, 30 Nov 2009 20:43:12 +0000 (12:43 -0800)]
i915: Actually put i915PointParameterfv in the driver function table. Duh.
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.
Vinson Lee [Mon, 30 Nov 2009 02:17:44 +0000 (21:17 -0500)]
mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
_mesa_TexParameterf calls set_tex_parameterf, which uses the params
argument as an array.
Ian Romanick [Mon, 30 Nov 2009 01:49:55 +0000 (17:49 -0800)]
i915: Fallback bit define missed on previous commit
Ian Romanick [Mon, 30 Nov 2009 01:43:38 +0000 (17:43 -0800)]
i915: Round point sizes instead of truncate.
Ian Romanick [Mon, 30 Nov 2009 01:40:02 +0000 (17:40 -0800)]
i915: Enable point sprite coordinate generation
Support still isn't completely correct, but it's better. piglit
point-sprite now passes. However, glean's pointSprite test fails. In
that test the texture on the sprite is somehow inverted as though
GL_POINT_SPRITE_COORD_ORIGIN were set to GL_LOWER_LEFT. i915 hardware
shouldn't be able to do that!
I believe there are also problems when not all texture units have
GL_COORD_REPLACE set. The hardware enable seems to be all or nothing.
Fixes bug #25313.
Vinson Lee [Sun, 29 Nov 2009 23:18:23 +0000 (18:18 -0500)]
mesa: Fix array out-of-bounds access by _mesa_TexParameterf.
_mesa_TexParameterf calls set_tex_parameteri, which uses the params
argument as an array.
Richard Li [Sun, 29 Nov 2009 17:28:32 +0000 (12:28 -0500)]
r600 : clena up a bit for last commit.
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.
Maciej Cencora [Sun, 29 Nov 2009 14:40:13 +0000 (15:40 +0100)]
radeon: update miptree code a little
Simplify gl image level <-> miptree level mapping (are equal now).
Don't allocate miptree for images that won't fit in it (fixes #25230).
Maciej Cencora [Sun, 29 Nov 2009 11:36:09 +0000 (12:36 +0100)]
radeon: don't check the same miptree many times when looking for matching miptrees
Maciej Cencora [Sun, 29 Nov 2009 11:27:29 +0000 (12:27 +0100)]
radeon: add some debugging info
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.
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.
Christoph Bumiller [Thu, 26 Nov 2009 16:03:00 +0000 (17:03 +0100)]
nv50: don't permanently negate src in emit_ddy
Vinson Lee [Sun, 29 Nov 2009 05:50:48 +0000 (00:50 -0500)]
mesa: Fix array out-of-bounds access by _mesa_TexGenf.
_mesa_TexGenf calls _mesa_TexGenfv, which uses the params argument
as an array.
Vinson Lee [Sun, 29 Nov 2009 04:47:23 +0000 (23:47 -0500)]
mesa: Fix array out-of-bounds access by _mesa_TexGeni.
_mesa_TexGeni calls _mesa_TexGeniv, which uses the params argument
as an array.
Vinson Lee [Sun, 29 Nov 2009 04:22:31 +0000 (23:22 -0500)]
dri: Fix potential null pointer dereference in driBindContext.
Vinson Lee [Sun, 29 Nov 2009 03:04:06 +0000 (22:04 -0500)]
mesa: Fix array out-of-bounds access in _mesa_TexEnvf.
_mesa_TexEnvf calls _mesa_TexEnvfv, which uses the param argument
as an array.
Maciej Cencora [Sat, 28 Nov 2009 20:31:24 +0000 (21:31 +0100)]
radeon: need to flush cs when moving images between mipmap trees
Corbin Simpson [Sat, 28 Nov 2009 18:45:17 +0000 (10:45 -0800)]
util: Fix bad code.
Uf. How embarrassing.
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.
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.
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.
Christoph Bumiller [Thu, 26 Nov 2009 15:58:59 +0000 (16:58 +0100)]
gallium/util: added util_bswap32()
José Fonseca [Fri, 27 Nov 2009 16:01:36 +0000 (16:01 +0000)]
scons: Promote pointer arithmetic to error.
All code covered by scons is being built on multiple OSes, so pointer
arithmetic must really be addressed when spotted.
José Fonseca [Fri, 27 Nov 2009 16:01:11 +0000 (16:01 +0000)]
configs: Warn about pointer arithmetic.
It's not portable. Warn to help catching it early.
José Fonseca [Fri, 27 Nov 2009 15:58:02 +0000 (15:58 +0000)]
mesa: Avoid void pointer arithmetic.
Roland Scheidegger [Fri, 27 Nov 2009 16:41:42 +0000 (17:41 +0100)]
svga: fix for not using texture width/height/depth arrays
Roland Scheidegger [Fri, 27 Nov 2009 16:40:24 +0000 (17:40 +0100)]
r300g,llvmpipe: fix some more merge problems
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
Keith Whitwell [Fri, 27 Nov 2009 15:28:46 +0000 (15:28 +0000)]
st/xorg: proper fix for compositing after rounding up
Basically don't round up shared textures. This fixes compiz,
but I'm afraid that rounding up texture sizes here in the driver
is doomed, as it will inevitably break texture wrap modes.
José Fonseca [Fri, 27 Nov 2009 14:55:20 +0000 (14:55 +0000)]
rbug: Mention where the GUI can be found.
José Fonseca [Fri, 27 Nov 2009 13:59:37 +0000 (13:59 +0000)]
svga: Re-add shader dumping.
Keith Whitwell [Fri, 27 Nov 2009 14:03:10 +0000 (14:03 +0000)]
Revert "st/xorg: fix composite after texture size changes"
This reverts commit
124ae596806f1a77af46f1f0e446d448da6e953a.
Pushed by mistake
Keith Whitwell [Fri, 27 Nov 2009 13:59:00 +0000 (13:59 +0000)]
st/xorg: fix composite after texture size changes
José Fonseca [Wed, 11 Nov 2009 00:56:43 +0000 (16:56 -0800)]
wgl: Fix copy'n'paste typo in comment.
José Fonseca [Sun, 15 Nov 2009 20:14:03 +0000 (12:14 -0800)]
svga: Handle comment tokens when dumping.
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.
José Fonseca [Tue, 24 Nov 2009 14:37:45 +0000 (14:37 +0000)]
svga: Use consistent file names for dumping facilities.
Keith Whitwell [Fri, 27 Nov 2009 12:24:42 +0000 (12:24 +0000)]
st/xorg: speculatively round textures up to nearest POT
I'm not sure if this is a great change, but helps with caching.
Probably we want to turn this on/off on a driver-by-driver basis.