Commit graph

43364 commits

Author SHA1 Message Date
Dave Airlie
b27f206b0c nouveau_vieux: fix build since sampler objects merge 2011-04-12 21:23:00 +10:00
José Fonseca
16d42af618 st/wgl: Prevent spurious framebuffer sizes when the window is minimized.
When the window is minimized GetClientRect will return zeros.

Instead of creating a 1x1 framebuffer, simply preserve the current window
size, until the window is restored or maximized again.
2011-04-12 12:00:49 +01:00
José Fonseca
b5829c0d64 st/wgl: Fix debug output format specifiers of stw_framebuffer_get_size(). 2011-04-12 12:00:49 +01:00
José Fonseca
6b95cfb0de svga: Rebind framebuffer and tss bindings strictly when necessary.
The earlier change to ensure rendertargets and textures are always
rebound at every command buffer start had the downside of making
successive flushes no longer no-ops, as a command buffer with merely
the rebinding commands were being unnecessarily sent to the vGPU.

This change only re-emits the bindings when necessary, by keeping track
of the need to rebind outside of the dirty state update mechanism.
2011-04-12 12:00:49 +01:00
Hans de Goede
e338a1b0ce texstore: fix regression stricter check for memcpy path for unorm88 and unorm1616
According to https://bugs.freedesktop.org/show_bug.cgi?id=34280
commit 5d1387b2da causes the font corruption
problems people have been seeing under various apps and gnome-shell on r200
cards.

This commit changed (loosened) the check for using the memcpy path in the
former al88 / al1616 texstore functions, which are now also used to
store rg texures. This patch restores the old strict check in case of
al textures. I've no idea why this fixes things, since I don't know the
code in question at all. But after seeing the bisect in bfdo34280 point
to this commit, I gave this fix a try and it fixes the font issues seen on
r200 cards.

[airlied:
r200 has no native working A8, so it does an internal storage format of AL88
however srcFormat == internalFormat == ALPHA when we get to this point,
so it copies, but it wants to store into an AL88 not ALPHA so fails,
I'll also push a piglit test for this on r200].

Many thanks to Nicolas Kaiser who did all the hard work of tracking this down!

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2011-04-12 20:32:45 +10:00
Brian Paul
847f991a87 ir_to_mesa: silence signed/unsigned comparison warnings 2011-04-11 21:29:06 -06:00
Brian Paul
482a64dcf1 configs: add r600 dir to DRI_DIRS 2011-04-11 21:23:14 -06:00
Brian Paul
155a9670e6 r600: silence various compiler warnings 2011-04-11 21:22:54 -06:00
Brian Paul
1ca5585459 Merge branch 'arb_sampler_objects' 2011-04-11 21:19:41 -06:00
Zou Nan hai
2432ca1c2e Revert "i965: clear global offset to zero in m0.2 for VS DP read."
This reverts commit 66b66295d0.
it was already fixed by commit 9d60a7ce08
2011-04-12 10:52:50 +08:00
Ian Romanick
a7fa203f0d i965: Remove hint_gs_always and resulting dead code
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-04-11 14:43:42 -07:00
Ian Romanick
7e809f0b8d intel: Fix ROUND_DOWN_TO macro
Previously the macro would (ALIGN(value - alignment - 1, alignment)).
At the very least, this was missing parenthesis around "alignment -
1".  As a result, if value was already aligned, it would be reduced by
alignment.  Condisder:

     x = ROUND_DOWN_TO(256, 128);

This becomes:

    x = ALIGN(256 - 128 - 1, 128);

Or:

    x = ALIGN(127, 128);

Which becomes:

    x = 128;

This macro is currently only used in brw_state_batch
(brw_state_batch.c).  It looks like the original version of this macro
would just use too much space in the batch buffer.  It's possible, but
not at all clear to me from the code, that the original behavior is
actually desired.

In any case, this patch does not cause any piglit regressions on my
Ironlake system.

I also think that ALIGN_FLOOR would be a better name for this macro,
but ROUND_DOWN_TO matches rounddown in the Linux kernel.

Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Keith Whitwell <keithw@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-04-11 14:43:42 -07:00
Ian Romanick
03eade164d glsl: Make GL_ARB_shader_stencil_export enable block be similar to other blocks
Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-04-11 14:43:42 -07:00
Ian Romanick
f2bda1b566 glsl: Only let a shader enable GL_ARB_draw_instanced if the driver supports it
Also make the GL_ARB_draw_instanced block follow the same pattern as
the other blocks.

Tested-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-04-11 14:43:41 -07:00
Brian Paul
65b024d63a mesa: fixup r600 DRI driver for sampler object changes 2011-04-11 13:26:42 -06:00
Eric Anholt
88022278f7 i965: Move the SF VP from state caching to state streaming.
This is a 49.6% +/- 2.0% (n=9, IPS outlier removed) performance
improvement for the hacked-up-for-cache-misses scissor-many, and no
statistically significant performance difference for the
hacked-up-for-cache-hits version (n=9, IPS outlier removed).  No
statistically significant performance difference from ETQW (n=5) from
these last two commits.
2011-04-11 11:55:25 -07:00
Eric Anholt
b1be5bd205 i965: Change the SF unit from state caching to state streaming.
This is a 28.1% +/- 1.4% (n=10) performance improvement for the
hacked-up-for-cache-misses scissor-many (n=10), and no statistically
significant wall-time performance difference for the
hacked-up-for-cache-hits version (n=9, first outlier in each removed
since IPS was warming up.  User time increased by about 4.7%, but
kernel time decreased equivalently).
2011-04-11 11:55:17 -07:00
Eric Anholt
aaf188e3bb i965: Turn SF unit and viewport structs into pointers to prep for streaming.
I wanted to separate this mechanical change from the actual work.
2011-04-11 11:43:40 -07:00
pepp
45920d2ecb u_vbuf_mgr: fixed vbo max_index calculation
Signed-off-by: Marek Olšák <maraeo@gmail.com>
2011-04-11 17:35:28 +02:00
Marek Olšák
5c477ab2de r600g: handle PIPE_CAP_FRAGMENT_COLOR_CLAMP_CONTROL in get_param 2011-04-11 14:38:32 +02:00
Brian Paul
da8d0c965c docs: GL_ARB_sampler_objects updates 2011-04-10 13:12:50 -06:00
Brian Paul
34a5d3b9f4 mesa: plug in new functions for GL_ARB_sampler_objects
Build the new sources, plug the new functions into the dispatch table,
implement display list support.  And enable extension in the gallium
state tracker.
2011-04-10 13:12:49 -06:00
Brian Paul
f22d49de0f mesa: new code/functions for GL_ARB_sampler_objects
This implements the infrastructure for sampler objects and all the new
API functions.
2011-04-10 13:12:49 -06:00
Brian Paul
6bb4d807f7 mesa: alloc/free shared sampler objects 2011-04-10 13:12:49 -06:00
Brian Paul
0308beebc2 mesa: new driver hooks for GL_ARB_sampler_objects 2011-04-10 13:12:49 -06:00
Brian Paul
aebe16da53 mesa: add glGet for GL_ARB_sampler_objects 2011-04-10 13:12:49 -06:00
Brian Paul
ecfaab88b2 mesa: move sampler state into new gl_sampler_object type
gl_texture_object contains an instance of this type for the regular
texture object sampling state.  glGenSamplers() generates new instances
of gl_sampler_object which can override that state with glBindSampler().
2011-04-10 13:12:49 -06:00
Brian Paul
1cbd3a1cc7 glapi: regenerated files for GL_ARB_sampler_objects 2011-04-10 13:12:49 -06:00
Brian Paul
d40ec9a884 glapi: interface for GL_ARB_sampler_objects 2011-04-10 13:12:49 -06:00
Henri Verbeet
a26121f375 glx: Only remove the glx_display from the list after it's destroyed.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-04-10 18:53:34 +02:00
Henri Verbeet
a75de67c51 glx: Destroy dri2Hash on DRI2 display destruction.
Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-04-10 18:53:33 +02:00
Henri Verbeet
158d42c8b0 mesa: Also update the color draw buffer if it's explicitly set to GL_NONE.
NOTE: This is a candidate for the 7.10 branch.

Signed-off-by: Henri Verbeet <hverbeet@gmail.com>
2011-04-10 18:53:33 +02:00
Nicolas Kaiser
82cb6e6519 docs: fix typos in wayland spec
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-04-10 10:00:10 -06:00
Nicolas Kaiser
ae5776c41f docs: fix typos in Mesa specs
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Signed-off-by: Brian Paul <brianp@vmware.com>
2011-04-10 09:58:53 -06:00
Christoph Bumiller
74559abbef nv50,nvc0: silence shader debug output 2011-04-10 14:06:52 +02:00
Christoph Bumiller
003224bd97 nvc0: make the card permit separate colour outputs 2011-04-10 14:06:52 +02:00
Christoph Bumiller
7b4e478496 nv50-nvc0: make use of COLOR_MASK,BLEND_ENABLE_COMMON 2011-04-10 14:06:52 +02:00
Christoph Bumiller
d9ef976967 nvc0: shrink CSOs a little 2011-04-10 14:06:52 +02:00
Christoph Bumiller
843d5391c3 nv50,nvc0: identify some line rasterization state
Fixes width of non-smooth (aliased) lines on nvc0.
2011-04-10 14:06:52 +02:00
Christoph Bumiller
d546df4d9c nvc0: force perspective correction hint to nicest
Fixes issues in e.g. nexuiz (desertfactory) or supertuxkart that
look like lighting bugs.

They're not visible with the software rasterizers because their
notion of linear interpolation seems to be different from that
of nv50/nvc0.
2011-04-10 14:06:52 +02:00
Christoph Bumiller
ee2a8ea7d9 nv50,nvc0: don't insert instructions after the block terminator 2011-04-10 14:06:51 +02:00
Alan Coopersmith
d27ff8c5cd Make st_pipe_vertex_format return type in st_draw.h match st_draw.c
Fixes compiler error from Sun compilers:
"state_tracker/st_draw.c", line 185: identifier redeclared: st_pipe_vertex_format
        current : function(unsigned int, unsigned int, unsigned int, unsigned char) returning enum pipe_format
        previous: function(unsigned int, unsigned int, unsigned int, unsigned char) returning unsigned int : "state_tracker/st_draw.h", line 73

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-04-08 17:36:46 -07:00
Alan Coopersmith
64ce3933f5 Fix GET_PROGRAM_NAME() on Solaris to not try to modify a read-only string
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2011-04-08 17:36:46 -07:00
Marek Olšák
ee678895e9 Revert "r300g: handle DISCARD_WHOLE_RESOURCE for buffers"
This reverts commit 437c748bf5.

The commit is wrong for several reasons. One of them is when we grab
a new buffer, we should update all the states it is bound in,
including all parallel contexts. I don't think this is even doable.

The correct solution would be upload data via a temporary buffer and
do resource_copy_region to the original one.

https://bugs.freedesktop.org/show_bug.cgi?id=36088
2011-04-08 23:20:00 +02:00
Marek Olšák
69c71396c6 r300g: fix another crash with hyperz
https://bugs.freedesktop.org/show_bug.cgi?id=36086
2011-04-08 23:17:15 +02:00
Jon TURNEY
c6e33ca285 Disable direct rendering on Cygwin
Add Cygwin platform-specific settings and drivers to build for dri driver:
- by default, disable direct rendering.
- if direct rendering is enabled, the swrast dridriver is the only one it's
sensible to try to build (this doesn't work at the moment as additional patches
are required to build a libGL which can load just swrast without the DRM headers,
even though there's no actual functional dependency)

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Julien Cristau <jcristau@debian.org>
2011-04-08 20:37:41 +01:00
nobled
e7d18ed1ef Disable direct rendering on GNU/Hurd
The Hurd kernel doesn't have DRM yet.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-By: Jakob Bornecrantz <wallbraker@gmail.com>
2011-04-08 20:37:38 +01:00
Samuel Thibault
758561786c Only require libdrm if direct rendering is actually enabled.
Fix build when configured --with-driver=dri --disable-driglx-direct on targets
without drm e.g. GNU/Hurd and Cygwin

Based on the Debian patch file '05_hurd-ftbfs.diff' by Samuel Thibault.

Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Julien Cristau <jcristau@debian.org>
Reviewed-By: Jakob Bornecrantz <wallbraker@gmail.com>
2011-04-08 20:37:36 +01:00
Marek Olšák
aac4bae986 r300g: fix crash when adding a new relocation
No idea why it's so hard to reproduce.
Broken with: c35572352e

Thanks to Toni Spets for assistance.
2011-04-08 21:34:16 +02:00
Marek Olšák
ff3d7ce201 r300g: emit US_FORMAT on R520 only 2011-04-08 20:07:01 +02:00