Commit graph

55318 commits

Author SHA1 Message Date
Kenneth Graunke
f32e776efb i965: Fix INTEL_DEBUG=shader_time for Haswell.
Haswell's "Data Cache" data port is a single unit, but split into two
SFIDs to allow for more message types without adding more bits in the
message descriptor.

Untyped Atomic Operations are now message 0010 in the second data cache
data port, rather than 6 in the first.

v2: Use the #defines from the previous commit. (by anholt)

NOTE: This is a candidate for the 9.1 branch.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net> (v1)
(cherry picked from commit f27a220cad)
2013-04-05 19:01:08 -07:00
Eric Anholt
74e8838179 i965: Add definitions for gen7+ data cache messages.
We were sparsely using some of these message types, but I'll just fill
them all in now.  It will be used for fixing shader_time on HSW.

v2: Add missing MEDIA_BLOCK_READ.

NOTE: This is a candidate for the 9.1 branch.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit a2d08f170a)
2013-04-05 19:01:08 -07:00
Anuj Phogat
02a8f04de1 mesa: Fix FB blitting in case of zero size src or dst rect
Framebuffer blitting operation should be skipped if any of the
dimensions (width/height) of src/dst rect is zero.

V2: Move the dimension check after error checking in _mesa_BlitFramebuffer.

Fixes: fbblit(negative.nullblit.zeroSize) in Intel oglconform
https://bugs.freedesktop.org/show_bug.cgi?id=59495

Note: Candidate for all the stable branches.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
(cherry picked from commit d78dcdf103)
2013-04-05 19:01:08 -07:00
José Fonseca
038a29b5c5 include: Fix build with VS 11 (i.e, 2012).
NOTE: Candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 57cd1d1454)
2013-04-05 19:01:08 -07:00
Ian Romanick
4626e6e270 mesa: Add previously picked commit to .cherry-ignore
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2013-04-05 19:01:07 -07:00
José Fonseca
fe72a61382 mesa,gallium,egl,mapi: One definition of C99 inline/__func__ to rule them all.
This is a squash-commit of the two commits listed below.  The first
introduced a 'make check' failure, and the second fixed it.

    mesa,gallium,egl,mapi: One definition of C99 inline/__func__ to rule them all.

    We were in four already...

    NOTE: Candidate for the stable branches.

    Reviewed-by: Brian Paul <brianp@vmware.com>
    (cherry picked from commit 70fe7c6d3e)

And:

    tests: Add $(top_srcdir)/include to AM_CPPFLAGS.

    Fixes this build error with make check.

      CC     collision.o
    In file included from ../../../../../src/mesa/main/hash_table.h:34:0,
                     from collision.c:31:
    ../../../../../src/mesa/main/compiler.h:51:53: fatal error: c99_compat.h: No such file or directory

    Signed-off-by: Vinson Lee <vlee@freedesktop.org>
    (cherry picked from commit a6bb7a9495)
2013-04-05 19:01:07 -07:00
José Fonseca
e2695d53c7 autotools: Add missing top-level include dir.
Fixes autotools build failure.  Not sure if there are more, as I have
difficulties in building the full tree.
(cherry picked from commit 7bff1cc3f6)
2013-04-05 19:01:07 -07:00
Christoph Bumiller
923bb2d8ed nvc0: fix for 2d engine R source formats writing RRR1 and not R001 2013-04-04 13:03:52 +02:00
Christoph Bumiller
ac4be46279 nv50,nvc0: fix 3d blits, restore viewport after blit
Conflicts:
	src/gallium/drivers/nvc0/nvc0_surface.c
2013-04-04 13:03:42 +02:00
Christoph Bumiller
5ba62ee201 nv50,nvc0: disable DEPTH_RANGE_NEAR/FAR clipping during blit
We send position.z == 0, DEPTH_RANGE may be some arbitrary range
not including 0 (for exmaple in piglit's hiz tests).
2013-04-04 12:54:41 +02:00
Christoph Bumiller
7410ba1265 nv50: fix 3D render target setup 2013-04-04 12:54:31 +02:00
Marek Olšák
980f84c392 gallium/tgsi: fix valgrind warning
"Conditional jump or move depends on uninitialised value(s)"

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 9cec5edea7)
2013-03-26 03:23:59 +01:00
Eric Anholt
ff27e18834 i965/fs: Also do the gen4 SEND dependency workaround against other SENDs.
We were handling the the dependency workaround for the first written reg
of a send preceding the one we're fixing up, but didn't consider the other
regs.  Thus if you had two sampler calls that got allocated to the same
set of regs, one might, rarely, ovewrite the other.  This was occurring in
XBMC's GLSL shaders.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44567
NOTE: This is a candidate for the stable branches.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 4dc7e6dcbf)
2013-03-25 14:19:23 -07:00
Eric Anholt
c5bc65bd62 i965/fs: Fix broken rendering in large shaders with UBO loads.
The lowering process creates a new vgrf on gen7 that should be represented
in live interval analysis.  As-is, it was getting a conflicting allocation
with gl_FragDepth in the dolphin emulator, producing broken rendering.

NOTE: This is a candidate for the 9.1 branch.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61317
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 1323772543)
2013-03-25 14:19:19 -07:00
Eric Anholt
6dcccf7131 i965/fs: Fix register allocation for uniform pull constants in 16-wide.
We were allowing a compressed instruction to write a register that
contained the last use of a uniform pull constant (either UBO load or push
constant spillover), so it would get half its values smashed.

Since we need to see the actual instruction to decide this, move the
pre-gen6 pixel_x/y logic here, which should improve the performance of
register allocation since virtual_grf_interferes() is called more than
once per instruction.

NOTE: This is a candidate for the stable branches.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61317
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit f10f5e4980)
2013-03-25 14:18:29 -07:00
Marek Olšák
b3c8a250e6 mesa: don't allocate a texture if width or height is 0 in CopyTexImage
NOTE: This is a candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 4b69c1a92d)
2013-03-25 14:17:28 -07:00
Jan de Groot
5aacecb08c dri/nouveau: fix crash in nouveau_flush
https://bugs.freedesktop.org/show_bug.cgi?id=61947

Note: this is a candidate for the stable branches
(cherry picked from commit 17f1cb1d99)
2013-03-25 14:17:23 -07:00
Alan Hourihane
d095747749 mesa: fix glGetInteger*(GL_SAMPLER_BINDING).
If the sampler object has been deleted on another context, an
alternative context may reference the old sampler. So ensure the sampler
object still exists.

Note: this is a candidate for the stable branch.

Signed-off-by: Alan Hourihane <alanh@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 5984a911f9)
2013-03-25 14:15:59 -07:00
Alan Hourihane
cbbea7cc58 Unreference sampler object when it's currently bound to texture unit.
This change specifically unbinds a sampler object from the texture unit
if it's bound to a unit. The spec calls for default object when deleting
sampler objects which are currently bound.

Note: this is a candidate for the stable branches

Signed-off-by: Alan Hourihane <alanh@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit cf0b4a30fc)
2013-03-25 14:15:54 -07:00
Brian Paul
68e25de7d4 llvmpipe: add some scene limit sanity check assertions
Note: This is a candidate for the stable branches.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit a51b81558f)
2013-03-25 14:15:48 -07:00
Brian Paul
7ddda67835 llvmpipe: tweak CMD_BLOCK_MAX and LP_SCENE_MAX_SIZE
We advertise a max texture/surfaces size of 8K x 8K but the old values
for these limits didn't actually allow us to handle that surface size.

For 8K x 8K we'll have 16384 bins.  Each bin needs at least one cmd_block
object which was 2192 bytes in size.  Since 16384 * 2192 exceeded
LP_SCENE_MAX_SIZE we'd silently fail in lp_scene_new_data_block() and not
draw the complete scene.

By reducing CMD_BLOCK_MAX to 29 we get nice 512-byte cmd_blocks.  And
by increasing LP_SCENE_MAX_SIZE to 9 MB we can allocate enough command
blocks for 8K x 8K, plus a few regular data blocks.

Fixes the (improved) piglit fbo-maxsize test.

Note: This is a candidate for the stable branches.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit a31ebdffa0)
2013-03-25 14:15:45 -07:00
Marcin Slusarz
efd094d052 dri/nouveau: NV17_3D class is not available for NV1a chipset
Should fix https://bugs.freedesktop.org/show_bug.cgi?id=60510

Note: this is a candidate for the stable branches

Acked-by: Francisco Jerez <currojerez@riseup.net>
(cherry picked from commit f4ebcd133b)
2013-03-25 14:15:38 -07:00
Matt Turner
7f0014f64a configure.ac: Remove stale comment about --x-* arguments.
Should have been removed with e273ed37.

Note: This is a candidate for the 9.1 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 523b07e320)
2013-03-25 14:15:33 -07:00
Matt Turner
8d43e33ab2 configure.ac: Don't check for X11 unconditionally.
X11 is already checked conditionally below.

Fixes OSMesa-only configurations to not require X11.

Note: This is a candidate for the 9.1 branch.
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 35189d768b)
2013-03-25 14:15:29 -07:00
Alan Hourihane
7f44f9ddc3 Add missing GL_TEXTURE_CUBE_MAP entry in _mesa_legal_texture_dimensions
This was hit on the glTexStorage2D() path.

Note: this is a candidate for the stable branches

Signed-off-by: Alan Hourihane <alanh@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 196443f3f5)
2013-03-25 14:15:21 -07:00
Tapani Pälli
a31c9c3fa9 intel: Fix regression in intel_create_image_from_name stride handling
Strangely, the DRIimage interface we have passes the pitch in pixels
instead of bytes, which anholt missed in the change to using bytes for
region pitch.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61197
(cherry picked from commit e062a4187d)
2013-03-25 14:07:41 -07:00
Brian Paul
e6616948b7 vbo: fix crash found with shared display lists
This fixes a crash when a display list is created in one context
but executed from a second one.  The vbo_save_context::vertex_store
memeber will be NULL if we never created a display list with the
context.  Just check for that before dereferencing the pointer.

Fixes http://bugzilla.redhat.com/show_bug.cgi?id=918661

Note: This is a candidate for the stable branches.
(cherry picked from commit c2665aacdd)
2013-03-20 08:24:55 -06:00
Brian Paul
55cb78f082 mesa: flush current state when querying GL_EDGE_FLAG
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=61395

Note: This is a candidate for the stable branches.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
(cherry picked from commit b1390c7992)
2013-03-20 08:24:55 -06:00
Ian Romanick
3fe900840e docs: Add 9.1.1 release md5sums
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2013-03-19 17:26:24 -07:00
Ian Romanick
1e5e805fd0 mesa: Bump version to 9.1.1
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2013-03-19 17:14:38 -07:00
Ian Romanick
9e36e41034 docs: 9.1.1 release notes
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
2013-03-19 17:11:41 -07:00
Alex Deucher
d0ccb5b911 r600g: Use blitter rather than DMA for 128bpp on cayman (v3)
On cayman, 128bpp surfaces require non_disp ordering for hw
access to both linear and tiled surfaces.  When we use the 3D
engine we can set the non_disp ordering on both the tiled and
linear sides (via CB or texture), but when we use the DMA
engine, we can only set the non_disp ordering on the tiled
side, so after a L2T operation with the DMA engine, the data
ends up in the wrong order on the tiled side.

v2: cayman/TN only

v3: fix comments

Fixes:
https://bugs.freedesktop.org/show_bug.cgi?id=60802

Note: this is a candidate for the 9.1 branch.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 4409758a04)
2013-03-18 09:39:28 -04:00
Alex Deucher
61e7c043ea r600g: add Richland APU pci ids
Note: this is a candidate for the stable branches.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 03eef7f8ef)
2013-03-18 09:38:59 -04:00
José Fonseca
231247df02 scons: Warn when using MSVS versions prior to 2012.
Reviewed-by: Brian Paul <brianp@vmware.com>
2013-03-15 19:55:26 +00:00
José Fonseca
5d66947d66 scons: Define _ALLOW_KEYWORD_MACROS on MSVC builds.
scons/llvm.py defines inline globally to workaround issues with LLVM C
binding headers, so the only way to is to avoid
aggravating xkeycheck.h errors is to set _ALLOW_KEYWORD_MACROS.

This fixes MSVC 2012 build with LLVM.

Reviewed-by: Brian Paul <brianp@vmware.com>
2013-03-15 19:55:26 +00:00
José Fonseca
0acc79322b scons: Allows choosing VS 10 or 11.
NOTE: Candidate for the stable branches.

Reviewed-by: Brian Paul <brianp@vmware.com>
2013-03-15 19:55:26 +00:00
Michel Dänzer
5ccaa67204 radeonsi: Fix off-by-one for maximum vertex element index in some cases
In cases where the vertex element size is smaller than the vertex buffer
stride, the previous calculation could end up 1 too low. This would result
in the GPU using index 0 instead of the maximum index for those elements,
which would be visible as intermittent distorted triangles.

NOTE: This is a candidate for the 9.1 branch.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 4dca602521)
2013-03-15 19:00:41 +01:00
Frank Henigman
ed29a987fd i965: Link i965_dri.so with C++ linker.
Force C++ linking of i965_dri.so by adding a dummy C++ source file.

Reviewed-by: Matt Turner <mattst88@gmail.com>
2013-03-08 21:25:25 -08:00
Matt Turner
e3f1b34fbe mesa: Allow ETC2/EAC formats with ARB_ES3_compatibility.
Fixes piglit's oes_compressed_etc2_texture-miptree tests on Desktop GL.
Reported-by: Marek Olšák <maraeo@gmail.com>
Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2013-03-08 21:25:14 -08:00
Marek Olšák
09199c6862 r600g: pad the DMA CS to a multiple of 8 dwords
Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>

NOTE: This is a candidate for the 9.1 branch.
(cherry picked from commit c77917d35f)
2013-03-05 18:43:11 -05:00
Vincent Lejeune
1dc162d52f r600g: Check comp_mask before merging export instructions
Fixes a llvm uncovered (rare) bug where consecutive exports were
merged even if they have incompatible mask.
(cherry picked from commit 83e7d111af)
2013-03-05 18:32:53 -05:00
Vadim Girlin
9a5f513773 r600g: fix check_and_set_bank_swizzle for cayman
Tested-by: Vincent Lejeune <vljn at ovi.com>
Reviewed-by: Vincent Lejeune <vljn at ovi.com>
(cherry picked from commit 138b5b9a12)
2013-03-05 18:32:28 -05:00
Kenneth Graunke
26e827b309 i965: Fix Crystal Well PCI IDs.
The second digit was off by one, which meant we accidentally treated
GTn as GT(n-1).  This also meant no support for GT1 at all.

NOTE: This is a candidate for stable branches.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit b88f74d63d)
2013-03-05 14:58:04 -08:00
Brian Paul
44a5b5d161 svga: always link with C++
Even when we don't have LLVM since there's other C++ code
in the resulting DRI driver object.

Note: This is a candidate for the stable branches.

Reviewed-by: Matt Turner <mattst88@gmail.com>
(cherry picked from commit a99eb5c83f)
2013-03-05 14:58:04 -08:00
Marek Olšák
f6765c6d20 r600g: always map uninitialized buffer range as unsynchronized
Any driver can implement this simple and efficient optimization.
Team Fortress 2 hits it always. The DISCARD_RANGE codepath is not even used
with TF2 anymore, so we avoid a ton of useless buffer copies.

Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>

NOTE: This is a candidate for the 9.1 branch.
(cherry picked from commit 89e2898e9e)
2013-03-05 14:58:04 -08:00
Marek Olšák
2c3efd2ee4 gallium/util: add helper code for 1D integer range
Reviewed-by: Brian Paul <brianp@vmware.com>

v2: cosmetic changes based on Brian's review

Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>

NOTE: This is a candidate for the 9.1 branch. (the next patch depends on it)
(cherry picked from commit 44f37261fc)
2013-03-05 14:58:04 -08:00
Marek Olšák
f5b22eb09f r600g: flush and invalidate htile cache when appropriate
Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>

NOTE: This is a candidate for the 9.1 branch.
(cherry picked from commit e5a250fdf9)
2013-03-05 14:58:04 -08:00
Marek Olšák
391e7ed51e r600g: use async DMA with a non-zero src offset
probably a typo

Tested-by: Andreas Boll <andreas.boll.dev@gmail.com>

NOTE: This is a candidate for the 9.1 branch.
(cherry picked from commit 9dd18f43a4)
2013-03-05 14:58:04 -08:00
Jordan Justen
db5492cae3 attrib: push/pop FRAGMENT_PROGRAM_ARB state
This requirement was added by ARB_fragment_program

When the Steam overlay is enabled, this fixes:
* Menu corruption with the Puddle game
* The screen going black on Rochard when
  the Steam overlay is accessed

NOTE: This is a candidate for the 9.0 and 9.1 branches.

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
(cherry picked from commit 6f1538f8b4)
2013-03-05 14:57:10 -08:00
Keith Kriewall
65baaa070c scons: Fix Windows build with LLVM 3.2
Fixes fdo bug 61299

NOTE: This is a candidate for the stable branches.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit efd8311a54)
2013-03-05 14:57:10 -08:00