summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-07-07docs: Add release notes for the 10.2.3 release.mesa-10.2.3Carl Worth2-1/+128
Which is imminent.
2014-07-07freedreno/a3xx: vtx formatsRob Clark6-79/+102
Add support for more vertex buffer formats. Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit 06e9536e5f5f0cc280385bcf813ecdcf6573401b) Squashed with: freedreno: update generated headers Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit ba6a490bbc81380fdffcb080752682b7f38b95e6)
2014-07-07freedreno: fix for null texturesRob Clark2-6/+10
Some apps seem to give us a null sampler/view for texture slots which come before the last used texture slot. In particular 0ad triggers this. Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit 6aeeb706d218be030b39e431e53ec07edb974564)
2014-07-07freedreno/a3xx: texture fixesRob Clark5-6/+10
Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit aa78c4586d42856dcc86b143c2e72c05a1422016) Squashed with: freedreno: update generated headers Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit 2456be63e9cdc3c811a799caf51a56871ff6119c)
2014-07-07freedreno: few caps fixesRob Clark2-4/+8
Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit 286863939f9b0896db1b382c967d0d92b14729c9)
2014-07-07freedreno/a3xx: fix blend opcodeRob Clark8-54/+83
Seems the opcodes are slightly different from a2xx. Resync headers and move blend_func() helper into hw generation specific code. Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit a4d229b0992806f759ab4c71fc5712e8ab2e1c9d)
2014-07-07freedreno/a3xx: fix depth/stencil gmem restoreRob Clark1-1/+1
We already multiply by bytes per pixel for this, so f3ba7611 broke mem2gmem for depth/stencil. Drop the now-redundant mutiply by cpp. Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit b81de5352dc8f3db01888175561b816c0d92716b)
2014-07-07freedreno/a3xx: fix depth/stencil GMEM positioningRob Clark5-17/+23
In cases where there was no color buf bound, there were inconsistancies in register settings related to position of depth/stencil inside GMEM. Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit f3ba761129e39c299fe39fa91b542f459cad9f83) Squashed with: freedreno: update generated headers Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit 4da8267c36c30577dbcf9e4f89aef3a306e9c91d)
2014-07-03freedreno: use OUT_RELOCW when buffer is writtenRob Clark1-4/+4
These aren't buffers we ever read back from CPU, so using incorrect reloc fxn wasn't really harming anything. But might as well be correct. Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit 0d54904c04842517c98b82ba7510e022eb8d5ce9)
2014-07-03xa: fix segfaultRob Clark1-0/+3
Fixes: Program received signal SIGSEGV, Segmentation fault. bind_samplers (comp=0x21b054, comp=0x21b054, ctx=0x211430) at ../../../../../src/gallium/state_trackers/xa/xa_composite.c:445 445 mask_pic->srf->tex->format); (gdb) bt #0 bind_samplers (comp=0x21b054, comp=0x21b054, ctx=0x211430) at ../../../../../src/gallium/state_trackers/xa/xa_composite.c:445 #1 xa_composite_prepare (ctx=0x211430, comp=comp@entry=0x21b054) at ../../../../../src/gallium/state_trackers/xa/xa_composite.c:488 #2 0xb6f454b4 in XAPrepareComposite (op=<optimized out>, pSrcPicture=<optimized out>, pMaskPicture=<optimized out>, pDstPicture=<optimized out>, pSrc=0x5b3ad8, pMask=0x0, pDst=0x5923b8) at msm-exa-xa.c:533 We can't yet handle solid fill mask, so explicitly reject that, rather than segfaulting. Otherwise DDX would need to check XA version to see if solid fill mask were supported. Signed-off-by: Rob Clark <robclark@freedesktop.org> (cherry picked from commit b7e7ae9f605283076dba6d9e826fbbd1f1db1c4b)
2014-07-03nvc0: add a memory barrier when there are persistent UBOsIlia Mirkin5-4/+57
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 9a37eb8adb6558a4abf47774b583cb582a0ae116)
2014-07-03nv50: do an explicit flush on draw when there are persistent buffersIlia Mirkin3-2/+50
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 5d4f5218bb71cb387f1a57ea08125245e5039e94)
2014-07-03nv50: disable dedicated ubo upload methodIlia Mirkin1-0/+7
The hardware allows multiple simultaneous renders with the same memory-backed constbufs but with each invocation having different values. However in order for that to work, the data has to be streamed in via the right constbuf slot. We weren't doing that for UBOs. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2 10.1" <mesa-stable@lists.freedesktop.org> (cherry picked from commit b2b7c651221037266abee7c3ede1ca7b3cb2da33)
2014-07-03radeon/llvm: Allocate space for kernel metadata operandsAaron Watry1-3/+7
Previously, we were assuming that kernel metadata nodes only had 1 operand. Kernels which have attributes can have more than 1, e.g.: !0 = metadata !{void (i32 addrspace(1)*)* @testKernel, metadata !1} !1 = metadata !{metadata !"work_group_size_hint", i32 4, i32 1, i32 1} Attempting to get the kernel without the correct number of attributes led to memory corruption and luxrays crashing out. Fixes the cl/program/execute/attributes.cl piglit test. Signed-off-by: Aaron Watry <awatry@gmail.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76223 CC: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 824197efd526dec5623b37f2c6078c212c81eb2b)
2014-07-03st/xa: Don't close the drm fd on failure v2Thomas Hellstrom1-1/+6
If XA fails to initialize with pipe_loader enabled, the pipe_loader's cleanup function will close the drm file descriptor. That's pretty bad because the file descriptor will probably be the X server driver's only connection to drm. Temporarily solve this by dup()'ing the file descriptor before handing it over to the pipe loader. This fixes freedesktop.org bugzilla bug #80645. v2: Fix CC addresses. Cc: "10.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com> (cherry picked from commit 35cf3831d71770211f29da6608313dc1f6213d7b) Conflicts: src/gallium/state_trackers/xa/xa_tracker.c
2014-07-03radeon/llvm: Use the llvm.rsq.clamped intrinsic for RSQMichel Dänzer1-0/+4
Reviewed-and-Tested-by: Michel Dänzer <michel.daenzer@amd.com> Tested-by: Laurent Carlier <lordheavym@gmail.com> https://bugs.freedesktop.org/show_bug.cgi?id=80015 CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit b9f501bc6bc52c25bef86a24b49fda4e92fcd924) Squashed together with the earlier: radeon/llvm: Adapt to AMDGPU.rsq intrinsic change in LLVM 3.5 Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> (cherry picked from commit 93b6b1fa83a2000f7a60ca12df54c2dd808a87a8)
2014-07-03cherry-ignore: Add a patch that's been rejectedCarl Worth1-0/+4
It may be that the patch is just fine, but at the very least it needs a better commit message.
2014-07-03i965/disasm: Fix INTEL_DEBUG=fs on Broadwell for ARB_fp applications.Kenneth Graunke1-1/+1
Apparently INTEL_DEBUG=fs has crashed on Broadwell for anything using ARB_fragment_program since commit 9cee3ff5. We need to NULL-check the right field. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit c60a4ba7e36f069d6829948ee14d87970f5f39a1) Conflicts: src/mesa/drivers/dri/i965/gen8_fs_generator.cpp
2014-07-03glxext: Send the Drawable's ID in the GLX_BufferSwapComplete eventJasper St. Pierre2-5/+6
While the official INTEL_swap_event specification says that the drawable field should contain the GLXDrawable, not the Drawable, the existing DRI2 code in dri2.c that translates from DRI2_BufferSwapComplete sends out GLX_BufferSwapComplete with the Drawable's ID, so existing codebases like Clutter/Cogl rely on getting the Drawable. Match DRI2's error here and stuff the event with the X Drawable, not the GLX drawable. This fixes apps seeing wrong drawables through an indirect GLX context or with DRI3, which uses the GLX_BufferSwapComplete event directly on the wire instead of translates Present in mesa. At the same time, also modify the structure for the event to make sure that clients don't make the same mistake. This is not an API or ABI break, as GLXDrawable and Drawable are both typedefs for XID. Signed-off-by: Jasper St. Pierre <jstpierre@mecheye.net> Reviewed-by: Axel Davy <axel.davy@ens.fr> Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit b4dcf87f34f68111acd9d364739938721fc692f4)
2014-07-03i965: Include marketing names for Broadwell GPUs.Kenneth Graunke1-18/+18
Intel would like us to include the marketing names. Developers additionally want "Broadwell GT1/2/3" because it makes it easier to identify what hardware users have when they request assistance or report issues. Including both makes it easy for everyone to map between the names. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 05126b9bb5763ab6a7418719e1ef2d660cc3c272)
2014-07-03llvmpipe: Fix zero-division in llvmpipe_texture_layout()Takashi Iwai1-1/+1
Fix the crash of "gnome-control-center info" invocation on QEMU where zero height is passed at init. (sroland: simplify logic by eliminating the div altogether, using 64bit mul.) Fixes: https://bugzilla.novell.com/show_bug.cgi?id=879462 Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 6b8b17153ab27b2bc7221df974a5872805f528b1)
2014-07-03nouveau: dup fd before passing it to deviceIlia Mirkin1-2/+17
nouveau screens are reused for the same device node. However in the scenario where we create screen 1, screen 2, and then delete screen 1, the surrounding code might also close the original device node. To protect against this, dup the fd and use the dup'd fd in the nouveau_device. Also tell the nouveau_device that it is the owner of the fd so that it will be closed on destruction. Also make sure to free the nouveau_device in case of any failure. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79823 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com> (cherry picked from commit a59f2bb17bcc78e09653391748549e7973990798)
2014-07-03nv50/ir: allow gl_ViewportIndex to work on non-provoking verticesTobias Klausmann2-2/+30
Previously, if we had something like: gl_ViewportIndex = idx; for(int i = 0; i < gl_in.length(); i++) { gl_Position = gl_in[i].gl_Position; EmitVertex(); } EndPrimitive(); The right viewport index would not be set on the primitive because the last vertex is the provoking one. However blob drivers appear to move the gl_ViewportIndex write into the for loop, allowing the application to be ignorant of this detail. While the application is technically wrong here, because the blob does it and other drivers appear to implicitly work this way as well, we add a buffer register that viewport index writes go into, which is then exported before every EmitVertex() call. This fixes the remaining piglit tests in ARB_viewport_array for nv50/nvc0. Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> (cherry picked from commit 98a86f61a8d17eaafaf5907debc7735aa20610d5)
2014-07-03draw: (trivial) fix clamping of viewport indexRoland Scheidegger1-1/+1
The old logic would let all negative values go through unclamped, with potentially disastrous results (probably trying to fetch viewport values from random memory locations). GL has undefined rendering for vp indices outside valid range but that's a bit too undefined... (The logic is now the same as in llvmpipe.) CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Tested-by: Ilia Mirkin <imirkin@alum.mit.edu> (cherry picked from commit 604e54de78aa00430b1d61d030656e387866e840)
2014-07-03i965: Don't emit SURFACE_STATEs for gather workarounds on Broadwell.Kenneth Graunke2-8/+15
As far as I can tell, Broadwell doesn't need any of the SURFACE_STATE workarounds for textureGather() bugs, so there's no need to emit a second set of identical copies. To keep things simple, just point the gather surface index base to the same place as the texture surface index base. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Chris Forbes <chrisf@ijw.co.nz> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit f6a99d1167b14a3ada7c1d6f41a5cc6f13290e0d)
2014-06-24docs: Add sha256 sums for the 10.2.2 releaseCarl Worth1-0/+3
Which, of course, we couldn't do until making the release files and tagging the release.
2014-06-24docs: Add release notes for 10.2.2 releasemesa-10.2.2Carl Worth1-0/+178
Which is ready to go.
2014-06-24Update VERSION to 10.2.2Carl Worth1-1/+1
In preparation for the 10.2.2 release.
2014-06-23i915: Fix gen2 texblend setupVille Syrjälä1-1/+1
Fix an off by one in the texture unit walk during texblend setup on gen2. This caused the last enabled texunit to be skipped resulting in totally messed up texturing. This is a regression introduced here: commit 1ad443ecdd694dd9bf3c4a5050d749fb80db6fa2 Author: Eric Anholt <eric@anholt.net> Date: Wed Apr 23 15:35:27 2014 -0700 i915: Redo texture unit walking on i830. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (cherry picked from commit ca55a1aaa78a79ed0bc4b2410d4a8b52ef05c5b2)
2014-06-23i965: Save meta stencil blit programs in the context.Kenneth Graunke2-8/+13
When the last context in a share group is destroyed, the hash table containing all of the shader programs (ctx->Shared->ShaderObjects) is destroyed, throwing away all of the shader programs. Using a static variable to store program IDs ends up holding on to them after this, so we think we still have a compiled program, when it actually got destroyed. _mesa_UseProgram then hits GL errors, since no program by that ID exists. Instead, store the program IDs in the context, so we know to recompile if our context gets destroyed and the application creates another one. Fixes es3conform tests when run without -minfmt (where it creates separate contexts for testing each visual). Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77865 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit a20994d61677adea7f15facbc6bb025f32b37c93) Conflicts: src/mesa/drivers/dri/i965/brw_meta_stencil_blit.c
2014-06-23glx: Don't crash on swap event for a Window (non-GLXWindow)Daniel Manjarres1-4/+8
Prior to GLX 1.3 there was the glxMakeCurrent() function that took a single drawable handle. The Drawable could be either a bare XID for a Window or an XID for a glxpixmap. GLX 1.3 added glxMakeContextCurrent that takes 2 handles: one for reading, one for writing. Nowadays the old glxMakeCurrent call is implemented as a call to glxMakeContextCurrent with the single handle duplicated. Because of this it is allowed to use a plain-old Window ID as an argument to glxMakeContextCurrent, although nobody really documents this sort of thing. The manpage for the NEW call specifies the arguments as GLXPixmaps, but the actual code accepts Window XIDs too, and handles them correctly. Similarly, the glxSelectEvents function can also take a bare Window XID. The "piglit" tests all use GLXWindows and/or GLXPixmaps. You never tested swap events with a bare Window XID. That is what my app was doing. The swap_events code worked with Window XIDs in mesa 7.x.y. The new code added in versions 8, 9, and 10 assumes that all buffer swap events have a GLXPixmap associated with them. Because of the historical quirks above, this is not true. Swap events for bare Window XIDs do NOT have a glxpixmap resulting in a segfault. Any app that uses the old school glxMakeCurrent call with a Window XID while trying to use swap_events will crash when the libs try to lookup the nonexistent GLXPixmap associated with the incoming swap event. I believe that the people who wrote the spec overlooked this, because the "sbc" field comes from the OML_sync extension that is defined in terms of glxpixmaps only. v2 (idr): Formatting changes. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54372 Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 86bd2196b4ccec50443e99e6c8bf1659e1df9f37)
2014-06-23mesa: Copy Geom.UsesEndPrimitive when cloning a geometry program.Iago Toral Quiroga1-0/+1
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 96a95f48eaf8af2c6ace51531bdd5bfbcf71165e)
2014-06-23clover: Don't use llvm's global contextTom Stellard1-6/+9
An LLVMContext should only be accessed by a single and using the global context was causing crashes in multi-threaded environments. Now we use a separate context for each compile. Reviewed-by: Francisco Jerez <currojerez@riseup.net> CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 4aa128a123d7285677a527e724809339f15d33a7)
2014-06-23clover: Prevent Clang from printing number of errors and warnings to stderr.Tom Stellard1-0/+5
https://bugs.freedesktop.org/show_bug.cgi?id=78581 CC: "10.1 10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 0cc391f0136c1532701a04c9b2f3a4cc49f25e8c)
2014-06-23nv30: hack to avoid errors on unexpected color/zeta combinationsIlia Mirkin1-0/+17
This is just a hack, it should be possible to create a temporary zeta surface and render to that instead. However that's more complicated and this avoids the render being entirely broken and errors being reported by the card. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 25182e249e50b0fce41d975ae2b3c9cbdb8d0ef3)
2014-06-23nv30: avoid dangling references to deleted contextsIlia Mirkin1-0/+3
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit c092c46b27c6f6a6674e8d67fb3afdb684811819)
2014-06-23nv30: plug some memory leaks on screen destroy and shader compileIlia Mirkin2-0/+7
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 5af80f62680b8321c3af565bb57138a71429502c)
2014-06-23meta: Respect the driver's maximum number of draw buffersIan Romanick1-2/+2
Commit c1c1cf5f9 added infrastructure for saving and restoring draw buffer state. However, it universially used MAX_DRAW_BUFFERS, but many drivers support far fewer than that at limit. For example, the radeon and i915 drivers only support 1. Using MAX_DRAW_BUFFERS causes meta to generate GL errors. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80115 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Tested-by: Kenneth Graunke <kenneth@whitecape.org> [on Broadwell] Tested-by: jpsinthemix@verizon.net Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit cc219d1d6567cfada5d8e9adf01c2f00e00c93ca)
2014-06-23mesa: Remove glClear optimization based on drawable sizeKristian Høgsberg1-5/+0
A drawable size of 0x0 means that we don't have buffers for a drawable yet, not that we have a zero-sized buffer. Core mesa shouldn't be optimizing out drawing based on buffer size, since the draw call could be what triggers the driver to go and get buffers. As discussed in the referenced bug report, the optimization was added as part of a scatter-shot attempt to fix a different problem. There's no other example in mesa core of using the buffer size in this way. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=74005 Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 7928b946adbcbbb835c0080967bbb538f6bd35dc)
2014-06-23radeon/uvd: disable VC-1 simple/main on UVD 2.xGrigori Goronzy1-1/+4
It's about as broken as on later UVD revisions. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=66452 Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Christian König <christian.koenig@amd.com> (cherry picked from commit 6cd30f5d730c3c23251a8e72e17fe65810460764)
2014-06-23nv50: make sure to mark first scissor dirty after blitIlia Mirkin1-0/+1
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit af05270ccfaa15fde9845a2250922caa8902c0fe)
2014-06-23i965: Use 8x4 aligned rectangles for HiZ operations on Broadwell.Kenneth Graunke1-4/+16
Like on Haswell, we need to use 8x4 aligned rectangle primitives for hierarchical depth buffer resolves and depth clears. See the comments in brw_blorp.cpp's brw_hiz_op_params() constructor. (The Broadwell documentation confirms that this is still necessary.) This patch makes the Broadwell code follow the same behavior as Chad and Jordan's Gen7 BLORP code. Based on a patch by Topi Pohjolainen. This fixes es3conform's framebuffer_blit_functionality_scissor_blit test, with no Piglit regressions. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 49659ad90c501ae584b7d76ca98f35a8f57d40fe)
2014-06-23i965/vec4: Use the sampler for pull constant loads on Broadwell.Kenneth Graunke1-8/+8
We've used the LD sampler message for pull constant loads on earlier hardware for some time, and also were already using it for the FS on Broadwell. This patch makes us use it for Broadwell VS/GS as well. I believe that when I wrote this code in 2012, we still used the data port in some cases, and I somehow neglected to convert it while rebasing. Improves performance in GLBenchmark 2.7 Egypt by 416.978% +/- 2.25821% (n = 17). Many other applications should benefit similarly: this speeds up uniform array access in the VS, which is commonly used for skinning shaders, among other things. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Tested-by: Ben Widawsky <ben@bwidawsk.net> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 5d8e246ac86b4a94a0c2cf2bc707eceb3fe20cb6)
2014-06-23i965: Add missing newlines to a few perf_debug messages.Kenneth Graunke1-2/+2
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 847abaccc04026b5c150748b6484061f2f8b3165)
2014-06-23i965: Drop Broadwell perf_debugs about missing MOCS that aren't missing.Kenneth Graunke2-4/+0
I actually added MOCS support for these things, but forgot to delete the corresponding perf_debug() warnings. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit d053a05ef3c0aa491d485074e48a6715d7018f9c)
2014-06-23i965: Add missing MOCS setup for 3DSTATE_INDEX_BUFFER on Broadwell.Kenneth Graunke1-3/+1
Somehow I missed this when adding all of the other MOCS values. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 7f256c1c705e74d626a668bdfc2b281167a957c2)
2014-06-23i965/vec4: Fix dead code elimination for VGRFs of size > 1.Kenneth Graunke1-1/+2
When faced with code such as: mov vgrf31.0:UD, 960D mov vgrf31.1:UD, vgrf30.xxxx:UD The dead code eliminator didn't consider reg_offsets, so it decided that the second instruction was writing was writing to the same register as the first one, and eliminated the first one. But they're actually different registers. This fixes INTEL_DEBUG=shader_time for vertex shaders. In the above code, vgrf31.0 represents the offset into the shader_time buffer where the data should be written, and vgrf31.1 represents the actual time data. With a completely undefined offset, results were...unexpected. I think this is probably one of the few cases (maybe only case) where we generate multiple MOVs to a large VGRF. Normally, we just use them as texturing results; the other SEND-from-GRF uses a size 1 VGRF. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79029 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit d0575d98fc595dcc17706dc73d1eb461027ca17a)
2014-06-23meta_blit: properly compute texture width for the CopyTexSubImage fallbackJason Ekstrand1-1/+1
Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Matt Turner <mattst88@gmail.com> (cherry picked from commit ffe609cc69f328de5b57d4d7ab1d270fcf28de5f)
2014-06-23configure: correctly autodetect xvmc/vdpau/omxEmil Velikov1-1/+1
Commit e62b7d38a1d (configure: autodetect video state-trackers when non swrast driver is present) added a check that caused the autodetection to be omitted when we have the swrast gallium driver. Whereas it should have skipped the VL targets when only swrast was selected. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79907 Cc: "10.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Christian König <christian.koenig@amd.com> (cherry picked from commit 816d392b586ecd95bd5b2dc24945bb9fc5d73d6e)
2014-06-23i965: Set the fast clear color value for texture surfacesNeil Roberts2-2/+6
When a multisampled texture is used for sampling the fast clear color value needs to be programmed into the surface state. This was being left as all zeroes so if the surface was cleared to a value other than black then it wouldn't work properly. This doesn't matter for single-sample textures because in that case the MCS buffer is resolved before it is used as a texture source. https://bugs.freedesktop.org/show_bug.cgi?id=79729 Reviewed-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 765efeef883cdbb86e052acd887e0c3c0e39b732)