summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-06-14anv/descriptor_set: Set array_size to zero for non-existant descriptorsJason Ekstrand1-0/+1
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit cd21015abd134aa815398e90714631d3f6601294)
2016-06-14vl/dri3: support receiving new pixmap for front bufferLeo Liu1-1/+6
With glx of gstreamer-vaapi, the temporary pixmap for front buffer gets renewed in each frame, so when we receive a new pixmap, should get a new front buffer for it. This also fixes Totem player playback corruption. Signed-off-by: Leo Liu <leo.liu@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 2ad443e4cc0a72b7d0b28195b5810cbf197961cb)
2016-06-14vl/dri3: get Makefile properlyLeo Liu3-5/+10
From original commit, the macro "if HAVE_DRI3" was in Makefile.sources, this file is shared with SCons, SCons is not able to parse this marco, the SCons build failed. Jose quickly gave two approaches and quick fix with his second approach, thanks Jose for the solutions and fixes. This patch is Jose's first approach, and it's more proper, because the dri3 c file should not be included to build when DRI3 is not enabled. Signed-off-by: Leo Liu <leo.liu@amd.com> Acked-by: Emil Velikov <emil.velikov@collabora.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 0ef8500aabb5430eae76919438fcf61020b7eb8e)
2016-06-14glx: fix crash with bad fbconfigDaniel Czarnowski1-0/+23
GLX documentation states: glXCreateNewContext can generate the following errors: (...) GLXBadFBConfig if config is not a valid GLXFBConfig Function checks if the given config is a valid config and sets proper error code. Fixes currently crashing glx-fbconfig-bad Piglit test. v2: coding style cleanups (Emil, Topi) use DefaultScreen macro (Emil) Signed-off-by: Matt Roper <matthew.d.roper@intel.com> Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Cc: "11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit cf804b4455fac9e585b3600a8318caaced9c23de)
2016-06-14i965: Emit surface states for extra planes prior to gen8Jason Ekstrand2-0/+18
When Kristian implemented GL_TEXTURE_EXTERNAL_OES, he hooked it up for gen8 but not for gen7 or earlier. It all works, we just need to emit the states for the extra planes. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 037ce5d7343829a69ec9c7361a0964bc1366b019)
2016-06-14virgl: fix checking fencesMarc-André Lureau2-2/+2
When calling virgl_fence_wait() with timeout=0, virgl_{drm,vtest}_resource_is_busy() is called. However, it returns TRUE for a busy resource, whereace virgl_fence_wait() should return TRUE for a completed (non-busy) resource. This fixes running supertuxkart in a VM (I could not reproduce locally with vtest though there is a similar fix) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Cc: "11.1 11.2 12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit dc81b3ad43dde0815baf957e7cf4c633d6f350f8)
2016-06-14st/mesa: directly compute level=0 texture size in st_finalize_textureNicolai Hähnle5-53/+48
The width0/height0/depth0 on stObj may not have been set at this point. Observed in a trace that set up levels 2..9 of a 2d texture, and set the base level to 2, with height 1. This made the guess logic always bail. Originally investigated by Ilia Mirkin, this patch gets rid of the somewhat redundant storage of width0/height0/depth0 and makes sure we always compute pipe texture sizes that are compatible with the base level image of the GL texture. Fixes the gl-1.2-texture-base-level piglit test provided by Brian Paul. v2: - try to re-use an existing pipe texture when possible - handle a corner case where the base level is not level 0 and it is of size 1x1x1 v3: - ptHeight = ptWidth in cube map 1x1 case (suggested by Brian) Cc: "12.0" <mesa-stable@lists.freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit bd5c41fe5fdfbef80959b5738b0372b81bef1f2f)
2016-06-14st/mesa: use buffer usage history to set dirty flags for revalidationIlia Mirkin1-2/+13
We were previously unconditionally doing this for arrays and ubo's, and ignoring texture/storage/atomic buffers. Instead use the usage history to determine which atoms need to be revalidated. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 6e6fd911da8a1d9cd62fe0a8a4cc0fb7bdccfe02)
2016-06-14gallium/radeon: don't allocate DCC for non-renderable texture formatsMarek Olšák3-0/+7
R9G9B9E5 is the only uncompressed one hopefully. This fixes incorrect rendering not discovered (due to a lack of tests) until DCC mipmapping was enabled. Cc: 11.1 11.2 12.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> (cherry picked from commit d4d733e39de2fc75aaa17d95998abdf19219cb38)
2016-06-14tgsi/scan: add uses_derivatives (v2)Nicolai Hähnle2-0/+31
v2: - TG4 does not calculate derivatives (Ilia) - also handle SAMPLE* instructions (Roland) Cc: 12.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (v1) Reviewed-by: Brian Paul <brianp@vmware.com> (v1) Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Roland Scheidegger <sroland@vmware.com> (cherry picked from commit d3a584defec988faa09960adea90545399440827)
2016-06-14st/mesa: revalidate image atoms when a texture is updatedIlia Mirkin1-6/+6
A texture may be redefined with _NEW_TEXTURE, which might have been bound to a shader image slot. We have to revalidate the image atoms to pick up on the new resource. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit c81b090c920f90bf86a34c978e10ff336d1edbc0)
2016-06-14gk104/ir: fix conditions for adding a texbarIlia Mirkin1-4/+6
Sometimes a register source can actually be double- or even quad-wide. We must make sure that the inserted texbars take that width into account. Based on an earlier patch by Samuel Pitoiset. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Cc: "12.0 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 71ad8a173f5c64d6384c13f04361455571c42ffe)
2016-06-14i965/gen8: fix cull distance emission for tessellation shaders.Dave Airlie1-3/+5
This fixes some cases of: GL45-CTS.cull_distance.functional on Skylake. Reviewed-by: Chris Forbes <chrisforbes@google.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit c295923d139b2c2daf169c94d9edcca23527289b)
2016-06-14nv50/ir: use round toward 0 when converting doubles to integersSamuel Pitoiset1-1/+3
Like floats, we should use the round toward 0 mode instead of the nearest one (which is the default) for doubles to integers. This fixes all arb_gpu_shader_fp64 piglits which convert doubles to integers (16 tests). Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 08ddfe7b2fa9f577ba00c8c05c5604460942f5a8)
2016-06-14mesa/program_resource: return -1 for index if no location.Dave Airlie1-3/+16
The GL4.5 spec quote seems clear on this: "The value -1 will be returned by either command if an error occurs, if name does not identify an active variable on programInterface, or if name identifies an active variable that does not have a valid location assigned, as described above." This fixes: GL45-CTS.program_interface_query.output-built-in [airlied: use _mesa_program_resource_location_index as suggested by Eduardo] Reviewed-by: Eduardo Lima Mitev <elima@igalia.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 07403014c3a29bfdecc89def187389ac9f208529)
2016-06-14radeonsi: set descriptor dirty mask on shader buffer unbindNicolai Hähnle1-0/+1
Found randomly while skimming the code. This might have caused VM faults in robustness tests. Cc: 12.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit ec2b52e2d9d7114df6e6023eec5949c4c6a76d52)
2016-06-14i965/gs/scalar: Fix load input for doublesSamuel Iglesias Gonsálvez1-18/+54
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 2b648ec17c2934802dd56452d11d78ec2d525a06)
2016-06-14i965/fs: fix offset when loading double vector input varyingsSamuel Iglesias Gonsálvez1-1/+21
When we are not packing a double input varying, we might need to read its data in a non-aligned to 64-bit offset, so we read the wrong data. This is happening when using explicit locations in varyings because Mesa disables packing varying for that case. const_index is in 32-bit size units but offset() is multiplying it by destination type size units. When operating with double input varyings, const_index value could be not aligned to 64 bits. To fix it, we load the double vector as if it was a float based vector with twice the number of components. Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 2d6f82a294ad1ab1eab0020cf65df5ecc9591272)
2016-06-14i965/fs: fix FS_OPCODE_CINTERP for unpacked double input varyingsSamuel Iglesias Gonsálvez1-1/+12
Data starts at suboffet 3 in 32-bit units (12 bytes), so it is not 64-bit aligned and the current implementation fails to read the data properly. Instead, when there is is a double input varying, read it as vector of floats with twice the number of components. Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com> Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit cb30727648fea301cfff1647d947bfab540c3bf6)
2016-06-14glsl: geom shader max_vertices layout must match.Dave Airlie3-9/+13
From GLSL 4.5 spec, "4.4.2.3 Geometry Outputs". "all geometry shader output vertex count declarations in a program must declare the same count." Fixes: GL45-CTS.geometry_shader.output.conflicted_output_vertices_max Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 4c863993780a11cea6f88fa0682796bee5794042)
2016-06-14i965: don't use NumLayers for 3D textures.Dave Airlie1-1/+1
For 3D textures we shouldn't be using NumLayers, we need to get it from the depth. This fixes: GL45-CTS.geometry_shader.layered_framebuffer.clear_call_support Reviewed-by: Eduardo Lima Mitev <elima@igalia.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit ff2e569153d48bda347be729fc441852ab293138)
2016-06-14glsl: for anonymous struct matching use without_array() (v3)Dave Airlie1-3/+20
With tessellation shaders we can have cases where we have arrays of anon structs, so make sure we match using without_array(). Fixes: GL45-CTS.tessellation_shader.tessellation_control_to_tessellation_evaluation.gl_in v2: test lengths match as well (Ilia) v3: descend array lengths to check for matches as well (Ilia) Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 1f66a4b68955b9d6cae629cec90e5e0f301c6a7a)
2016-06-14glsl/ast: don't crash when func_name is NULLDave Airlie1-0/+4
This fixes a crash in GL43-CTS.shader_subroutine.subroutines_not_allowed_as_variables_constructors_and_argument_or_return_types If we can't find the func_name in one of these paths, we have emitted an earlier error so just return here. Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 6702c1581092bce230742d02ebf9325f68bd247a)
2016-06-14glsl: handle ast_aggregate in has_sequence_subexpression. (v2)Dave Airlie1-1/+1
GL43-CTS.compute_shader.work-group-size does uniform uint g_uniform[gl_WorkGroupSize.z + 20] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 }; The initializer triggers the GLSL 4.30/GLES3 tests for constant sequence subexpressions, so it doesn't happen unless you are using those, so just return false as this path is now reachable. v2: update commit msg with diagnosis Acked-by: Timothy Arceri <timothy.arceri@collabora.com> Cc: "11.2 12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com> (cherry picked from commit 4336196b7fc61166a36babdabdf5dd004ec9ee55)
2016-06-14nv50,nvc0: fix BGR10_A2UI vertex formatIlia Mirkin1-1/+1
This is mostly academic as this is not reachable from GL, which only has the packed RGB10_A2UI vertex format. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 092ec3920f7f9a57fcc1c859a477e891752f5c1f)
2016-06-14nvc0: do not clear surfaces bins in the validate functionSamuel Pitoiset2-5/+2
We should not call nouveau_bufctx_reset() inside a validate function. This only affects Fermi where images are aliased between 3D and CP. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit be365f34f04112572550337f387b61ed1ba69acd)
2016-06-14nvc0: re-validate images after launching a grid on FermiSamuel Pitoiset1-0/+3
Images invalidation is a bit weird on Fermi and there is already a hack which forces invalidating all images when launching a computer shader to help in fixing 3D<->CP interaction. However, we need to re-validate images for compute because nvc0_compute_invalidate_surfaces() will destroy the previous binding. This is not really good for performance purposes but this might be improved later. This fixes the following piglits: - spec/arb_compute_shader/execution/basic-uniform-access - spec/arb_compute_shader/execution/mutiple-texture-reading - spec/arb_compute_shader/execution/multiple-workgroups - spec/glsl-4.30/execution/built-in-functions/cs-* (207 tests) Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 43d3ecfb338d79d9f0ccae22b316653af461032a)
2016-06-14nvc0: reduce overhead from always marking images dirtyIlia Mirkin1-9/+36
We would revalidate images when anything was touched at all. Which is unfortunate, since the state tracker does not use CSO's to reduce the workload. So instead implement a protocol to ensure that something has changed before revalidating all the images. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit fd6bbc2ee205ed02f66a8d8ef5b2adf4005d588c)
2016-06-14nvc0: reduce overhead from always marking buffers dirtyIlia Mirkin1-6/+20
We would revalidate buffers when anything was touched at all. Which is unfortunate, since the state tracker does not use CSO's to reduce the workload. So instead implement a protocol to ensure that something has changed before revalidating all the SSBOs. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 0f673db6f08995312a2f5ed04aba191d59910099)
2016-06-14nvc0: fix memory barrier flag handlingIlia Mirkin1-9/+16
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit e8ee161b160f6ff18134ff279b046f2e056bccd0)
2016-06-14nvc0: mark bound buffer range validIlia Mirkin3-0/+9
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 29abbeecd80bb2cbf48c2c4c13155463d60c70f5)
2016-06-14r600g: write WAIT_UNTIL in the correct placeMarek Olšák1-8/+11
This has been wrong all along. Fixing this will allow removing useless cache flushes. Cc: 11.1 11.2 12.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Tested-by: Grazvydas Ignotas <notasas@gmail.com> Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de> (cherry picked from commit 7746903d3a68c97e86b88d5aa16995015b4db4ba)
2016-06-14anv/blit: Use CLAMP_TO_EDGE for scaled blitsJason Ekstrand1-0/+3
When upscaling you can end up interpolating between the edge pixel and one past the edge. Using CLAMP_TO_EDGE seems like the most reasonable thing to do in this case. This fixes two of the new Vulkan CTS tests in dEQP-VK.api.copy_and_blit.blit_image.* Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 441194edd91c2ca9d2b219f7e16ba2c7783396df)
2016-06-14anv/copy: Account for the anv_surface.offset when creating a blit2d_surfJason Ekstrand1-17/+17
This was causing problems if the user tried to copy to/from the stencil portion of a combined depth/stencil image. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 9313a568169bddabaac675361497efff4a0709d6)
2016-06-14nir/spirv: Make a decoration switch completeJason Ekstrand1-3/+1
Getting rid of the default case makes the compiler warn if we are missing cases. While we're here, we also add the one missing case. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 526a8de22d85bcdc3a46b2e16e0073527616d95d)
2016-06-14nir/spirv: Make unhandled decorations and capabilities non-fatalJason Ekstrand2-18/+36
glslang frequently throw bogus decorations into shaders. While we are free to assert-fail, it's a bit nicer to the application to just warn. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 62c6e94bd69a1287ebb4908f4ee67b8f730466cc)
2016-06-14nir/spirv: Add a way to print non-fatal warningsJason Ekstrand2-0/+19
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit ed14d21d04bf5d58cfadac525b8fd17552378507)
2016-06-14nir/spirv: Add string lookup tables for a couple of SPIR-V enumsJason Ekstrand3-0/+179
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 2e46a5d1551854b98b0ca3c773a17f3ea5d2f7c6)
2016-06-14nir/spirv: Complete the list of capabilitiesJason Ekstrand1-3/+45
Previously we supported a subset of capabilities and just left a default case for the others. It's time to stop being lazy and actually audit the capabilities. This should bring them up-to-date with reality. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 5a1e56f344c0007f877ada78721c33d4fe61419a)
2016-06-14anv/pipeline: Add support for early depth stencilJason Ekstrand2-2/+17
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 9fa958e95b9ffd61283d20d5d14a0ac007c1def7)
2016-06-14i965/fs Add a wm_prog_data bit for has_side_effectsJason Ekstrand2-0/+15
This is more accurate than calling _mesa_active_fragment_shader_has_side_effects because it looks at whether or not the SSBOs, images, or atomic buffers are actually written rather than just existing in the program. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 3fb289f957a8a27349a6f7df03983f92d9b6cf64)
2016-06-14anv/pipeline: Silently pass tests if depth or stencil is missingJason Ekstrand3-3/+35
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 56a178922fa200c98cbbb177e5fab106ad01072b)
2016-06-14anv/pipeline: Unify gen7/8 emit_ds_stateJason Ekstrand3-85/+60
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit bc7f7e195389e334ae8a5ee7d6f85b9e27983ca4)
2016-06-14genxml/gen6,7,75: s/BackFace/BackfaceJason Ekstrand5-8/+8
This is more consistent with gen8+ Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit fdc3c5dd05dc072fe9b4975091308d02e6df6037)
2016-06-14nir/spirv: Handle the WorkgroupSize builtin decorationJason Ekstrand1-0/+22
This fixes the 7 dEQP-VK.pipeline.spec_constant.compute.local_size.* tests in the latest dev version of the Vulkan CTS. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 1f7b54ed299bea95f774e7d8baa181c11118b3fe)
2016-06-14nir/spirv: Use breaks instead of returns in constant handlingJason Ekstrand1-3/+4
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit b26cdd65e8e588ed7bdd7cca0b205579132e1261)
2016-06-14anv/pipeline: Refactor specialization constant handling a bitJason Ekstrand1-5/+4
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit a19ae36ce52e72e2b93251ba0a43d683bd5e58cc)
2016-06-14nir/lower_indirect_derefs: Use the direct array deref for recursionJason Ekstrand1-1/+1
This fixes about 100 of the new Vulkan CTS tests. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 45542f554ca01b00b3d4674cf90575dff7904736)
2016-06-14anv/clear: Handle ClearImage on 3-D imagesJason Ekstrand1-2/+4
Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org> (cherry picked from commit 59f06ac3892fefd55b8f1371b48f9e0d99cc7c23)
2016-06-14Revert "i965/fs: Allow scalar source regions on SNB math instructions."Francisco Jerez3-7/+14
This reverts commit c1107cec44ab030c7fcc97c67baa12df1cc9d7b5. Apparently the hardware spec text I quoted in the commit message was outright lying about scalar source math being supported on SNB, the hardware seems to load 32 contiguous bits of data for each channel regardless of the regioning mode. Fixes regressions in the following CTS tests (which we didn't catch early due to CTS being temporarily disabled in our CI system): es2-cts.gtf.gl.atan.atan_vec3_frag_xvary es2-cts.gtf.gl.cos.cos_vec2_frag_xvary es2-cts.gtf.gl.atan.atan_vec2_frag_xvary es2-cts.gtf.gl.pow.pow_vec2_frag_xvary_yconsthalf es2-cts.gtf.gl.cos.cos_float_frag_xvary es2-cts.gtf.gl.pow.pow_float_frag_xvary_yconsthalf es2-cts.gtf.gl.atan.atan_vec3_frag_xvaryyvary es2-cts.gtf.gl.pow.pow_vec3_frag_xvary_yconsthalf es2-cts.gtf.gl.cos.cos_vec3_frag_xvary es2-cts.gtf.gl.atan.atan_vec2_frag_xvaryyvary Cc: mesa-stable@lists.freedesktop.org Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96346 Reported-by: Mark Janes <mark.a.janes@intel.com> Acked-by: Matt Turner <mattst88@gmail.com> (cherry picked from commit 7244dc1e0651958b62222cafb15e34487851a6cd)