Mesa (vulkan): 65 new commits

Jason Ekstrand jekstrand at kemper.freedesktop.org
Tue Apr 5 01:03:57 UTC 2016


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e5c833db5a7ad35a0dc4b0f170fafd090c2b8805
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Apr 4 14:51:35 2016 -0700

    i965/compiler: Remove a redundant declaration of brw_compiler_create

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=db35a851ad03d14ae4ba81095c09cb2afd511e4f
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Apr 4 14:25:36 2016 -0700

    i965/defines: Unconditionally define primitives

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a049687841d87fc5bbd0fb0a192f03776f67630
Merge: fe247bb 88ef247
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Apr 4 13:58:05 2016 -0700

    Merge remote-tracking branch 'public/master' into vulkan

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=88ef2476dcdd61000cbae7ded9c8fa52927429d8
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Mar 28 11:47:27 2016 -0700

    i965/peephole_ffma: Only match a mul+add if none of the ops are exact
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb93d6dec82cd02e97b0a673fb11eef1f31777e7
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Mon Mar 28 11:12:33 2016 -0700

    nir/search: Don't match inexact expressions with exact subexpressions
    
    In the first pass of implementing exact handling, I made a mistake with
    search-and-replace.  In particular, we only reallly handled exact/inexact
    on the root of the tree.  Instead, we need to check every node in the tree
    for an exact/inexact match.  As an example of this, consider the following
    GLSL code
    
    precise float a = b + c;
    if (a < 0) {
       do_stuff();
    }
    
    In that case, only the add will be declared "exact" and an expression that
    looks for "b + c < 0" will still match and replace it with "b < -c" which
    may yield different results.  The solution is to simply bail if any of the
    values are exact when matching an inexact expression.
    
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=65fbc43d54403905e3eaea02372b5a364dc1d773
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Wed Jan 27 12:21:04 2016 -0800

    i965: Add an INTEL_PRECISE_TRIG=1 option to fix SIN/COS output range.
    
    The SIN and COS instructions on Intel hardware can produce values
    slightly outside of the [-1.0, 1.0] range for a small set of values.
    Obviously, this can break everyone's expectations about trig functions.
    
    According to an internal presentation, the COS instruction can produce
    a value up to 1.000027 for inputs in the range (0.08296, 0.09888).  One
    suggested workaround is to multiply by 0.99997, scaling down the
    amplitude slightly.  Apparently this also minimizes the error function,
    reducing the maximum error from 0.00006 to about 0.00003.
    
    When enabled, fixes 16 dEQP precision tests
    
       dEQP-GLES31.functional.shaders.builtin_functions.precision.
       {cos,sin}.{highp,mediump}_compute.{scalar,vec2,vec4,vec4}.
    
    at the cost of making every sin and cos call more expensive (about
    twice the number of cycles on recent hardware).  Enabling this
    option has been shown to reduce GPUTest Volplosion performance by
    about 10%.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3aa51e02d6659c8f2e34a4153ae140a4f90cc51b
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Apr 4 00:45:25 2016 -0700

    i965: Allow 8x MSAA on >= 64bpp formats on Gen8+.
    
    See commit 3b0279a69 - this restriction is documented in the "Surface
    Format" field of RENDER_SURFACE_STATE.
    
    Looking at newer documentation, this restriction appears to exist on
    Haswell, but no longer applies on Gen8+.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Ben Widawsky <ben at bwidawsk.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1eeec7ec41dcc5f6aeb133ef7f533696a883327f
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Apr 4 10:33:11 2016 -0600

    docs: remove stray 'TBD' in 11.2.0 relnotes file

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=35132c413ce3bc29a8f51ab2cbac60bf68eb8d9b
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Apr 4 12:57:56 2016 +0100

    docs: add news item and link release notes for 11.2.0
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dc4923d41f8059834d9d54f8c8ba75bb8143f64b
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Apr 4 12:55:27 2016 +0100

    docs: add sha256 checksums for 11.2.0
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit e7fb889dcc002f87c316f3cdc6e7907a88c12697)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7dc11ed0b2eeefc4ed90ce7cb00016fd351aba7c
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Mon Apr 4 11:39:34 2016 +0100

    docs: Update 11.2.0 release notes
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit ff9ddb9eb1b3b25f40e71a95bb48421abfcb11d9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9b8b48bed2f35592a5e77d9404019e9603ee160
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon Apr 4 07:54:28 2016 +0100

    mesa/get: fix MAX_GEOMETRY_SHADER_STORAGE_BLOCKS
    
    this was returning the fragment shader value.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4bc3b1ca487df6072aec13dbfbf724c0de9995c5
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sun Apr 3 14:13:33 2016 -0400

    nvc0: add hardware ETC2 and ASTC support on GK20A and GM107+
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dab40d808367c88a6203d3731983efc670f084e7
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sun Apr 3 21:17:46 2016 -0400

    docs: add note about GL_EXT_base_instance, sort entries
    
    Trivial.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d76e1cd2dd24d0807a8db78fb6f7ebfeb50f22b4
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sun Apr 3 02:44:50 2016 -0400

    mesa: expose EXT_base_instance in ES3 contexts
    
    This extension is identical to ARB_base_instance. Reuse the same
    entrypoints.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=807e2c27ac03718df8f53c2f28686dfed4c12677
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sun Apr 3 02:28:53 2016 -0400

    mesa: expose EXT_polygon_offset_clamp in ES contexts
    
    The extension spec was extended to also support ES. This functionality
    is provided all the way back to ES 1.0.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=40628886ca892f4b43f37335d3efbad55fb3c8bd
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun Apr 3 01:25:03 2016 -0700

    glsl: Print "precise" on ir_variable nodes.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Eduardo Lima Mitev <elima at igalia.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7ad49daca61a638f5029fedacd98357943c67ea8
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Sun Apr 3 22:52:53 2016 +0100

    gallivm: Introduce lp_format_intrinsic.
    
    For adding .v4f32 like suffixes to intrinsics, taking special care for
    scalar case, which was being often neglected.
    
    This fixes invalid IR when doing mipmap filtering on SSE2 (the only
    case where we'd use intrinsics with scalars.)
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7af12a8dc6c96b8b0da802b3b25fbd6a197b2d62
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Apr 2 22:56:49 2016 -0400

    glsl: make *sampler2DMSArray available in ESSL 3.20
    
    Also avoid double-adding the *sampler2DMS types when the array ext is
    enabled.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aebb0e0186b6ed086c204c3c2989ae84b0cc1bf5
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Apr 2 21:50:22 2016 -0400

    glsl: make ssbo predicate return true when in a GLSL 430 or ESSL 310 shader
    
    I can't tell whether this actually matters, but we're creating function
    signatures with this predicate, so it should probably match when SSBO's
    are available.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=87906cbc37cb99089caa0be4346ebfbe2b7e2d3e
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Apr 2 21:08:25 2016 -0400

    glsl: allow conservative depth qualifiers in GLSL 420
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d50ffb5e464e18894eaf8cb779df3a74f5836ef9
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Fri Jan 8 15:48:44 2016 -0500

    mesa: add always-false-for-now enables for GL 4.3, 4.4, 4.5.
    
    As the relevant extensions get implemented, the lines should be
    uncommented. I believe this is (almost) everything needed for those GL
    versions though.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9abbc4971264233a4b4f9ec6ddb88d0dc4c9a25e
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Fri Feb 19 14:03:39 2016 -0500

    glsl: add ARB_ES3_1_compatibility support
    
    Oddly a bunch of the features it adds are actually from ESSL 3.20. But
    the spec is quite clear, oh well.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1708e24f654706565633c4deacf83f7422e5b2a7
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Fri Feb 19 13:26:43 2016 -0500

    mesa: add ES3_1_compatibility extension enable
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a293f57e1357e6affa319cd07199b457c0aead47
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Fri Apr 1 11:51:27 2016 +0100

    gallivm: Use llvm.fabs.
    
    Exactly the same code.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e4f01da15d8c6ce3e8c77ff3ff3d2ce2574a3f7b
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Fri Apr 1 11:50:28 2016 +0100

    gallivm: Prefer backend agnostic intrinsic for rounding.
    
    We could unconditionally use these instrinsics, but performance with SSE2
    would suck, as LLVM falls back to calling libm.
    
    lp_test_arit.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=324451e73fae17c2844f24c7e02000bddc260e78
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Fri Apr 1 11:06:30 2016 +0100

    gallivm: Add debug option to force SSE2.
    
    For simulating less capable machines.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5fa31a4aba5bce5b42ba4188119eafa0f6c3a7f1
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Fri Apr 1 11:50:43 2016 +0100

    llvmpipe: Test abs.
    
    Trivial.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=522ebe701dd1f05c5058d053bd638df75a7adae0
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Sun Apr 3 11:09:35 2016 +0100

    llvmpipe: Build lp_test_arit on MSVC too.
    
    It builds fine now.  Probably due to C99 support.
    
    Trivial.

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b284f1f7f9afa560d6f4c0863681a7e36913955c
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Sat Apr 2 15:13:38 2016 +0100

    gallivm: Fix performance regressions due to vector selects.
    
    LLVM often can't determine the mask elements are all ones/zeros, and
    there doesn't seem to be a good way to hint that.
    
    Thanks to Roland Scheidegger for spotting and analyzing the issue.
    
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=11c4e5b45c246b638b5d98822ff512d1bb09c4fd
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Sat Apr 2 14:33:33 2016 +0100

    gallivm: Remove lp_build_load_volatile.
    
    No longer needed.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bcfb86b09de3bfc9c7cdf6925658b5e529a8fc62
Author: Jose Fonseca <jfonseca at vmware.com>
Date:   Sat Apr 2 14:31:16 2016 +0100

    gallivm: Use standard LLVMSetAlignment from LLVM 3.4 onwards.
    
    Only provide a fallback for LLVM 3.3.
    
    One less dependency on LLVM C++ interface.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Roland Scheidegger <sroland at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d54096fa6cde0ebc7da29468071fe2c34aec0cf
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Sat Apr 2 21:07:50 2016 +1100

    mesa: remove unrequired else
    
    The if always returns so no need for an else.
    
    Reviewed-by: Brian Paul <brianp at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d64134ecaec46f95189e355de65f631b1b7f7007
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Apr 2 19:25:59 2016 -0400

    gm107/ir: add OP_SELP emission, used in DSQRT lowering
    
    The current DSQRT lowering code emits an OP_SELP, so we have to handle
    its emission. This will eventually go away, but no harm supporting this
    op.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3610b1466d573983d80e3019e8e01ebb97d67d9c
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Apr 2 17:46:58 2016 -0400

    nv50/ir: we can't load local memory directly into an output
    
    This fixes piglit tests like
    
    tests/spec/glsl-1.10/execution/variable-indexing/vs-output-array-float-index-wr.shader_test
    
    and related ones.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Cc: "11.1 11.2" <mesa-stable at lists.freedesktop.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2a529a8ac810b3b40e7a9a071d9544b168928b94
Author: Christian Schmidbauer <ch.schmidbauer at gmail.com>
Date:   Sun Mar 13 22:50:31 2016 +0100

    st/nine: specify WINAPI only for i386 and amd64
    
    Currently mesa fails building with the x32 abi as ms_abi is not defined
    in such a case.
    
    The patch uses ms_abi only for amd64 targets and stdcall only for i386
    targets to be sure that those are defined.
    
    This patch additionally checks for __GNUC__ to guarantee that
    __attribute__ is available.
    
    CC: "11.1 11.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Christian Schmidbauer <ch.schmidbauer at gmail.com>
    Acked-by: Axel Davy <axel.davy at ens.fr>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0852c5703b57cb277b893e7e9db48c47712a0846
Author: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Date:   Sat Apr 2 19:55:30 2016 +0200

    nv50/ir: fix envyas variants when building the code lib
    
    nvc0 and nve4 have been respectively replaced by gf100 and gk104.
    
    Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36d8fed798c9c3f008e7bbd5b98d3ad37d47b0bd
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Mar 31 14:23:34 2016 -0600

    svga: remove unused svga_compile_key::texture_msaa field
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b283c763425983480f85ed5b92ac8a984b6aa942
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Mar 31 14:19:17 2016 -0600

    svga: check TXF instruction's target to determine MSAA
    
    Rather than the currently bound texture.  This goes along with the
    earlier patch to get away from examining bound textures and sampler
    views during shader translation.
    
    Fixes VMware bug 1632739.
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef10b5427a1ac6e9899116d0e9f0eaa2d87e7957
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Mar 31 14:17:26 2016 -0600

    tgsi: add simple tgsi_is_msaa_target() helper
    
    Reviewed-by: Jose Fonseca <jfonseca at vmware.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=070e5a740545a93a75fa5c79a79b50f472cb8e16
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Sat Apr 2 13:59:46 2016 +1100

    glsl: rename var and simplify if
    
    is_ubo_var is true for both UBOs and SSBOs
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0fbd073dc284f952ea7df691941a65ddc89b7554
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Sat Apr 2 13:54:06 2016 +1100

    glsl: store ubo or ssbo index in block index
    
    Previously we store the buffer block index i.e the index of a combined
    ubo/ssbo list.
    
    Fixes several dEQP-GLES31.functional tests:
    - program_interface_query.uniform.block_index.block_array
    - program_interface_query.uniform.block_index.named_block
    - program_interface_query.uniform.block_index.unnamed_block
    - program_interface_query.uniform.random.10
    - program_interface_query.uniform.random.15
    - program_interface_query.uniform.random.22
    - program_interface_query.uniform.random.24
    - program_interface_query.uniform.random.26
    - program_interface_query.uniform.random.28
    - program_interface_query.uniform.random.3
    - program_interface_query.uniform.random.31
    - program_interface_query.uniform.random.38
    - program_interface_query.uniform.random.5
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94116
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1265e1c4e17dec5c9931fda8b6d44a4006ed1a4c
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Sat Apr 2 12:51:12 2016 +1100

    glsl: store stage reference in gl_uniform_block
    
    This allows us to simplify the code and drop InterfaceBlockStageIndex
    which is a per stage array of integers the size of all blocks in the
    program combined including duplicates across stages. Adding a stage
    ref per block will use less memory.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d8855d66f4ae2acf994eae31e59fd2cfa5483627
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Sat Apr 2 12:16:01 2016 +1100

    glsl: simplify buffer block resource limit checking
    
    This changes the code to use the buffer counts stored for each stage
    rather than counting from scratch. It also moves the checks outside
    of the for loop which means we now just get a single link error
    message if we go over the max rather than X error messages where X
    is the number we have exceeded the max by.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0082b33a78cd007054f7774c57a4f7ea9fc1d209
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Sat Apr 2 11:48:27 2016 +1100

    glsl: simplify SSBO resources check
    
    We already have a count of active SSBOs per stage so use it.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3e74bf5b9de39a482716f8b5d090fb45ec6cc3ca
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Sat Apr 2 12:12:10 2016 +1100

    glsl: split buffer block arrays earlier
    
    This will allow us to use them when checking resources in a
    following patch and clean up a bunch of code.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0163881528c8ee650ceb9e3fd932876481a41f37
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Sat Apr 2 11:06:39 2016 +1100

    glsl: only set buffer block binding once during initialisation
    
    Since 8683d54d2be825 there is now a single instance of the buffer
    block information that needs to be updated rather than one instance
    for each stage.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=94ed482c19916ddede91c3c2ea3a538039ddb489
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 14:15:14 2016 -0700

    glsl: Fix prorgram interface query locations biasing for SSO.
    
    With SSO, the GL_PROGRAM_INPUT and GL_PROGRAM_OUTPUT interfaces refer to
    the first and last shader stage linked into a program.  This may not be
    the vertex and fragment shader stages.
    
    So, subtracting VERT_ATTRIB_GENERIC0 and FRAG_RESULT_DATA0 is bogus.
    We need to subtract VERT_ATTRIB_GENERIC0 for VS inputs,
    FRAG_RESULT_DATA0 for FS outputs, and VARYING_SLOT_VAR0 for other cases.
    
    Note that built-in variables get a location of -1.
    
    Fixes 4 dEQP-GLES31.functional.program_interface_query tests:
    - program_input.location.separable_fragment.var_explicit_location
    - program_input.location.separable_fragment.var_array_explicit_location
    - program_output.location.separable_vertex.var_array_explicit_location
    - program_output.location.separable_vertex.var_array_explicit_location
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c123294dfe2e52443f2eff2723ef922f22972ef5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 13:21:48 2016 -0700

    glsl: Return -1 for program interface query locations in many cases.
    
    We were recording locations for all variables, even ones without an
    explicit location set.  Implement the rules from the spec, and record
    -1 in the resource list accordngly.  Make program_resource_location
    stop doing math on negative values.  Remove hacks that are no longer
    necessary now that we've stopped doing that.
    
    Fixes 4 dEQP-GLES31.functional.program_interface_query tests:
    - program_input.location.separable_fragment.var
    - program_input.location.separable_fragment.var_array
    - program_output.location.separable_vertex.var_array
    - program_output.location.separable_vertex.var_array
    
    v2: Delete more code
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9fe211bec4533bd5cebeb61b38343ae9c174abb7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 13:32:32 2016 -0700

    glsl: Consolidate gl_VertexIDMESA -> gl_VertexID query hacks.
    
    A program will either have gl_VertexID or gl_VertexIDMESA (the lowered
    zero-based version), not both.  Just spoof it in the resource list so
    the hacks are done in a single place.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=013f25c3b3aa676cbd580fc070454d74db27a400
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 12:31:28 2016 -0700

    glsl: Clean up some leftover cruft.
    
    stages is always 1 << stage now.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=98c22c04036da4f0a7fcc396dc6c5e0bfe5890e5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 12:07:37 2016 -0700

    glsl: Add all system variables to the input resource list.
    
    System values are just built-in input variables that we've opted to
    special-case out of convenience.  We need to consider all inputs,
    regardless of how we've classified them.
    
    Unfortunately, there's one exception: we shouldn't add gl_BaseVertex
    unless ARB_shader_draw_parameters is enabled, because it doesn't
    actually exist in the language, and shouldn't be counted in the
    GL_ACTIVE_RESOURCES query.
    
    Fixes dEQP-GLES31.functional.program_interface_query.program_input.
    resource_list.compute.empty, which expects gl_NumWorkGroups to appear
    in the resource list.
    
    v2: Delete more code
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e8b9d5bdd200a8e65cdefe1d2f97bacc5a2c63d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 12:11:55 2016 -0700

    glsl: Delete hack for VS system values.
    
    This makes no sense.  If the stage being considered is the vertex
    shader, then we'll add inputs and system values appropriately.
    
    If we're not considering the vertex shader, then we absolutely should
    not do anything with it.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=47daf17da02f069b685e41f6f2b251bfafc0b9c5
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 11:41:46 2016 -0700

    glsl: Make add_interface_variables only consider the appropriate stage.
    
    add_interface_variables() is supposed to add variables for the inputs of
    the first shader stage linked into a program, and the outputs of the
    last shader stage linked into a program.
    
    From the ARB_program_interface_query specification:
    
    "* PROGRAM_INPUT corresponds to the set of active input variables used by
       the first shader stage of <program>.  If <program> includes multiple
       shader stages, input variables from any shader stage other than the
       first will not be enumerated.
    
     * PROGRAM_OUTPUT corresponds to the set of active output variables
       (section 2.14.11) used by the last shader stage of <program>.  If
       <program> includes multiple shader stages, output variables from any
       shader stage other than the last will not be enumerated."
    
    Previously, we used build_stageref here, which walks over all linked
    shaders in the program.  This meant that internal varyings would be
    visible.  We don't actually need any of build_stageref's code: we
    already explicitly skip packed varyings, handle modes, and the name
    comparisons just do a fuzzy string comparison of name with itself.
    
    Fixes two tests: dEQP-GLES31.functional.program_interface_query.
    program_{input,output}.referenced_by.referenced_by_vertex_fragment.
    
    These tests have a VS and FS linked together into a single program.
    Both stages have an input called "shaderInput".  But the FS input
    should not be visible because it isn't the first stage.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=998ef1ad713df583e07c0d172b7c42a10759b879
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 11:37:48 2016 -0700

    glsl: Clarify "mask" variable in add_interface_variables().
    
    This is a bitfield of which stages refer to a variable.  It is not used
    to mask off bits.  In fact, it's used to contribute additional bits.
    
    Rename it and tidy a bit of the logic.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=356c99b4e79631e195058a2796eba0cdfc1d7a29
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue Mar 29 11:31:10 2016 -0700

    glsl: Pass stage to add_interface_variables().
    
    add_interface_variables is supposed to add variables from either the
    first or last stage of a linked shader.  But it has no way of knowing
    the stage it's being asked to process, which makes it impossible to
    produce correct stagerefs.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c5afe1fa98d01eb90577c8dbe785fc408f8608f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Apr 1 20:52:33 2016 -0700

    glsl: Make vertex ID lowering declare gl_BaseVertex as hidden.
    
    If the GL_ARB_shader_draw_parameters extension is enabled, we'll already
    have a gl_BaseVertex variable.  It will have var->how_declared set to
    ir_var_declared_implicitly, and will appear in the program resource
    list.
    
    If not, we make one for internal use.  We don't want it to be listed
    in the program resource list, as the application won't be expecting
    it.  Marking it hidden will properly exclude it.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=33df1c293504597c195cb2dca6b0b84e462388cf
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Apr 1 21:00:32 2016 -0700

    glsl: Exclude ir_var_hidden variables from the program resource list.
    
    We occasionally generate variables internally that we want to exclude
    from the program resource list, as applications won't be expecting them
    to be present.
    
    The next patch will make use of this.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=15cd3ebede62a0c73bfa1513a0c9ab942906cd5a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon Mar 21 14:01:24 2016 -0700

    mesa: Make _mesa_choose_tex_format() handle stencil textures.
    
    This is necessary for ARB_texture_stencil8 support on classic drivers.
    Presumably Gallium works because it implements its own ChooseTexFormat.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ef1b397b0770ddc24240462a1426f6c3fd4952bb
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri Mar 11 16:44:06 2016 -0800

    glsl: Don't require matching centroid qualifiers
    
    Note: This patch appears to violate older OpenGL and OpenGLES specs.
    
    The OpenGLES GLSL 3.1 and OpenGL GLSL 4.3 specifications both remove
    the requirement for the output and input centroid qualifiers to match.
    
    The deqp
    dEQP-GLES3.functional.shaders.linkage.varying.rules.differing_interpolation_2
    test wants the newer OpenGLES 3.1 specification behavior, even for
    OpenGLES 3.0. This patch simply removes the checking in all cases.
    
    The OpenGLES 3.0 conformance test suite doesn't appear to require the
    older ("must match") spec behavior.
    
    For reference, here are the relavent spec citations:
    
      The OpenGL 4.2 spec says: "the last active shader stage output
      variables and fragment shader input variables of the same name must
      match in type and qualification (other than out matching to in)"
    
      The OpenGL 4.3 spec says: "interpolation qualification (e.g., flat)
      and auxiliary qualification (e.g. centroid) may differ."
    
      The OpenGLES GLSL 3.00.4 specification says: "The output of the
      vertex shader and the input of the fragment shader form an
      interface. For this interface, vertex shader output variables and
      fragment shader input variables of the same name must match in type
      and qualification (other than precision and out matching to in)."
    
      The OpenGLES GLSL 3.10 Specification says: "interpolation
      qualification (e.g., flat) and auxiliary qualification (e.g.
      centroid) may differ"
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92743
    Bugzilla: https://cvs.khronos.org/bugzilla/show_bug.cgi?id=7819
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Cc: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a5c8c24b5791efa02a7beefa4ba1c49ae033c73
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Fri Mar 25 02:06:50 2016 +0100

    gallium: distinguish between shader IR in get_compute_param
    
    For radeonsi, native and TGSI use different compilers and this results
    in different limits for different IR's.
    
    The set we strictly need for radeonsi is only the MAX_BLOCK_SIZE
    and MAX_THREADS_PER_BLOCK params, but I added a few others as shader
    related that seemed like they would also typically depend on the
    compiler.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=be5899dcf9a337548d8095a00060d4451b0df222
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Mar 24 23:11:03 2016 +0100

    gallium: add global buffer memory barrier bit
    
    Currently radeonsi synchronizes after every dispatch and Clover
    does nothing to synchronize. This is overzealous, especially with
    GL compute, so add a barrier for global buffers.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=01f993a21f859d372d68c2818d845ebf47d70492
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Mon Mar 28 02:40:03 2016 +0200

    gallium: add threads per block TGSI property
    
    The value 0 for unknown has been chosen to so that
    drivers using tgsi_scan_shader do not need to detect
    missing properties if they zero-initialize the struct.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea8f4a6b13b94eb060bff4ccc6c13efc01d2b682
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Mar 17 14:15:39 2016 +0100

    gallium: add compute shader IR type
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Dave Airlie <airlied at redhat.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ea825f55652ba9e91ab683308dcd6392cc32a97
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Thu Mar 31 16:49:59 2016 +1100

    glsl: remove tabs and fix some other style issues in glcpp-parse.y
    
    Note there are still tabs left in the parser rules.
    
    Acked-by: Dave Airlie <airlied at redhat.com>




More information about the mesa-commit mailing list