platform/upstream/mesa.git
13 years agogallium/util: new polygon stipple utility helper
Brian Paul [Thu, 10 Mar 2011 16:44:30 +0000 (09:44 -0700)]
gallium/util: new polygon stipple utility helper

The polygon stipple fallback does not have to be implemented in the
draw module (it doesn't need window coords, etc).  Drivers can use
this utility and avoid sw vertex fallbacks if pstipple is enabled.
Note: this is WIP and not used by any driver yet.

13 years agoglsl: silence warning in printf() with a cast
Brian Paul [Thu, 10 Mar 2011 16:29:00 +0000 (09:29 -0700)]
glsl: silence warning in printf() with a cast

13 years agoglx: fix null pointer deref in __glXGenerateError()
Brian Paul [Thu, 10 Mar 2011 15:50:52 +0000 (08:50 -0700)]
glx: fix null pointer deref in __glXGenerateError()

The gc var would be NULL if called from line 238.  Instead, get
the opcode from __glXSetupForCommand(dpy) as done in other places.
And remove the unused gc parameter.

Fixes a bug reported by "John Doe" on 3/9/2011.

NOTE: This is a candidate for the 7.10 branch.

13 years agogallium/svga: Only upload parts of vertexarrays that are actually used
Thomas Hellstrom [Wed, 9 Mar 2011 11:39:14 +0000 (12:39 +0100)]
gallium/svga: Only upload parts of vertexarrays that are actually used

Make sure we only upload parts of vertex arrays that are actually used
by a draw command.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agor600: don't close fd on failed load
Dave Airlie [Thu, 10 Mar 2011 02:01:43 +0000 (12:01 +1000)]
r600: don't close fd on failed load

This fd gets passed in from outside, closing it causes the X.org server
to crap out when the driver doesn't identify the chipset.

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agointel: Don't complain when getparam fails due to a missing param.
Eric Anholt [Wed, 9 Mar 2011 20:54:14 +0000 (12:54 -0800)]
intel: Don't complain when getparam fails due to a missing param.

This is an expected behavior when we're testing for the presence of
new kernel features.

13 years agoi965: Pack the tracked state atoms into separate arrays for prepare/emit.
Chris Wilson [Tue, 8 Mar 2011 00:43:45 +0000 (16:43 -0800)]
i965: Pack the tracked state atoms into separate arrays for prepare/emit.

Improves performance of a hacked-up scissor-many (to reuse a small set
of scissors instead of blowing out the cache, and then to run 100x
more iterations so it actually took some time) by 3.6% +/- 1.2% (n=10)

13 years agonv50: add back initialization of redefine_user_buffer
Christoph Bumiller [Wed, 9 Mar 2011 16:25:08 +0000 (17:25 +0100)]
nv50: add back initialization of redefine_user_buffer

Got lost in f80c03e1875fe96ff2f4c022e3cb76357828140d.

13 years agor600g: remove some now unneeded code from r600_bc_vtx_build
Christian König [Wed, 9 Mar 2011 12:54:35 +0000 (13:54 +0100)]
r600g: remove some now unneeded code from r600_bc_vtx_build

13 years agor600g: R700+ can do more than 8 tex and vtx clause in one CF inst
Christian König [Wed, 9 Mar 2011 12:11:10 +0000 (13:11 +0100)]
r600g: R700+ can do more than 8 tex and vtx clause in one CF inst

Reviewed-by: Henri Verbeet <hverbeet@gmail.com>
13 years agor600g: split R600 and R700 CF generation for VTX and TEX
Christian König [Wed, 9 Mar 2011 12:03:50 +0000 (13:03 +0100)]
r600g: split R600 and R700 CF generation for VTX and TEX

Reviewed-by: Henri Verbeet <hverbeet@gmail.com>
13 years agosvga: Add a new winsys entry point to query the hw version.
José Fonseca [Wed, 23 Feb 2011 18:30:27 +0000 (18:30 +0000)]
svga: Add a new winsys entry point to query the hw version.

13 years agoutil: Use PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE in pipe_buffer_write.
José Fonseca [Thu, 10 Feb 2011 20:54:18 +0000 (20:54 +0000)]
util: Use PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE in pipe_buffer_write.

13 years agoutil: add ensure_sanity checks, fix a bug
Keith Whitwell [Sun, 9 Jan 2011 15:03:16 +0000 (15:03 +0000)]
util: add ensure_sanity checks, fix a bug

Add ensure_sanity checks.
Fix a bug which caused us to misplace entries adding to a full cache.

13 years agoutil: improve cache collision behaviour
Keith Whitwell [Wed, 22 Dec 2010 12:10:02 +0000 (12:10 +0000)]
util: improve cache collision behaviour

Add linear probing on collisions.

Expand entry array by a fixed scale (currently 2) to help avoid
collisions.

Use a LRU approach to ensure that the number of entries stored in the
cache doesn't exceed the requested size.

13 years agoutil: Add remove to util_cache
Alex Corscadden [Thu, 6 Jan 2011 18:59:13 +0000 (10:59 -0800)]
util: Add remove to util_cache

I need to be able to remove entries from util_cache caches.  This change
enables that functionality.

13 years agoutil: Allow util_draw_texquad to draw quads with non-integer coordinates.
Alex Corscadden [Wed, 9 Mar 2011 11:12:09 +0000 (11:12 +0000)]
util: Allow util_draw_texquad to draw quads with non-integer coordinates.

13 years agowgl: Force framebuffer validation on glViewport.
José Fonseca [Tue, 8 Mar 2011 20:08:35 +0000 (20:08 +0000)]
wgl: Force framebuffer validation on glViewport.

13 years agogallium/svga: Don't replace user vertex buffer with uploaded copy
Thomas Hellstrom [Mon, 7 Mar 2011 09:40:26 +0000 (10:40 +0100)]
gallium/svga: Don't replace user vertex buffer with uploaded copy

Do that later on when we set up the hwtnl state instead.
This addresses a problem when we drop the uploaded copy due to a vb
size change, it will remain referenced in svga->curr.vb[], and the
new contents of the vb will never be uploaded.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agoscons: Fix immediate Python exceptions with SCons on SunOS.
Vinson Lee [Wed, 9 Mar 2011 01:59:57 +0000 (17:59 -0800)]
scons: Fix immediate Python exceptions with SCons on SunOS.

The build still fails.

13 years agost/python: Add timeout parameter to fence_finish.
Vinson Lee [Wed, 9 Mar 2011 00:18:16 +0000 (16:18 -0800)]
st/python: Add timeout parameter to fence_finish.

This is a follow-up to commit b39bccbd4ed71e9585da4cf5acf7b887b2e90899.

Fixes Linux SCons build.

13 years agor300g: handle timeout parameter in fence_finish
Marek Olšák [Sat, 5 Mar 2011 20:46:06 +0000 (21:46 +0100)]
r300g: handle timeout parameter in fence_finish

13 years agogallium: add timeout parameter to fence_finish
Marek Olšák [Sat, 5 Mar 2011 20:23:54 +0000 (21:23 +0100)]
gallium: add timeout parameter to fence_finish

This is a follow-up to the ARB_sync patch for st/mesa and completes
the ARB_sync implementation.

13 years agost/mesa: implement ARB_sync
Marek Olšák [Sat, 5 Mar 2011 19:32:28 +0000 (20:32 +0100)]
st/mesa: implement ARB_sync

The ServerWaitSync implementation matches Intel's driver.

The extension is advertised when pipe_screen::fence_finish is set.

13 years agor300g: add LATC support
Marek Olšák [Mon, 7 Mar 2011 01:25:22 +0000 (02:25 +0100)]
r300g: add LATC support

13 years agost/mesa: cleanup checking for signed compressed formats in generate_mipmaps
Marek Olšák [Mon, 7 Mar 2011 19:23:05 +0000 (20:23 +0100)]
st/mesa: cleanup checking for signed compressed formats in generate_mipmaps

13 years agost/mesa: add LATC and 3DC support
Marek Olšák [Mon, 7 Mar 2011 01:24:43 +0000 (02:24 +0100)]
st/mesa: add LATC and 3DC support

softpipe passes all tests.

13 years agogallium/util: add LATC support
Marek Olšák [Mon, 7 Mar 2011 01:21:58 +0000 (02:21 +0100)]
gallium/util: add LATC support

Again, a lot of code is shared with RGTC.

The layout is UTIL_FORMAT_LAYOUT_RGTC, because LATC is just swizzled RGTC.

13 years agomesa: add ATI_texture_compression_3dc
Marek Olšák [Mon, 7 Mar 2011 01:18:49 +0000 (02:18 +0100)]
mesa: add ATI_texture_compression_3dc

LUMINANCE_ALPHA_LATC2 = LUMINANCE_ALPHA_3DC, so this is easy.

Note that there is no specification for 3DC, just a few white papers
from ATI.

13 years agomesa: add EXT_texture_compression_latc
Marek Olšák [Mon, 7 Mar 2011 01:03:52 +0000 (02:03 +0100)]
mesa: add EXT_texture_compression_latc

The encoding/decoding algorithms are shared with RGTC.
Thanks to some magic with the base format, the RGTC texstore functions work
for LATC too.

swrast passes the related piglit tests besides two things:
- The alpha channel is wrong (it's always 1), however the incorrect alpha
  channel makes some other tests fail too, so I guess it's unrelated to LATC.
- Signed LATC fetches aren't correct yet (signed values are clamped to [0,1]),
  however RGTC has the same problem.

Further testing (with other of my patches) shows that hardware drivers
and softpipe work.

BTW, ETQW uses this extension.

13 years agost/mesa: Fix an incorrect user vertex buffer reference
Thomas Hellstrom [Mon, 7 Mar 2011 10:24:43 +0000 (11:24 +0100)]
st/mesa: Fix an incorrect user vertex buffer reference

st->user_vb[attr] was always pointing to the same user vb, regardless
of the value of attr. Together with reverting the temporary workaround
for bug 34378, and a fix in the svga driver, this fixes googleearth on svga.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
13 years agovbo: mark vertex arrays as dirty when re-binding
Marek Olšák [Mon, 7 Mar 2011 18:34:34 +0000 (19:34 +0100)]
vbo: mark vertex arrays as dirty when re-binding

This fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=34378

13 years agor300/compiler: remove unused variables
Marek Olšák [Tue, 8 Mar 2011 21:13:29 +0000 (22:13 +0100)]
r300/compiler: remove unused variables

13 years agoglsl: Use insert_before for lists instead of open coding it
Ian Romanick [Tue, 8 Mar 2011 19:43:52 +0000 (11:43 -0800)]
glsl: Use insert_before for lists instead of open coding it

13 years agolinker: Add imported functions to the linked IR
Ian Romanick [Tue, 8 Mar 2011 19:41:35 +0000 (11:41 -0800)]
linker: Add imported functions to the linked IR

Fixes piglit test glsl-function-chain16 and bugzilla #34203.

NOTE: This is a candidate for stable release branches.

13 years agoglsl: Add several function / call related validations
Ian Romanick [Mon, 7 Mar 2011 23:13:06 +0000 (15:13 -0800)]
glsl: Add several function / call related validations

The signature list in a function must contain only ir_function_signature nodes.

The target of an ir_call must be an ir_function_signature.

These were added while trying to debug Mesa bugzilla #34203.

13 years agoglsl: Function signatures cannot have NULL return type
Ian Romanick [Mon, 7 Mar 2011 23:08:22 +0000 (15:08 -0800)]
glsl: Function signatures cannot have NULL return type

The return type can be void, and this is the case where a `_ret_val'
variable should not be declared.

13 years agor600g: set start instance correctly
Christian König [Tue, 8 Mar 2011 15:48:39 +0000 (16:48 +0100)]
r600g: set start instance correctly

13 years agoswrast: flip the conditionals in shadow_compare4() for readability
Brian Paul [Tue, 8 Mar 2011 15:31:12 +0000 (08:31 -0700)]
swrast: flip the conditionals in shadow_compare4() for readability

13 years agoswrast: add coord clamping, fix comparisons for shadow testing
Philip Taylor [Tue, 8 Mar 2011 15:21:10 +0000 (08:21 -0700)]
swrast: add coord clamping, fix comparisons for shadow testing

This fixes https://bugs.freedesktop.org/show_bug.cgi?id=31159 for swrast
and piglit depth-tex-compare.

NOTE: This is a candidate for the 7.10 branch.

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agodocs: added Depth format cube textures to GL3.txt list
Brian Paul [Tue, 8 Mar 2011 15:30:13 +0000 (08:30 -0700)]
docs: added Depth format cube textures to GL3.txt list

13 years agor300g: decide whether a flush should be asynchronous when calling it
Marek Olšák [Tue, 8 Mar 2011 07:20:31 +0000 (08:20 +0100)]
r300g: decide whether a flush should be asynchronous when calling it

Thread offloading is not sometimes desirable, e.g. when mapping a buffer.

13 years agor300g: use pipelined transfers for RGTC textures
Marek Olšák [Tue, 8 Mar 2011 07:17:12 +0000 (08:17 +0100)]
r300g: use pipelined transfers for RGTC textures

13 years agor300/compiler: fix equal and notequal shadow compare functions
Marek Olšák [Tue, 8 Mar 2011 06:36:40 +0000 (07:36 +0100)]
r300/compiler: fix equal and notequal shadow compare functions

13 years agor300/compiler: detect constants harder
Marek Olšák [Tue, 8 Mar 2011 05:54:14 +0000 (06:54 +0100)]
r300/compiler: detect constants harder

13 years agor300/compiler: improve the detection of constants for constant folding
Marek Olšák [Tue, 8 Mar 2011 05:37:50 +0000 (06:37 +0100)]
r300/compiler: improve the detection of constants for constant folding

Now the expression V==0 generates one instruction instead of two.

13 years agor300/compiler: saturate Z before the shadow comparison
Marek Olšák [Tue, 8 Mar 2011 03:00:07 +0000 (04:00 +0100)]
r300/compiler: saturate Z before the shadow comparison

This fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=31159

NOTE: This is a candidate for the 7.9 and 7.10 branches.

13 years agollvmpipe: clamp texcoords in lp_build_sample_compare()
Brian Paul [Tue, 8 Mar 2011 01:59:39 +0000 (18:59 -0700)]
llvmpipe: clamp texcoords in lp_build_sample_compare()

See previous commit for more info.

NOTE: This is a candidate for the 7.10 branch.

13 years agosoftpipe: clamp texcoords in sample_compare()
Philip Taylor [Tue, 8 Mar 2011 01:56:51 +0000 (18:56 -0700)]
softpipe: clamp texcoords in sample_compare()

This fixes http://bugs.freedesktop.org/show_bug.cgi?id=31159 for softpipe
and fixes the piglit depth-tex-compare test.

NOTE: This is a candidate for the 7.10 branch.

Signed-off-by: Brian Paul <brianp@vmware.com>
13 years agomesa: return after invalidating renderbuffer
Marek Olšák [Mon, 7 Mar 2011 22:33:36 +0000 (23:33 +0100)]
mesa: return after invalidating renderbuffer

13 years agost/mesa: fail to alloc a renderbuffer if st_choose_renderbuffer_format fails
Marek Olšák [Sun, 6 Mar 2011 04:26:13 +0000 (05:26 +0100)]
st/mesa: fail to alloc a renderbuffer if st_choose_renderbuffer_format fails

This fixes:
  state_tracker/st_format.c:401:st_pipe_format_to_mesa_format:
  Assertion `0' failed.

13 years agomesa: invalidate framebuffer if internal format of renderbuffer is changed
Marek Olšák [Sun, 6 Mar 2011 04:26:12 +0000 (05:26 +0100)]
mesa: invalidate framebuffer if internal format of renderbuffer is changed

RenderTexture doesn't have to be called in invalidate_rb, I guess.

13 years agomesa: initialize DummyBufferObject's mutex
Brian Paul [Mon, 7 Mar 2011 21:57:20 +0000 (14:57 -0700)]
mesa: initialize DummyBufferObject's mutex

The mutex's fields were all zeros.  That's OK on Linux, but not Windows.

NOTE: This is a candidate for the 7.10 branch.

13 years agost/mesa: fix incorrect version checking code
Brian Paul [Sat, 5 Mar 2011 18:08:57 +0000 (11:08 -0700)]
st/mesa: fix incorrect version checking code

13 years agost/glx: whitespace, 80-column fixes
Brian Paul [Sat, 5 Mar 2011 17:23:12 +0000 (10:23 -0700)]
st/glx: whitespace, 80-column fixes

13 years agomesa: remove stray _mesa_finish() call in _mesa_CopyPixels()
Brian Paul [Mon, 7 Mar 2011 21:01:09 +0000 (14:01 -0700)]
mesa: remove stray _mesa_finish() call in _mesa_CopyPixels()

Leftover debug code from 6364d75008b4fa580c1cb47c59ba1cf3e0caa6cd.

13 years agor600g: Simplify some swizzle lookups.
Henri Verbeet [Mon, 7 Mar 2011 20:15:03 +0000 (21:15 +0100)]
r600g: Simplify some swizzle lookups.

13 years agor600g: Constant buffers can contain up to 4096 constants.
Henri Verbeet [Mon, 7 Mar 2011 20:15:03 +0000 (21:15 +0100)]
r600g: Constant buffers can contain up to 4096 constants.

13 years agoi915: Only invert wpos when rendering to the system framebuffer.
Henri Verbeet [Mon, 7 Mar 2011 20:15:03 +0000 (21:15 +0100)]
i915: Only invert wpos when rendering to the system framebuffer.

13 years agoi915: Derive the gl_fragment_program from i915_fragment_program.
Henri Verbeet [Mon, 7 Mar 2011 20:15:03 +0000 (21:15 +0100)]
i915: Derive the gl_fragment_program from i915_fragment_program.

Instead of using the current gl_fragment_program. These aren't necessarily
the same, for example when translate_program() is called by
i915ValidateFragmentProgram().

13 years agoglx: Take GLPROTO_CFLAGS into account.
Henri Verbeet [Mon, 7 Mar 2011 20:15:02 +0000 (21:15 +0100)]
glx: Take GLPROTO_CFLAGS into account.

13 years agointel: check for miptree allocation failure
Chris Wilson [Fri, 4 Mar 2011 15:14:11 +0000 (15:14 +0000)]
intel: check for miptree allocation failure

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agointel: Add some defense against buffer allocation failure for subimage blits
Chris Wilson [Fri, 4 Mar 2011 15:04:36 +0000 (15:04 +0000)]
intel: Add some defense against buffer allocation failure for subimage blits

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agointel: Add some defense against bo allocation failure
Chris Wilson [Fri, 4 Mar 2011 15:04:09 +0000 (15:04 +0000)]
intel: Add some defense against bo allocation failure

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
13 years agoegl_dri2: Add attribute map for __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE
Benjamin Franzke [Sun, 6 Mar 2011 23:29:13 +0000 (00:29 +0100)]
egl_dri2: Add attribute map for __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE

Broken since 6538b5824e298eaebede2d9686c7607c44ab446a.
Thanks to iskren on #wayland for helping on finding this.

13 years agor600g: use long long integers for instance addr calculation
Christian König [Sun, 6 Mar 2011 22:34:03 +0000 (23:34 +0100)]
r600g: use long long integers for instance addr calculation

Using a long for instance addr calculation isn't
big enough on 32bit systems, use a long long int instead.

Thanks to Rafael Monica for fixing this.

13 years agoglx/dri: add initial dri interface for GLX_EXT_framebuffer_sRGB.
Dave Airlie [Sun, 6 Mar 2011 10:06:42 +0000 (20:06 +1000)]
glx/dri: add initial dri interface for GLX_EXT_framebuffer_sRGB.

This realigns the name of the glx bit to align with the core mesa names.

13 years agoglx: add initial GLX_EXT_framebuffer_sRGB support.
Dave Airlie [Sun, 6 Mar 2011 09:54:37 +0000 (19:54 +1000)]
glx: add initial GLX_EXT_framebuffer_sRGB support.

this doesn't bind to drivers yet, just enough to in theory make indirect
work against other servers.

I'm really not sure what the rules for adding extensions to the known_gl_extensions list as it looks to be missing a few. are these GL extensions that have GLX
protocol??

Signed-off-by: Dave Airlie <airlied@redhat.com>
13 years agopb: Add is_buffer_busy for malloc buffers.
José Fonseca [Sun, 6 Mar 2011 09:12:58 +0000 (09:12 +0000)]
pb: Add is_buffer_busy for malloc buffers.

13 years agost/wgl: No need to initialize OneTimeLock anymore.
José Fonseca [Sun, 6 Mar 2011 09:12:30 +0000 (09:12 +0000)]
st/wgl: No need to initialize OneTimeLock anymore.

13 years agomapi: _glthread_DECLARE_STATIC_MUTEX is not broken on Windows.
José Fonseca [Sun, 6 Mar 2011 09:11:59 +0000 (09:11 +0000)]
mapi: _glthread_DECLARE_STATIC_MUTEX is not broken on Windows.

13 years agotrace: Use pipe_static_mutex.
José Fonseca [Sun, 6 Mar 2011 09:11:13 +0000 (09:11 +0000)]
trace: Use pipe_static_mutex.

13 years agoos: Fix pipe_static_mutex on Windows.
José Fonseca [Sun, 6 Mar 2011 09:10:38 +0000 (09:10 +0000)]
os: Fix pipe_static_mutex on Windows.

13 years agograw-gdi: Silence gcc missing initialization warning.
José Fonseca [Sun, 6 Mar 2011 09:10:03 +0000 (09:10 +0000)]
graw-gdi: Silence gcc missing initialization warning.

13 years agoi915g: update TODO
Daniel Vetter [Sat, 5 Mar 2011 23:37:46 +0000 (00:37 +0100)]
i915g: update TODO

Comments about the deleted stuff:
- openaren hang: likely caused by the vertex corruptions, fixed by Jakob.
- tiling: Y-tiling works with my hw-clear branch. X-tiling works as
  merged to master a while ago (execbuf2 version).

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agor300g/swtcl: advertise draw_instanced and primitive_restart
Marek Olšák [Sat, 5 Mar 2011 16:37:15 +0000 (17:37 +0100)]
r300g/swtcl: advertise draw_instanced and primitive_restart

13 years agor300g: implement instanced arrays
Marek Olšák [Sat, 5 Mar 2011 14:53:46 +0000 (15:53 +0100)]
r300g: implement instanced arrays

13 years agogallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISOR
Marek Olšák [Sat, 5 Mar 2011 15:06:10 +0000 (16:06 +0100)]
gallium: split CAP_INSTANCE_DRAWING into INSTANCEID and INSTANCE_DIVISOR

ARB_instanced_arrays is a subset of D3D9.
ARB_draw_instanced is a subset of D3D10.

The point of this change is to allow D3D9-level drivers to enable
ARB_instanced_arrays without ARB_draw_instanced.

13 years agor300g: cleanup parameters of draw functions
Marek Olšák [Fri, 4 Mar 2011 17:46:09 +0000 (18:46 +0100)]
r300g: cleanup parameters of draw functions

13 years agonv50: support the InstanceID system value
Christoph Bumiller [Sat, 5 Mar 2011 13:41:08 +0000 (14:41 +0100)]
nv50: support the InstanceID system value

13 years agor600g: simplify instance addr calculation
Christian König [Sat, 5 Mar 2011 12:40:55 +0000 (13:40 +0100)]
r600g: simplify instance addr calculation

Use MULHI_UINT instead of the more complex
INT_TO_FLT->MUL->TRUNC->FLT_TO_INT

13 years agonvc0: Update SConscript.
Vinson Lee [Sat, 5 Mar 2011 01:15:21 +0000 (17:15 -0800)]
nvc0: Update SConscript.

13 years agonv50: Update SConscript.
Vinson Lee [Sat, 5 Mar 2011 01:10:57 +0000 (17:10 -0800)]
nv50: Update SConscript.

13 years agor600g: fix fragment shader size calculation
Christian König [Sat, 5 Mar 2011 00:46:31 +0000 (01:46 +0100)]
r600g: fix fragment shader size calculation

bc.ndw is altered in r600_bc_build, respect that
in fragment shader size calculation.

13 years agoglsl: Process redeclarations before initializers
Ian Romanick [Sat, 5 Mar 2011 00:15:20 +0000 (16:15 -0800)]
glsl: Process redeclarations before initializers

If an array redeclaration includes an initializer, the initializer
would previously be dropped on the floor.  Instead, directly apply the
initializer to the correct ir_variable instance and append the
generated instructions.

Fixes bugzilla #34374 and piglit tests glsl-{vs,fs}-array-redeclaration.

NOTE: This is a candidate for stable release branches.  0292ffb8 and
8e6cb9fe are also necessary.

13 years agoglsl: Refactor AST-to-HIR code handling variable initializers
Ian Romanick [Fri, 4 Mar 2011 23:29:33 +0000 (15:29 -0800)]
glsl: Refactor AST-to-HIR code handling variable initializers

13 years agoglsl: Refactor AST-to-HIR code handling variable redeclarations
Ian Romanick [Fri, 4 Mar 2011 23:28:40 +0000 (15:28 -0800)]
glsl: Refactor AST-to-HIR code handling variable redeclarations

13 years agonv50,nvc0: get format desc for TIC entry from sampler view format
Christoph Bumiller [Fri, 4 Mar 2011 21:17:36 +0000 (22:17 +0100)]
nv50,nvc0: get format desc for TIC entry from sampler view format

Fixes piglit/tex-srgb.

13 years agonv50,nvc0: share sampler state creation
Christoph Bumiller [Fri, 4 Mar 2011 21:15:17 +0000 (22:15 +0100)]
nv50,nvc0: share sampler state creation

13 years agonv50,nvc0: update the format tables
Christoph Bumiller [Fri, 4 Mar 2011 22:54:42 +0000 (23:54 +0100)]
nv50,nvc0: update the format tables

Removed sampler view support for USCALED/SSCALED, the texture unit
refuses to convert to non-normalized float. The enums are treated
like UNORM.

Removed duplicate format related headers.

13 years agonvc0: use m2mf for resource_copy_region if formats are equal
Christoph Bumiller [Fri, 4 Mar 2011 17:17:05 +0000 (18:17 +0100)]
nvc0: use m2mf for resource_copy_region if formats are equal

Which is always the case, but we'll keep the 2D engine blitter
nonetheless.

13 years agonv50,nvc0: fix texture layer issues
Christoph Bumiller [Fri, 4 Mar 2011 23:05:14 +0000 (00:05 +0100)]
nv50,nvc0: fix texture layer issues

13 years agoi915g: Use tgsi_info from fragment shader instead
Jakob Bornecrantz [Fri, 4 Mar 2011 22:57:16 +0000 (23:57 +0100)]
i915g: Use tgsi_info from fragment shader instead

13 years agoi915g: use passthough shader for empty fragment programs
Daniel Vetter [Fri, 4 Mar 2011 22:44:39 +0000 (23:44 +0100)]
i915g: use passthough shader for empty fragment programs

The hw doesn't like it - demos/shadowtex is broken. The emitted shader
isn't totally empty though, the depth write fixup gets emitted instead.
Maybe that one is somewhat fishy, too?

Idea for this patch from Jakob Bornecrantz.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
13 years agoegl_dri2: Fix incompatible vfunc-pointer warning
Benjamin Franzke [Thu, 3 Mar 2011 10:22:09 +0000 (11:22 +0100)]
egl_dri2: Fix incompatible vfunc-pointer warning

13 years agoegl/wayland: Move wayland-egl into a subdir
Benjamin Franzke [Thu, 3 Mar 2011 10:05:03 +0000 (11:05 +0100)]
egl/wayland: Move wayland-egl into a subdir

This hopefully fixes wayland-egl's dependency
resolution for autogenerated wayland-drm headers.

13 years agoi965: Apply a workaround for the Ironlake "vertex flashing".
Eric Anholt [Tue, 22 Feb 2011 07:46:52 +0000 (23:46 -0800)]
i965: Apply a workaround for the Ironlake "vertex flashing".

This is an awful hack and will hurt performance on Ironlake, but we're
at a loss as to what's going wrong otherwise.  This is the only common
variable we've found that avoids the problem on 4 applications
(CelShading, gnome-shell, Pill Popper, and my GLSL demo), while other
variables we've tried appear to only be confounding.  Neither the
specifications nor the hardware team have been able to provide any
enlightenment, despite much searching.

https://bugs.freedesktop.org/show_bug.cgi?id=29172
Tested by: Chris Lord <chris@linux.intel.com> (Pill Popper)
Tested by: Ryan Lortie <desrt@desrt.ca> (gnome-shell)

13 years agor300g: preliminary implementation of clamping controls
Marek Olšák [Tue, 15 Feb 2011 23:50:25 +0000 (00:50 +0100)]
r300g: preliminary implementation of clamping controls

13 years agor300g: implement FP16 alpha test
Marek Olšák [Fri, 4 Mar 2011 16:28:44 +0000 (17:28 +0100)]
r300g: implement FP16 alpha test

13 years agor300g: implement blending for some of non-RGBA8 formats
Marek Olšák [Fri, 4 Mar 2011 15:39:51 +0000 (16:39 +0100)]
r300g: implement blending for some of non-RGBA8 formats

Blending is now fully supported with:
- R8_UNORM
- R8G8_UNORM
- B8G8R8A8_UNORM
- R16G16B16A16_FLOAT (r500-only)

Blending is partially supported (DST_ALPHA not working) with:
- L8A8_UNORM
- I8_UNORM
- B5G5R5A1_UNORM
- B10G10R10A2_UNORM

The other formats can't do blending.