AgeCommit message (Collapse)AuthorFilesLines
2014-01-02i965/gen6: Fix HiZ hang in WebGL Google MapsChad Versace1-0/+15
Emitting flushes before depth and hiz resolves at the top of blorp's state emission fixes the hang. Marchesin and I found the fix experimentally, as opposed to adhering to a documented hardware workaround. A more minimal fix likely exists, but this gets the job done. Fixes HiZ hangs in the new WebGL Google maps on Sandybridge Chrome OS. Tested by zooming in and out continuously for 2 hours. This patch is based on CC: Bugzilla: Signed-off-by: Stéphane Marchesin <> Signed-off-by: Chad Versace <> Reviewed-by: Paul Berry <> Reviewed-by: Kenneth Graunke <> (cherry picked from commit 1a928816a1b717201f3b3cc998a42731b280e6ba)
2014-01-02st/mesa: fix glClear with multiple colorbuffers and different formatsMarek Olšák1-24/+10
Cc: 10.0 9.2 9.1 <> (cherry picked from commit 0612005aa66f211753f44bb4ffdfdcc9316281ac)
2014-01-02glcpp: error on multiple #else/#elif directivesErik Faye-Lund6-1/+51
The preprocessor currently accepts multiple else/elif-groups per if-section. The GLSL-preprocessor is defined by the C++ specification, which defines the following parse-rule: if-section: if-group elif-groups(opt) else-group(opt) endif-line This clearly only allows a single else-group, that has to come after any elif-groups. So let's modify the code to follow the specification. Add test to prevent regressions. Reviewed-by: Ian Romanick <> Reviewed-by: Kenneth Graunke <> Reviewed-by: Carl Worth <> Cc: 10.0 <> (cherry picked from commit eb212c5a302f0122a13b36dfdf07e91f951ae2e7)
2014-01-02Revert "mesa: Remove GLXContextID typedef from glx.h."Kenneth Graunke1-0/+1
This reverts commit 136a12ac98868d82c2ae9fcc80d11044a7ec56d1. According to belak51 on IRC, this commit broke Allegro, which would no longer compile. Applications apparently expect the GLXContextID typedef to exist in glx.h; removing it breaks them. A bit of searching around the internet revealed other complaints since upgrading to Mesa 10. Cc: "10.0" <> (cherry picked from commit f425d56ba41382be04366d011536ee78a03a2f33)
2014-01-02r600g: fix SUMO2 pci idAlex Deucher1-1/+1
0x9649 is sumo2, not sumo. Signed-off-by: Alex Deucher <> CC: "9.2" "10.0" <> (cherry picked from commit e2d53fac1c5b18f5c9e95d39d4e2be4703b0b363)
2014-01-02r600/pipe: Stop leaking context->start_compute_cs_cmd.buf on EG/CMAaron Watry1-0/+2
Found while tracking down memory leaks in VDPAU playback Reviewed-by: Tom Stellard <> CC: "10.0" <> (cherry picked from commit 3ddabe0d523416693f28e293d8d3d918bdb612ca)
2014-01-02st/vdpau: Destroy context when initialization failsAaron Watry1-0/+1
Prevents a potential memory leak found when tracking down something else. Reviewed-by: Christian König <> Reviewed-by: Tom Stellard <> CC: "10.0" <> (cherry picked from commit 20446d0e535c0735489c8944e8d767e0fc74fc6e)
2014-01-02radeon/llvm: Free target data at end of optimizationAaron Watry1-0/+1
Reviewed-by: Tom Stellard <> CC: "10.0" <> (cherry picked from commit 767b0f82c37f0370c05335120e50f0a534549109)
2014-01-02r600/compute: Use the correct FREE macro when deleting compute stateAaron Watry1-1/+1
Reviewed-by: Tom Stellard <> CC: "10.0" <> (cherry picked from commit 0bd858d7ff4a16228164e3157aca846edeb6c228)
2014-01-02r600/compute: Free compiled kernels when deleting compute stateAaron Watry1-0/+2
v2: Remove unnecessary null pointer check CC: "10.0" <> (cherry picked from commit e19717d075bd26c16e12564ed578ff519a5ce57a)
2014-01-02radeon/compute: Stop leaking LLVMContexts in radeon_llvm_parse_bitcodeAaron Watry5-18/+41
Previously we were creating a new LLVMContext every time that we called radeon_llvm_parse_bitcode, which caused us to leak the context every time that we compiled a CL program. Sadly, we can't dispose of the LLVMContext at the point that it was being created because evergreen_launch_grid (and possibly the SI equivalent) was assuming that the context used to compile the kernels was still available. Now, we'll create a new LLVMContext when creating EG/SI compute state, store it there, and pass it to all of the places that need it. The LLVM Context gets destroyed when we delete the EG/SI compute state. Reviewed-by: Tom Stellard <> CC: "10.0" <> (cherry picked from commit 8c9a9205d96b5ac0718218bfa952a5b4b6ad939c)
2014-01-02pipe_loader/sw: close dev->lib when initialization failsAaron Watry1-1/+4
Prevents a memory leak. Reviewed-by: Tom Stellard <> CC: "10.0" <> (cherry picked from commit a7653c19a3b1adae162864587a7ab1c17ab256e6)
2014-01-02clover: Remove unused variableAaron Watry1-1/+0
Reviewed-by: Tom Stellard <> CC: "10.0" <> (cherry picked from commit 862f55c29c50798942e58ea75c5294921c0489f8)
2014-01-02llvmpipe: use pipe_sampler_view_release() to avoid segfaultJonathan Liu1-0/+6
This fixes another case of faulting when freeing a pipe_sampler_view that belongs to a previously destroyed context. Cc: "10.0" <> Signed-off-by: Jonathan Liu <> Reviewed-by: Brian Paul <> (cherry picked from commit 7990ab58fa01cbebcefd63dd25af5fd6fdddf019)
2014-01-02st/mesa: use pipe_sampler_view_release()Jonathan Liu1-1/+1
This fixes a crash where old_view->context was already freed in the pipe_sampler_view_reference function contained in src/gallium/auxiliary/utils/u_inlines.h. As a result, the sampler_view_destroy function pointer contained 0xfeeefeee indicating freed heap memory. Cc: "10.0" <> Signed-off-by: Jonathan Liu <> Reviewed-by: Brian Paul <> (cherry picked from commit 670be71bd801fea876f7512865ed5f54340da9be)
2014-01-02i915: Add support for gl_FragData[0] reads.Henri Verbeet1-0/+1
Similar to 556a47a2621073185be83a0a721a8ba93392bedb, without this reading from gl_FragData[0] would cause a software fallback. Bugzilla: Signed-off-by: Henri Verbeet <> Cc: 10.0 9.2 9.1 <> Reviewed-by: Ian Romanick <> Reviewed-by: Eric Anholt <> (cherry picked from commit b094b3b9f4c7b40056c31e3480ab7dc530da56e7)
2014-01-02i965: Fix 3DSTATE_PUSH_CONSTANT_ALLOC_PS packet creation.Kenneth Graunke1-1/+1
When adding geometry shader support, we accidentally reversed the size and offset parameters. Signed-off-by: Kenneth Graunke <> Reviewed-by: Paul Berry <> Cc: "10.0" <> (cherry picked from commit 51c9cfc296318760aab421a79da727acd0e36311)
2014-01-02Use line number information from entire function expressionKevin Rogovin1-1/+1
This patch changes the error reporting behavior for incorrect function invocation (triggered by match_function_by_name() unable to find a matching function call) from using the line number information associated to the function name term to using the line number information of the entire function expression. Fixes bug #72264. Bugzilla: Reviewed-by: Ian Romanick <> Cc: "10.0" <> (cherry picked from commit 23d294bb60be41e3876179e7b763a275902d1efd)
2014-01-02mesa: Fix error code generation in glBeginConditionalRender()Anuj Phogat1-1/+3
This patch changes the error condition to satisfy below statement from OpenGL 4.3 core specification: "An INVALID_OPERATION error is generated if id is the name of a query object with a target other SAMPLES_PASSED, ANY_SAMPLES_PASSED, or ANY_SAMPLES_PASSED_CONSERVATIVE, or if id is the name of a query currently in progress." Cc: Signed-off-by: Anuj Phogat <> Reviewed-by: Brian Paul <> (cherry picked from commit 7a73c6acb0a4f5f049795f73a54a08a6dbe166ed)
2014-01-02dri_util: Don't assume __DRIcontext->driverPrivate is a gl_contextKristian Høgsberg14-10/+34
The driverPrivate pointer is opaque to the driver and we can't assume it's a struct gl_context in dri_util.c. Instead provide a helper function to set the struct gl_context flags from the incoming DRI context flags. v2 (idr): Modify the other classic drivers to also use driContextSetFlags. I ran all the piglit GLX_ARB_create_context tests with i965 and classic swrast without regressions. Signed-off-by: Kristian Høgsberg <> Signed-off-by: Ian Romanick <> Reviewed-by: Ian Romanick <> [v1] Reviewed-by: Eric Anholt <> Tested-by: Ilia Mirkin <> [v1 on Gallium nouveau] Cc: "10.0" <> (cherry picked from commit 38366c0c6e715314367b15680702e382d5c46a4a)
2014-01-02mesa: fix interpretation of glClearBuffer(drawbuffer)Marek Olšák1-6/+25
This corresponding piglit tests supported this incorrect behavior instead of pointing at it. Reviewed-by: Ian Romanick <> Cc: 10.0 9.2 9.1 <> (cherry picked from commit 03d848ea1003abefd8fe51a5b4a780527cd852af)
2014-01-02r600g/sb: fix stack size computation on evergreenVadim Girlin1-4/+12
On evergreen we have to reserve 1 stack element in some additional cases besides the ones mentioned in the docs, but stack size computation was recently reimplemented exactly as described in the docs by the patch that added workarounds for stack issues on EG/CM, resulting in regressions with some apps (Serious Sam 3). This patch fixes it by restoring previous behavior. Fixes Signed-off-by: Vadim Girlin <> Cc: "10.0" <> Tested-by: Andre Heider <> (cherry picked from commit 00faf82832f3e6ef886abad246b50cc47b901c1f)
2013-12-12docs: Add md5sums for the 10.0.1 release.Carl Worth1-0/+3
2013-12-12Update version for the 10.0.1 release.mesa-10.0.1Carl Worth1-1/+1
It's so nice that this is updated in just a single place now. Thanks, Emil!
2013-12-12Makefile: Add bin/test-driver to EXTRA_FILESCarl Worth1-0/+1
I'm not sure why this change is necessary. When I've built previous tar files (such as 9.2.4) with the "make tarballs" target, they include the bin/test-driver file. But at my first attempt to build the tar files for the 10.0.1 release this file was not being included and the build failed.
2013-12-12docs: Add release notes for 10.0.1Carl Worth1-0/+147
2013-12-12nv50: report 15 max inputs for fragment programsIlia Mirkin1-1/+1
First off, nv50_program only has 16 in/out varyings. However reporting 16 makes 'm' become 68 in nv50_fp_linkage_validate with the varying-packing-simple piglit test. (Subverting the assert makes it compile but fail.) With this patch, varying-packing-simple passes. See: Signed-off-by: Ilia Mirkin <> Cc: "9.2 10.0" <> (cherry picked from commit bad8871e524cf518bc5da4ac52c1618a115054a7)
2013-12-12nouveau: Fix compiler warning regressionMaarten Lankhorst1-4/+0
cfg is now unused, remove it. Cc: "10.0" <> (cherry picked from commit 5576ad11ed922fad641e630fbb9b199f6434f528)
2013-12-12swrast: fix readback regression since inversion fixDave Airlie1-1/+1
This readback from the frontbuffer with swrast was broken, that bug just made it more obviously broken, this fixes it by inverting the sub image gets. Also fixes a few other piglits. Fixes: Fixes: (for 9.2 the patches this depends on were asked to be backported separately in an email). Cc: "9.2" "10.0" Reviewed-by: Brian Paul <> Signed-off-by: Dave Airlie <> (cherry picked from commit 0b16042377a6981ff9bba92387889524a3547b3f)
2013-12-12Enable throttling in SwapBuffersAxel Davy1-1/+13
flush_with_flags, when available, allows the driver to throttle. Using this suppress input lag issues that can be observed in heavy rendering situations on non-intel cards. Signed-off-by: Axel Davy <> Cc: "10.0" (cherry picked from commit afcce46fd505da51883000249ef29dd69f1d7791)
2013-12-12egl/wayland: Send commit after flushing the driver contextKristian Høgsberg1-2/+1
This typically won't make a difference, since we only send the requests at wl_display_flush() time. There might be a small race with another thread calling wl_display_flush() after our commit request, but before we flush the DRI driver. Moving the commit below the DRI driver flush call looks more natural and eliminates the small race. Cc: "10.0" (cherry picked from commit 33eb5eabeec0c17e81b6bb11be703701e4025d4e)
2013-12-12egl/wayland: Flush the wl_display at the end of SwapBuffersAxel Davy1-0/+2
We would like the compositor to receive the commited buffer as soon as possible, so it has the time to treat it, and release old ones. We shouldn't rely on the client to flush the queue for us. Signed-off-by: Axel Davy <> Cc: "10.0" (cherry picked from commit 402bf6e8d098b64390277b229f7fae769e4449e5)
2013-12-09egl/wayland: Damage INT32_MAX x INT32_MAX region for eglSwapBuffersKristian Høgsberg1-2/+2
If we're not using EGL_EXT_swap_buffers_with_damage, we have to damage the full extent. EGL operates on buffer coordinates, but wl_surface.damage takes surface coordinates. EGL doesn't know the buffer transformation (rotated or scaled) and can't post accurate damage in surface coordinates. The damage event however is clipped to the surface extents so we can just damage the maximum rectangle. In case of EGL_EXT_swap_buffers_with_damage, the application knows the buffer transform and is expected to pass in rectangles in surface space. Bugzilla: Cc: "10.0" Tested-by: U. Artie Eoff <> (cherry picked from commit bce64c6c83122b1f4a684cc7890c7a61d2f9ffd7)
2013-12-09dri megadriver_stub: add compatibility for older DRI loadersJordan Justen1-0/+126
To help the transition period when DRI loaders are being updated to support the newer __driDriverExtensions_foo mechanism, we populate __driDriverExtensions with the extensions returned by __driDriverExtensions_foo during a library contructor function. We find the driver foo's name by using the dladdr function which gives the path of the dynamic library's name that was being loaded. Signed-off-by: Jordan Justen <> Reviewed-by: Matt Turner <> Reviewed-by: Kenneth Graunke <> Reviewed-by: Keith Packard <> Cc: "10.0" <> (cherry picked from commit 4859d492b25cba61f43bb883d878d6388be742be)
2013-12-09r300/compiler/tests: Fix line length check in test parserTom Stellard1-1/+3
Reviewed-by: Alex Deucher <> CC: "9.2" "10.0" <> (cherry picked from commit 9a5ce0c4c971a8511574e10dd3ef37eebbe65ce7)
2013-12-09r300/compiler/tests: Fix segfaultTom Stellard1-6/+5
Reviewed-by: Alex Deucher <> CC: "9.2" "10.0" <> (cherry picked from commit 1896431f7933e727a0f75c0e0a2da4c580a04a72)
2013-12-09nouveau/video: update a few more h264 picparm field namesIlia Mirkin1-16/+17
Based on comments by Benjamin Morris <> in This adds setting of is_long_term, and updates a few field names we were unclear about. Signed-off-by: Ilia Mirkin <> Cc: "10.0" <> (cherry picked from commit 2cd2b9705e722d94091ce8ff6ff56a44dd8d5cc6)
2013-12-09nouveau/video: update h264 picparm field names based on usageIlia Mirkin1-15/+13
Signed-off-by: Ilia Mirkin <> Cc: "10.0" <> (cherry picked from commit 78525dae8ae4daf785e89ba8a334e4ec3be8a334)
2013-12-09nv50: enable h264 and mpeg4 for nv98+ (vp3, vp4.0)Ilia Mirkin2-7/+2
Create the ref_bo without any storage type flags set for now. The issue probably arises from our use of the additional buffer space at the end of the ref_bo. It should probably be split up in the future. Signed-off-by: Ilia Mirkin <> Tested-by: Martin Peres <> Cc: "10.0" <> (cherry picked from commit e01ba9d6b049d5eee8c125e3ec43b4539c26e4d7)
2013-12-09glsl: Don't emit empty declaration warning for a struct specifierIan Romanick1-1/+1
The intention is that things like int; will generate a warning. However, we were also accidentally emitting the same warning for things like struct Foo { int x; }; Signed-off-by: Ian Romanick <> Bugzilla: Reviewed-by: Kenneth Graunke <> Cc: Aras Pranckevicius <> Cc: "9.2 10.0" <> (cherry picked from commit 758658850bd5ba64bf2e8c04516ea1292aedcfc3)
2013-12-06nv50: wait on the buf's fence before sticking it into pushbufIlia Mirkin2-0/+12
This resolves some rendering issues in source games. See Signed-off-by: Ilia Mirkin <> Cc: "9.2 10.0" <> (cherry picked from commit 0e5bf8565106833e1a678ebdae81fdf1657391c9)
2013-12-06nouveau: avoid leaking fences while waitingIlia Mirkin1-6/+5
This fixes a memory leak in some situations. Also avoids emitting an extra fence if the kick handler does the call to nouveau_fence_next itself. Signed-off-by: Ilia Mirkin <> Cc: "9.2 10.0" <> (cherry picked from commit ce6dd69697ae62d9336bbd4f5808bc4d75cdcc04)
2013-12-06nv50: Fix GPU_READING/WRITING bit removalIlia Mirkin2-3/+3
Signed-off-by: Ilia Mirkin <> CC: "9.1, 9.2, 10.0" <> (cherry picked from commit c45cf6199fc493538cef33125c8a97a892e2ca83)
2013-12-06Remove a057b83 from the pick listIan Romanick1-0/+5
Signed-off-by: Ian Romanick <>
2013-12-06mesa: don't leak performance monitors on context destroyIlia Mirkin3-0/+23
Signed-off-by: Ilia Mirkin <> Reviewed-by: Kenneth Graunke <> Cc: "10.0" <> (cherry picked from commit 267679be84de5bc9d2bd0fccb1712bc5cddb6be7)
2013-12-06automake: include only one copy VERSION in tarballEmil Velikov1-1/+0
The VERSION file is tracked by git (git ls-files), thus adding it to EXTRA_FILES will result in a duplicate copy within the final tarball. Bugzilla: Cc: "10.0" <> Reported-by: Patrick Steinhardt <> Tested-by: Patrick Steinhardt <> Reviewed-by: Matt Turner <> Signed-off-by: Emil Velikov <> (cherry picked from commit 507c2356e3caa3b7da98787ae2de96c7bca0089e)
2013-12-06i965: Add extra-alignment for non-msrt fast color clear for all hw (v2)Chad Versace1-24/+11
The BSpec states that the aligment for the non-msrt clear rectangle must be doubled; the BSpec does not restricit the workaround to specific hardware. Commit 9a1a67b applied the workaround to Haswell GT3. Commit 8b659ce expanded the workaround to all Haswell variants. This commit expands it to all hardware. No Piglit regressions on Ivybridge 0x0166. No fixes either. I know no Ivybridge nor Baytrail bug related to this workaround. However, the BSpec says the extra alignment is required, so let's do it. v2: Apply to all hardware, not just gen7. CC: "9.2, 10.0" <> CC: Anuj Phogat <> Reviewed-by: Paul Berry <> Signed-off-by: Chad Versace <> (cherry picked from commit 998018d7be1380f055fb577b0782004657cc9509)
2013-12-06i965/hsw: Apply non-msrt fast color clear w/a to all HSW GTsChad Versace1-6/+12
Pre-patch, the workaround was applied to only HSW GT3. However, the workaround also fixes render corruption on the HSW GT1 Chromebook, codenamed Falco. Also, update the BSpec quote that discusses the workaround to reflect the latest BSpec. The BSpec states that the workaround is required for Ivybridge and Baytrail as well as Haswell. But, we apply the workaround to only Haswell because (a) we suspect that is the only hardware where it is actually required and (b) we haven't yet validated the workaround for the other hardware. CC: "9.2, 10.0" <> CC: Anuj Phogat <> OTC-Tracker: CHRMOS-812 Reviewed-by: Paul Berry <> Reviewed-by: Kenneth Graunke <> Signed-off-by: Chad Versace <> (cherry picked from commit 8b659cef3a244b1acdbbca0beb704a66b6bc2fbc)
2013-12-06i965/gen6: Fix multisample resolve blits for luminance/intensity 32F formats.Paul Berry1-0/+15
On gen6, multisamble resolve blits use the SAMPLE message to blend together the 4 samples for each texel. For some reason, SAMPLE doesn't blend together the proper samples when the source format is L32_FLOAT or I32_FLOAT, resulting in blocky artifacts. To work around this problem, sample from the source surface using R32_FLOAT. This shouldn't affect rendering correctness, because when doing these resolve blits, the destination format is R32_FLOAT, so the channel replication done by L32_FLOAT and I32_FLOAT is unnecessary. Fixes piglit tests on Sandy Bridge: - spec/ARB_texture_float/multisample-formats 2 GL_ARB_texture_float - spec/ARB_texture_float/multisample-formats 4 GL_ARB_texture_float No piglit regressions on Sandy Bridge. Bugzilla: Cc: Kenneth Graunke <> Cc: Reviewed-by: Kenneth Graunke <> (cherry picked from commit c4cf487315f1f5375534f1677177983fa496d577)
2013-12-06st/xa: Bump major version number to 2Thomas Hellstrom1-1/+1
For some reason this was left out when the version was changed... Signed-off-by: Thomas Hellstrom <> Reviewed-by: Jakob Bornecrantz <>