AgeCommit message (Collapse)AuthorFilesLines
2015-03-11meta: Allow GL_UN/PACK_IMAGE_HEIGHT in _mesa_meta_pbo_Get/TexSubImageNeil Roberts1-12/+20
Now that a layered source PBO is interpreted as a single tall 2D image it's quite easy to accept the image height packing option by just creating an image that is tall enough to include the image padding. I'm not sure whether the image height property should affect 1D_ARRAY textures. My intuition and interpretation of the GL spec (which is a bit vague) would be that it shouldn't. However the software fallback path in Mesa uses the property for packing but not for unpacking. The binary NVidia driver uses it for both. This patch doesn't use it for either case so it is different from the software fallback. There is some discussion about this here: This is tested by the texsubimage Piglit test with the array and pbo arguments. Previously this test was skipping this code path because it always sets the image height. I've also tested it by modifying the getteximage-targets test. It wasn't using this code path before because it was using the default texture object so this code couldn't successfully create a frame buffer. I also modified it to add some image padding with the image height in the PBO. Reviewed-by: Jason Ekstrand <> Cc: "10.5" <> (cherry picked from commit a08bff1e98b8e630f8bdf341af1491cd99e7d104)
2015-03-11Revert "common: Fix PBOs for 1D_ARRAY."Neil Roberts1-36/+26
This reverts commit 546aba143d13ba3f993ead4cc30b2404abfc0202. I think the changes to the calls to glBlitFramebuffer from this patch are no different to what it was doing previously because it used to set height to 1 before doing the blits. However it was introducing some problems with the blit for layer 0 because this was no longer special cased. It didn't fix problems with the yoffset which needs to be interpreted as a slice offset. I think a better solution would be to modify the original if statement to cope with the yoffset. Conflicts: src/mesa/drivers/common/meta_tex_subimage.c Cc: "10.5" <> Reviewed-by: Jason Ekstrand <> (cherry picked from commit 7d10d2feee381739eef97f4720cbadbd65bb4fc6)
2015-03-11meta: In pbo_{Get,}TexSubImage don't repeatedly rebind the source texNeil Roberts1-4/+0
A layered PBO image is now interpreted as a single tall 2D image so the z argument in _mesa_meta_bind_fbo_image is ignored. Therefore this was just redundantly rebinding the same image repeatedly. Reviewed-by: Jason Ekstrand <> (cherry picked from commit a44606eb8164be2aa37eb288fd90894d74bd0935)
2015-03-07i965: Avoid applying negate to wrong MAD source.Matt Turner1-15/+13
For some given GLSL IR like (+ (neg x) (* 1.2 x)), the try_emit_mad function would see that one of the +'s sources was a negate expression and set mul_negate = true without confirming that it was actually a multiply. Cc: 10.5 <> Bugzilla: Bugzilla: Reviewed-by: Ian Romanick <> (cherry picked from commit d528907fd2950c7bb968fff66dd79863cd128890) [Emil Velikov: drop the changes in brw_vec4_visitor.cpp] Signed-off-by: Emil Velikov <> Conflicts: src/mesa/drivers/dri/i965/brw_fs_visitor.cpp src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp
2015-03-07main: Fix target checking for CopyTexSubImage*D.Laura Ekstrand1-8/+54
This fixes a dEQP test failure. In the test, glCopyTexSubImage2D was called with target = 0 and failed to throw INVALID ENUM. This failure was caused by _mesa_get_current_tex_object(ctx, target) being called before the target checking. To remedy this, target checking was separated from the main error-checking function and called prior to _mesa_get_current_tex_object. Bugzilla: Reviewed-by: Anuj Phogat <> (cherry picked from commit ca65764d6042d2ea220a1e3952490f79c226f3e0)
2015-03-07main: Fix target checking for CompressedTexSubImage*D.Laura Ekstrand1-15/+65
This fixes a dEQP test failure. In the test, glCompressedTexSubImage2D was called with target = 0 and failed to throw INVALID ENUM. This failure was caused by _mesa_get_current_tex_object(ctx, target) being called before the target checking. To remedy this, target checking was made into its own function and called prior to _mesa_get_current_tex_object. Bugzilla: Reviewed-by: Anuj Phogat <> (cherry picked from commit 549078cb5a95e0ee381d036b8c36bc41506f21bc)
2015-03-07intel: fix EGLImage renderbuffer _BaseFormatFrank Henigman2-3/+2
Correctly set _BaseFormat field when creating a gl_renderbuffer with EGLImage storage. Change-Id: I8c9f7302d18b617f54fa68304d8ffee087ed8a77 Signed-off-by: Frank Henigman <> Reviewed-by: Stéphane Marchesin <> Reviewed-by: Chad Versace <> (cherry picked from commit e43729943e67972e547a19123fb3afca6b77202b) Nominated-by: Chad Versace <>
2015-03-07Revert SHA1 additions.Matt Turner6-530/+0
The shader-cache isn't finished, so the configure checks are a bit premature and will only stand to confuse users of Mesa 10.5.0. This is a squash of the follow four reverts: Revert "Rename sha1.c and sha1.h to mesa-sha1.c and mesa-sha1.h" Revert "configure: Add machinery for --enable-shader-cache (and --disable-shader-cache)" Revert "sha1: Fix gcry_md_hd_t typo." Revert "mesa: Add mesa SHA-1 functions" Reviewed-by: Carl Worth <>
2015-03-07i965/vec4: Don't lose the saturate modifier in copy propagation.Andrey Sudnik1-1/+1
Cc: 10.4, 10.5 <> Bugzilla: Reviewed-by: Matt Turner <> Reviewed-by: Ian Romanick <> (cherry picked from commit 0dfec59a2785cf7a87ee5128889ecebe810b611b)
2015-03-07i965: Split Gen4-5 BlitFramebuffer code; prefer BLT over Meta.Kenneth Graunke1-1/+49
A while back I switched intel_blit_framebuffer to prefer Meta over the BLT. This meant that Gen8 platforms would start using the 3D engine for blits, just like we do on Gen6-7.5. However, I hadn't considered Gen4-5 when making that change. The BLT engine appears to be substantially faster on 965GM than using Meta to drive the 3D engine. This isn't too surprising: original Gen4 doesn't support tile offsets (that came on G45), and the level/layer fields don't work for cubemap rendering, so for inconvenient miplevel alignments, we end up blitting or copying data to/from temporaries in order to render to it. We may as well just use the blitter. I chose to use the BLT on Gen4-5 because they use the same ring for both 3D and BLT; Gen6+ splits it out. Fixes regressions on 965GM due to botched tile offset code (we should fix those properly as well, but they're longstanding bugs - for now, put things back to the status quo). Bugzilla: Signed-off-by: Kenneth Graunke <> Reviewed-by: Topi Pohjolainen <> Reviewed-by: Jordan Justen <> Cc: "10.5" <> (cherry picked from commit aa0705c06c03d2b882ac7b185ed123bc8a10d716)
2015-03-07i965: Tell intel_get_memcpy() which direction the memcpy() is going.Matt Turner5-42/+106
The SSSE3 swizzling code was written for fast uploads to the GPU and assumed the destination was always 16-byte aligned. When we began using this code for fast downloads as well we didn't do anything to account for the fact that the destination pointer given by glReadPixels() or glGetTexImage() is not guaranteed to be suitably aligned. With SSSE3 enabled (at compile-time), some applications would crash when an SSE aligned-store instruction tried to store to an unaligned destination (or an assertion that the destination is aligned would trigger). To remedy this, tell intel_get_memcpy() whether we're uploading or downloading so that it can select whether to assume the destination or source is aligned, respectively. Cc: 10.5 <> Bugzilla: Tested-by: Uriy Zhuravlev <> Reviewed-by: Jason Ekstrand <> (cherry picked from commit 2e4c95dfe2cb205c327ceaa12b44a9273bdb20dc)
2015-03-07mapi: fix commit 90411b56f6bc817e229d8801ac0adad6d4e3fb7aEmil Velikov1-1/+1
Handle static glapi as well. Signed-off-by: Emil Velikov <>
2015-03-07cherry-ignore: ignore a few more commits picked without -xEmil Velikov1-0/+11
Signed-off-by: Emil Velikov <>
2015-03-07egl/main: no longer export internal functionEmil Velikov13-36/+36
With the split of the gallium egl module we had previously it required access to some of the internal functions. As the only build (automake) that did this no longer builds it we can now appropriately hide those functions. Cc: 10.5 <> Signed-off-by: Emil Velikov <> Reviewed-by: Matt Turner <> Reviewed-by: Brian Paul <> (cherry picked from commit dd438ae34bdbaa6651cdd226d5fec15a892923bf)
2015-03-07i965/fs: Don't propagate cmod to inst with different type.Matt Turner2-0/+38
Cc: 10.5 <> Bugzilla: Reviewed-by: Kenneth Graunke <> (cherry picked from commit 1e128e9b69c6336762a2b6ee5d356c763b9ae3b0)
2015-03-07r300g: Check return value of snprintf().Matt Turner1-1/+6
Would have at least prevented the crash the previous patch fixed. Cc: 10.4, 10.5 <> Bugzilla: Reviewed-by: Tom Stellard <> (cherry picked from commit ade0b580e75bdea227eec5345f6681b678d0811b)
2015-03-07r300g: Use PATH_MAX instead of limiting ourselves to 100 chars.Matt Turner1-3/+3
When built with Gentoo's package manager, the Mesa source directory exists seven directories deep. The path to the .test file is too long and is silently truncated, leading to a crash. Just use PATH_MAX. Cc: 10.4, 10.5 <> Bugzilla: Reviewed-by: Tom Stellard <> (cherry picked from commit f5e2aa1324dd6a9666bb21834097d2fbc3cb99b6)
2015-03-07egl: Take alpha bits into account when selecting GBM formatsDaniel Stone1-5/+11
This fixes piglit when using PIGLIT_PLATFORM=gbm Tom Stellard: - Fix ARGB2101010 format Cc: "10.4 10.5" <> Reviewed-by: Alex Deucher <> Reviewed-by: Chad Versace <> (cherry picked from commit 65c8965d033cf9ade5e6f3c88bda6d247d46af9d)
2015-03-07gallium/auxiliary/indices: fix start paramMarc-Andre Lureau1-4/+4
Since commit 28f3f8d, indices generator take a start parameter. However, some index values have been left to start at 0. This fixes the glean/fbo test with the virgl driver, and copytexsubimage with freedreno. Reviewed-by: Ilia Mirkin <> Cc: "10.4 10.5" <> (cherry picked from commit 073a5d2e84ac9d95f0d037aeb04889822e76aa4e)
2015-03-07i965/fs: Don't use backend_visitor::instructions after creating the CFG.Matt Turner1-10/+0
This is a fix for a regression introduced in commit a9f8296d ("i965/fs: Preserve the CFG in a few more places."). The errata this code works around is described in a comment before the function: "[DevBW, DevCL] Errata: A destination register from a send can not be used as a destination register until after it has been sourced by an instruction with a different destination register. The framebuffer write's sources must be in message registers, which SEND instructions cannot have as a destination. There's no way for this errata to affect anything at the end of the program. Just remove the code. Cc: 10.4, 10.5 <> Bugzilla: Reviewed-by: Kenneth Graunke <> (cherry picked from commit e214000f258ae564e64d839cccee9418526f226b)
2015-03-07main/base_tex_format: Properly handle STENCIL_INDEX1/4/16Jason Ekstrand1-0/+3
This takes "fbo-stencil blit GL_STENCIL_INDEX1/4/16" from crash to pass on BDW. Cc: 10.5 <> Reviewed-by: Matt Turner <> (cherry picked from commit c4925d7f3b66d63fbdd7b7607cd809db1e58bee9)
2015-03-07meta/TexSubImage: Stash everything other than PIXEL_TRANSFER/store in meta_beginJason Ekstrand1-4/+4
Previously, there were bugs where if the app set a scissor it could affect the area of the texture that was downloaded. There was also potential that the framebuffer SRGB state could affect downloads. This ensures that those will get saved/restored and can't affect the texture download. Cc: 10.5 <> Bugzilla: Reviewed-by: Neil Roberts <> (cherry picked from commit b1ab02d9c0cc11ba8ef4efaba9452d644b6a0811)
2015-03-07i965: Consider scratch writes to have side effects.Matt Turner1-0/+1
We could do better by tracking scratch reads and writes. Cc: 10.5 <> Bugzilla: Reviewed-by: Jason Ekstrand <> (cherry picked from commit da20bf068ef0f816968d9bc4dfea81facf0fd680)
2015-03-07mesa: Correct backwards NULL check.Matt Turner1-1/+1
Cc: "10.4, 10.5" <> Reviewed-by: Emil Velikov <> Reviewed-by: Ian Romanick <> (cherry picked from commit 491d42135ad0e5670756216154f2ba9fc79d4ba7)
2015-03-07mesa: Free memory allocated for luminance in readpixels.Matt Turner1-0/+1
Cc: "10.4, 10.5" <> Reviewed-by: Brian Paul <> Reviewed-by: Iago Toral Quiroga <> (cherry picked from commit 87109acbed9c9b52f33d58ca06d9048d0ac7a215)
2015-03-07mesa: Indent break statements and add a missing one.Matt Turner1-5/+6
Always indenting break statements makes spotting missing ones easier. Cc: "10.4, 10.5" <> Reviewed-by: Brian Paul <> Reviewed-by: Iago Toral Quiroga <> (cherry picked from commit 2b2fa1865248c6e3b7baec81c4f92774759b201f)
2015-03-07i965/gs: Check newly-generated GS-out VUE map against correct stageChris Forbes1-1/+1
Previously, we compared our new GS-out VUE map to the existing *VS*-out VUE map, which is bogus. This would mostly manifest as redundant dirty flagging where the GS is in use but the VS and GS output layouts differ; but there is a scary case where we would fail to flag a GS-out layout change if it happened to match the VS-out layout. Signed-off-by: Chris Forbes <> Cc: "10.5, 10.4" <> Reviewed-by: Matt Turner <> Bugzilla: (cherry picked from commit b51ff50a767cc78d678ed3d2c25995f5c4194fea)
2015-03-07i965/vec4: Fix implementation of i2b.Matt Turner1-1/+1
I broke this in commit 2881b123d. I must have misread i2b as b2i. Cc: 10.5 <> Bugzilla: Reviewed-by: Ian Romanick <> (cherry picked from commit 43ef2657a08f850c5756f28520f2cbe506807f24)
2015-03-07i965/fs/nir: Use emit_math for nir_op_fpowIan Romanick1-1/+1
It appears that all the other instructions that need it already use it. This one just got missed. Signed-off-by: Ian Romanick <> Reviewed-by: Jason Ekstrand <> Cc: "10.5" <> (cherry picked from commit b8a1637119249c1d5e76c27d0053360bbb7f4e77)
2015-03-06docs: Add sha256 sums for the 10.5.0 releaseEmil Velikov1-2/+3
Signed-off-by: Emil Velikov <>
2015-03-06docs: Update 10.5.0 release notesmesa-10.5.0Emil Velikov1-2/+145
Signed-off-by: Emil Velikov <>
2015-03-06Bump version to 10.5.0 (final)Emil Velikov1-1/+1
Signed-off-by: Emil Velikov <>
2015-03-02xmlpool: make sure we ship options.hEmil Velikov1-1/+1
The header is included in ../xmlpool.h. With the latter of which used directly in a number of places in mesa. Note that we can also add it (alongside t_option.h) to noinst_HEADERS, but neither solution fixes the issue that brough us here - namely: Do not regenerate the headers, if it already exists. Cc: "10.5" <> Signed-off-by: Emil Velikov <>
2015-03-02mapi: fix shared-glapi dependency trackingEmil Velikov1-1/+1
I.e. add shared-glapi/glapi_mapi_tmp.h to the SOURCES list. Otherwise there will be no knowledge that the file is required by others for the build. Thus autotools won't pick it up for the distribution tarball. Cc: "10.5" <> Signed-off-by: Emil Velikov <>
2015-03-02mesa: drop Makefile from get_hash.h dependency listEmil Velikov1-1/+1
Not required. Additionally this had the side effect of generating the file, despite it's existence. Cc: "10.5" <> Signed-off-by: Emil Velikov <>
2015-03-02mesa: fix dependency tracking of generated sourcesEmil Velikov1-0/+2
Some of the files generated were not in the SOURCES variable, thus although generated prior to compilation the dependency tracking was incomplete. The latter of which resulted in the files missing from the distribution tarball. Cc: "10.5" <> Signed-off-by: Emil Velikov <>
2015-03-02mesa: rename format_info.c to format_info.hEmil Velikov4-6/+6
The file is auto-generated, and #included by formats.c. Let's rename it to reflect the latter. This will also help up fix the dependency tracking by adding it to the _SOURCES variable, without the side effect of it being compiled (twice). Cc: "10.4, 10.5" <> Signed-off-by: Emil Velikov <>
2015-03-02mesa/main: update .gitignoreEmil Velikov1-3/+1
Drop the no longer present get_es{1,2}.c from the list. Signed-off-by: Emil Velikov <>
2015-02-28Increment version to 10.5.0-rc3mesa-10.5.0-rc3Emil Velikov1-1/+1
Signed-off-by: Emil Velikov <>
2015-02-27auxilary/os: correct sysctl use in os_get_total_physical_memory()Jonathan Gray1-2/+2
The length argument passed to sysctl was the size of the pointer not the type. The result of this is sysctl calls would fail on 32 bit BSD/Mac OS X. Additionally the wrong pointer was passed as an argument to store the result of the sysctl call. Cc: "10.4, 10.5" <> Signed-off-by: Jonathan Gray <> Reviewed-by: Emil Velikov <> (cherry picked from commit 7983a3d2e06b0bc16c1a16bddccc7f14fe1f132c)
2015-02-27r600g/sb: treat undefined values like constantsDave Airlie1-2/+2
When we schedule an instructions with undefined value, we eventually will use 0, which is a constant, however sb wasn't taking this into account and creating ops with illegal scalar swizzles. this replaces my fix for op3 in t slots. Reviewed-by: Glenn Kennard <> Signed-off-by: Dave Airlie <> (cherry picked from commit e8e4437ed0660b3f1d1912f53d997cf5e25f486d)
2015-02-27i965/skl: Implement WaDisable1DDepthStencilNeil Roberts1-0/+12
Skylake+ doesn't support setting a depth buffer to a 1D surface but it does allow pretending it's a 2D texture with a height of 1 instead. This fixes the GL_DEPTH_COMPONENT_* tests of the copyteximage piglit test (and also seems to avoid a subsequent GPU hang). Bugzilla: Reviewed-by: Kenneth Graunke <> (cherry picked from commit 5b29b2922afe2b8167a589fc2896a071fc85b693) Nominated-by: Ian Romanick <>
2015-02-27pipe-loader: Fix build with dri drivers enabled, and vl state trackers disabledTom Stellard1-1/+5
Configure arguments: ./configure --disable-dri3 --disable-xvmc --enable-opencl --with-gallium-drivers=r300,r600,radeonsi --with-egl-platforms=drm Build error: make[3]: *** No rule to make target `../../../../src/gallium/auxiliary/', needed by `'. Stop. Cc: "10.5" <> Reviewed-by: Emil Velikov <> (cherry picked from commit ed07255149d7cffac07615e946289b3d683faa4b)
2015-02-27glsl: Rewrite and fix min/max to saturate optimization.Matt Turner1-29/+46
There were some bugs, and the code was really difficult to follow. We would optimize min(max(x, b), 1.0) into max(sat(x), b) but not pay attention to the order of min/max and also do max(min(x, b), 1.0) into max(sat(x), b) Corrects four shaders from Champions of Regnum that do min(max(x, 1), 10) and corrects rendering of Mass Effect under VMware Workstation. Cc: "10.4 10.5" <> Bugzilla: Reviewed-by: Abdiel Janulgue <> Reviewed-by: Ian Romanick <> (cherry picked from commit cb25087c7bd5f1ad2515647278b32d3f07803f77)
2015-02-27glx: Fix returned values of GLX_RENDERER_PREFERRED_PROFILE_MESAAndreas Boll1-6/+30
If the renderer supports the core profile the query returned incorrectly 0x8 as value, because it was using (1U << __DRI_API_OPENGL_CORE) for the returned value. The same happened with the compatibility profile. It returned 0x1 (1U << __DRI_API_OPENGL) instead of 0x2. Internal DRI defines: dri_interface.h: #define __DRI_API_OPENGL 0 dri_interface.h: #define __DRI_API_OPENGL_CORE 3 Those two bits are supposed for internal usage only and should be translated to GLX_CONTEXT_CORE_PROFILE_BIT_ARB (0x1) for a preferred core context profile and GLX_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB (0x2) for a preferred compatibility context profile. This patch implements the above translation in the glx module. v2: Fix the incorrect behavior in the glx module Cc: "10.3 10.4 10.5" <> Signed-off-by: Andreas Boll <> Reviewed-by: Ian Romanick <> (cherry picked from commit 6d164f65c5a794164d07bc66c1f8f87280514e8c)
2015-02-27common: Fix PBOs for 1D_ARRAY.Laura Ekstrand1-26/+36
Corrects the way that _mesa_meta_pbo_TexSubImage and _mesa_meta_pbo_GetTexSubImage handle 1D_ARRAY textures. Fixes a failure in the Piglit arb_direct_state_access/gettextureimage-targets test. Reviewed-by: Jason Ekstrand <> Tested-by: Laura Ekstrand <> Cc: "10.4, 10.5" <> (cherry picked from commit 546aba143d13ba3f993ead4cc30b2404abfc0202)
2015-02-27common: Correct PBO 2D_ARRAY handling.Laura Ekstrand1-9/+17
Changes PBO uploads and downloads to use a tall (height * depth) 2D texture for blitting. This fixes the bug where 2D_ARRAY, 3D, and CUBE_MAP_ARRAY textures are not properly uploaded and downloaded. Removes the option to use a 2D ARRAY texture for the PBO during upload and download. This option didn't work because the miptree couldn't be set up reliably. v2: Review from Jason Ekstrand and Neil Roberts: -Delete the depth parameter from create_texture_for_pbo -Abandon the option to create a 2D ARRAY texture in create_texture_for_pbo Reviewed-by: Ian Romanick <> Reviewed-by: Jason Ekstrand <> Cc: "10.4, 10.5" <> (cherry picked from commit ccc5ce6f72c1ec86be4dfcef96c0b51fba0faa6d)
2015-02-27common: Correct texture init for meta pbo uploads and downloads.Laura Ekstrand1-1/+4
This moves the line setting immutability for the texture to after _mesa_initialize_texture_object so that the initializer function will not cancel it out. Moreover, because of the ARB_texture_view extension, immutable textures must have NumLayers > 0, or depth will equal (0-1)=0xFFFFFFFF during SURFACE_STATE setup, which triggers assertions. v2: Review from Kenneth Graunke: - Include more explanation in the commit message. - Make texture setup bug fixes into a separate patch. Reviewed-by: Ian Romanick <> Reviewed-by: Jason Ekstrand <> Cc: "10.4, 10.5" <> (cherry picked from commit 06084652fefe49c3d6bf1b476ff74ff602fdc22a)
2015-02-27st/omx/dec/h264: fix picture out-of-order with poc type 0 v2Leo Liu1-0/+5
poc counter should be reset with IDR frame, otherwise there would be a re-order issue with frames before and after IDR v2: add commit message Signed-off-by: Leo Liu <> Reviewed-by: Christian König <> Cc: "10.4 10.5" <> (cherry picked from commit 9c7b343bc0a6aa6065055cbc1c0a891ccc445984)
2015-02-24Increment version to 10.5.0-rc2mesa-10.5.0-rc2Emil Velikov1-1/+1
Signed-off-by: Emil Velikov <>