Mesa (12.0): 54 new commits

Emil Velikov evelikov at kemper.freedesktop.org
Thu Jun 2 21:35:52 UTC 2016


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a5d6a232fdfcfee71916c70c5dabf40c6a81fd7
Author: Mauro Rossi <issor.oruam at gmail.com>
Date:   Thu Jun 2 21:15:35 2016 +0200

    isl: add support for Android libmesa_isl static library
    
    isl library is needed to build i965, libmesa_isl static library is added
    to fix related Android building errors.
    
    Any attempt to build libmesa_genxml as phony package module failed to deliver
    gen{7,75,8,9}_pack.h generated headers, needed for libmesa_isl_gen{7,75,8,9}
    
    Due to constraints in Android Build System, libmesa_genxml is built as static,
    at least one source is needed, so dummy.c is autogenerated for this scope,
    libmesa_genxml dependency is declared using LOCAL_WHOLE_STATIC_LIBRARIES,
    to avoid building errors due to missing genxml/gen{7,75,8,9}_pack.h headers.
    
    Cc: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 278c2212ac137c19438a84072c8d3150b5a5b4f6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=702a1121c954ee5342dc22ac22a814ae40d70e1f
Author: Mauro Rossi <issor.oruam at gmail.com>
Date:   Tue May 31 00:20:28 2016 +0200

    android: libmesa_glsl: add a dependency on libmesa_nir static
    
    Fixes the following building error:
    
    target  C++: libmesa_glsl <= external/mesa/src/compiler/glsl/glsl_to_nir.cpp
    In file included from external/mesa/src/compiler/glsl/glsl_to_nir.h:28:0,
                     from external/mesa/src/compiler/glsl/glsl_to_nir.cpp:28:
    external/mesa/src/compiler/nir/nir.h:42:25: fatal error: nir_opcodes.h: No such file or directory
    compilation terminated.
    build/core/binary.mk:432: recipe for target 'out/target/product/x86/obj/STATIC_LIBRARIES/libmesa_glsl_intermediates/glsl/glsl_to_nir.o' failed
    make: *** [out/target/product/x86/obj/STATIC_LIBRARIES/libmesa_glsl_intermediates/glsl/glsl_to_nir.o] Error 1
    make: *** Waiting for unfinished jobs....
    
    Cc: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 4143245c23c25a8b81c4ab6ca3d9211593edf542)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a21315ea91d150e391cfc6b76bc3d4a6f072142
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Tue May 31 16:59:39 2016 +0100

    isl: automake: don't include isl_format_layout.c in two lists.
    
    Including the file in both ISL_FILES and ISL_GENERATED_FILES makes
    the actual dependency list less obvious.
    
    v2: Drop unrelated vulkan hunk (Jason).
    
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit af1a0ae8cebb62fe9ce4b78c3e95185ea62ccdf0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=94630ce0c7d3d085cdb5b71542c3237d775f9872
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Tue May 31 14:46:19 2016 +0100

    automake: bring back the .PHONY git_sha1.h.tmp rule
    
    With earlier commit 3689ef32afd ("automake: rework the git_sha1.h rule,
    include in tarball") we/I erroneously removed the PHONY rule and the
    temporary file.
    
    The former is used to ensure that the header is regenerated when on each
    make invocation, while the latter helps us avoid the unneeded rebuild(s)
    when the SHA1 hasn't changed.
    
    Reported-by: Grazvydas Ignotas <notasas at gmail.com>
    Tested-by: Grazvydas Ignotas <notasas at gmail.com>
    Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
    (cherry picked from commit af2637aa32aac1ef512433407385e8e2bf711aea)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ad61d90eac9b92ba2e99b0c3287e164e2425043
Author: Christian König <christian.koenig at amd.com>
Date:   Wed May 25 16:55:48 2016 +0200

    radeon/uvd: fix the H264 level for Tonga v2
    
    We support 5.2 for a while now.
    
    v2: we even support 5.2 for H264, 5.1 is for HEVC.
    
    Signed-off-by: Christian König <christian.koenig at amd.com>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit b3e75c39976c03f73128ffd802465799ac0e4ef5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a136b8bfe2b1c8912a66eb2ae854b207f7732429
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun May 22 22:31:06 2016 -0700

    i965: Remove old CS local ID handling
    
    The old method pushed data for each channels uvec3 data of
    gl_LocalInvocationID.
    
    The new method pushes 1 dword of data that is a 'thread local ID'
    value. Based on that value, we can generate gl_LocalInvocationIndex
    and gl_LocalInvocationID with some calculations.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 0a3acff5b53d409181dcd2f31a4a50af06f73a57)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=52ba7abe1efb28d59a82511ef3b7a898604013a9
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Tue May 31 15:45:24 2016 -0700

    i965: Enable cross-thread constants and compact local IDs for hsw+
    
    The cross thread constant support appears on Haswell. It allows us to
    upload a set of uniform data for all threads without duplicating it
    per thread.
    
    One complication is that cross-thread constants are loaded into
    registers before per-thread constants. Previously, our local IDs were
    loaded before the uniform data and treated as 'payload' data, even
    though they were actually pushed into the registers like the other
    uniform data.
    
    Therefore, in this patch we simultaneously enable a newer layout where
    each thread now uses a single uniform slot for a unique local ID for
    the thread. This uniform is handled specially to make sure it is added
    last into the uniform push constant registers. This minimizes our
    usage of push constant registers, and maximizes our ability to use
    cross-thread constants for registers.
    
    To swap from the old to the new layout, we also need to flip some
    lowering pass switches to let our driver handle the lowering instead.
    We also no longer force thread_local_id_index to -1.
    
    v4:
     * Minimize size of patch that switches from the old local ID layout
       to the new layout (Jason)
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit b1f22c6317940dac543e44dd638ea9f4fbcd6ca7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=28ecf2b90e7752a81821828edcf21fe54e4ad2e1
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Fri May 27 00:53:27 2016 -0700

    anv: Support new local ID generation & cross-thread constants
    
    The cross thread constant support appears on Haswell. It allows us to
    upload a set of uniform data for all threads without duplicating it
    per thread.
    
    We also support per-thread data which allows us to store a per-thread
    ID in one of the uniforms that can be used to calculate the
    gl_LocalInvocationIndex and gl_LocalInvocationID variables.
    
    v4:
     * Support the old local ID push constant layout as well (Jason)
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 3ba9594f32239031ddeff764e9896d48d05125d0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ead833a395d8a737f859d648db59d7b85f21d59e
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun May 22 21:55:43 2016 -0700

    i965: Support new local ID push constant & cross-thread constants
    
    The cross thread constant support appears on Haswell. It allows us to
    upload a set of uniform data for all threads without duplicating it
    per thread.
    
    We also support per-thread data which allows us to store a per-thread
    ID in one of the uniforms that can be used to calculate the
    gl_LocalInvocationIndex and gl_LocalInvocationID variables.
    
    v4:
     * Support the old local ID push constant layout as well (Jason)
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 30685392e0e477771e6c6ba232a63df6b0e2ed83)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ee77c4a099b16a2581c80fcd73929b77f2ddb507
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun May 22 21:46:28 2016 -0700

    i965: Add CS push constant info to brw_cs_prog_data
    
    We need information about push constants in a few places for the GL
    driver, and another couple places for the vulkan driver.
    
    When we add support for uploading both a common (cross-thread) set of
    push constants, combined with the previous per-thread push constant
    data, things are going to get even more complicated. To simplify
    things, we add push constant info into the cs prog_data struct.
    
    The cross-thread constant support is added as of Haswell. To support
    it we need to make sure all push constants with uniform values are
    added to earlier registers. The register that varies per thread and
    holds the thread invocation's unique local ID needs to be added last.
    
    For now we add the code that would calculate cross-thread constatn
    information for hsw+, but we force it (cross_thread_supported) off
    until the other parts of the driver support it.
    
    v4:
     * Support older local ID push constant layout as well. (Jason)
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit d437798ace47e47dbcb1244734dc1af3ecb5ab84)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a94be40ecc021bfb08cf3d71f073364e770f2dc3
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Thu May 26 13:49:07 2016 -0700

    i965: Store number of threads in brw_cs_prog_data
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 1b79e7ebbd77a7e714fafadd91459059aacf2407)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=632d7ef148b66c5e6f315105520a75c454f49751
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun May 22 00:08:06 2016 -0700

    i965: Add nir based intrinsic lowering and thread ID uniform
    
    We add a lowering pass for nir intrinsics. This pass can replace nir
    intrinsics with driver specific nir lower code.
    
    We lower the gl_LocalInvocationIndex intrinsic based on a uniform
    which is loaded with a thread specific ID.
    
    We also lower the gl_LocalInvocationID based on
    gl_LocalInvocationIndex.
    
    v2:
     * Create variable during lowering pass. (Ken)
    
    v3:
     * Don't create a variable, but instead just insert an intrisic call
       to load a uniform from the allocated location. (Jason)
    
    v4:
     * Don't run this pass if thread_local_id_index < 0
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 3ef0957dac11edee7babc9746ec766dcb055d909)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5513300f59f2779c944c702a7f05d707ab7d64cb
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun May 22 21:29:53 2016 -0700

    i965: Put CS local thread ID uniform in last push register
    
    This thread ID uniform will be used to compute the
    gl_LocalInvocationIndex and gl_LocalInvocationID values.
    
    It is important for this uniform to be added in the last push constant
    register. fs_visitor::assign_constant_locations is updated to make
    sure this happens.
    
    The reason this is important is that the cross-thread push constant
    registers are loaded first, and the per-thread push constant registers
    are loaded after that. (Broadwell adds another push constant upload
    mechanism which reverses this order, but we are ignoring this for
    now.)
    
    v2:
     * Add variable in intrinsics lowering pass
     * Make sure the ID is pushed last in assign_constant_locations, and
       that we save a spot for the ID in the push constants
    
    v3:
     * Simplify code based with Jason's suggestions.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 04fc72501a90af94b0b5699e57fea68ad6e8795b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=33d0016836d4ad74665b46c823f32abe4678c30b
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sat May 28 23:45:21 2016 -0700

    i965: Add uniform for a CS thread local base ID
    
    v4:
     * Force thread_local_id_index to -1 for now, and have
       fs_visitor::setup_cs_payload look at thread_local_id_index. This
       enables us to more easily cut over from the old local ID layout to
       the new layout, as suggested by Jason.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit fa279dfbf0fc89b07007141ad8850ac42206e397)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=169b700dfd1475a30e81c95cea612a65e427e98b
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun May 22 16:33:44 2016 -0700

    i965: Add nir channel_num system value
    
    v2:
     * simd16/32 fixes (curro)
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 8f48d23e0fcc0809f6397a67c26751a45a95e076)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=33e985f8b905fbeda0d38a1cf18ba7f598dc5953
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sun May 22 15:54:48 2016 -0700

    nir: Make lowering gl_LocalInvocationIndex optional
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 6f316c9d8658e870b0140b0f601d35d1fcf133b9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c9de6190a0abf02185e14ae63ea54eaadc04a716
Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Sat May 21 14:21:32 2016 -0700

    glsl: Add glsl LowerCsDerivedVariables option
    
    v2:
     * Move lower flag to context constants. (Ken)
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> (v1)
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 7b9def35835232a10010f256b9c108219f97f752)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=05d88165d92a303a08d912842ebd8ede398f628e
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jun 1 15:01:04 2016 -0700

    i965/fs: Copy the offset when lowering logical pull constant sends
    
    This fixes 64 Vulkan CTS tests per gen
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96299
    Reviewed-by: Francisco Jerez <currojerez at riseup.net>
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 1205999c229b8e67af39fb9875bd87bc0a1404eb)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d1cf18497a34a42b78e5644051c4ed43508987e8
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed May 25 06:03:24 2016 +1000

    glsl/distance: make sure we use clip dist varying slot for lowered var.
    
    When lowering, we always want to use the clip dist varying.
    
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 8d4f4adfbd5b2f23cb2a6a1f77f79a23d3f2b035)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5a44d36b469768228ec548c756379e4f11bc78ea
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Tue May 31 21:00:43 2016 -0700

    i965: Fix isoline reads in scalar TES.
    
    Isolines aren't reversed.  commit 5b2d8c2273c6f fixed this for the vec4
    TES backend, but not the scalar one.
    
    Found while debugging GL45-CTS.tessellation_shader.
    tessellation_control_to_tessellation_evaluation.gl_tessLevel.
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit 25e1b8d366a6131bc9d46fe27f6bc476f05a7a58)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e54eebeed97b33fb95fcb6b0570b1207042d9eb
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon May 23 15:53:10 2016 -0700

    glsl: Use Geom.VerticesOut == -1 to specify unset
    
    Because apparently layout(max_vertices=0) is a thing.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit a428c955ce5d039e035e49da6daa13088ec8617c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0ab1a3957a0a1335a1aabffee0fceed57ef0e59d
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Mon May 23 15:17:02 2016 -0700

    i965: If control_data_header_size_bits is zero, don't do EndPrimitive
    
    This can occur when max_vertices=0 is explicitly specified.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit b27dfa5403ed1884999524417c08d2bc50365965)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1398a9510f31a42008385d9b2c0bac4dde60f529
Author: Ian Romanick <ian.d.romanick at intel.com>
Date:   Tue May 24 10:10:40 2016 -0700

    mesa: Fix bogus strncmp
    
    The string "[0]\0" is the same as "[0]" as far as the C string datatype
    is concerned.  That string has length 3.  strncmp(s, length_3_string, 4)
    is the same as strcmp(s, length_3_string), so make it be strcmp.
    
    v2: Not the same as strncmp(..., 3).  Noticed by Ilia.
    
    Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 049bb94d2e177f7415e7dddd71907be3e7f153c6)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b265796c79b6fda7cdd3fa4e3876a460434e4153
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Tue May 31 17:50:04 2016 -0400

    nir: allow sat on all float destination types
    
    With the introduction of fp64 and fp16 to nir, there are now a bunch of
    float types running around. A F1 2015 shader ends up with an i2f.sat
    operation, which has a nir_type_float32 destination. Allow sat on all
    the float destination types.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit ca135a26126edfbcbf19feb6cf6c00eaba3372b9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4a00da1662bcfd9ddd36eb3c3cb3bb74830abb7b
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Mon May 23 15:53:56 2016 -0400

    radeonsi: fix the raster config setup for 1 RB iceland chips
    
    I didn't realize there were 1 and 2 RB variants when this code
    was originally added.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: 11.1 11.2 12.0 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit bd85e4a041c13c0c8a6a9abc7d15d1ceede42cea)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e817522728f0c78e6a9148d792d303e0189a406b
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Jun 1 16:35:59 2016 +1000

    mesa/sampler: fix error codes for sampler parameters.
    
    The initial ARB_sampler_objects spec had GL_INVALID_VALUE in it,
    however version 8 of it fixed this, and the GL specs also have
    the fixed value in them.
    
    Fixes:
    GL45-CTS.texture_border_clamp.samplerparameteri_non_gen_sampler_error
    
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Cc: "12.0 11.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 6400144041da541e81d88679f5535f04ccabbbc4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=915cc490d7ddae6b7e99665c89c784b53adb15fd
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Jun 1 16:16:30 2016 +1000

    glsl: define some GLES3 constants in GLSL 4.1
    
    The GLSL 4.1 spec adds:
    gl_MaxVertexUniformVectors
    gl_MaxFragmentUniformVectors
    gl_MaxVaryingVectors
    
    This fixes:
    GL45-CTS.gtf31.GL3Tests.uniform_buffer_object.uniform_buffer_object_build_in_constants
    
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Cc: "12.0 11.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 0ebf4257a385972be0b6e851383ee6b728515aad)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=683c6940d83bdf6a0abbebb925234f3fe21d311d
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Tue May 31 16:47:50 2016 +0300

    i965: Add norbc debug option
    
    This INTEL_DEBUG option disables lossless compression (also known
    as render buffer compression).
    
    v2: (Matt) Use likely(!lossless_compression_disabled) instead of
               !likely(lossless_compression_disabled)
        (Grazvydas) Update docs/envvars.html
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 6ca118d2f402495e88e5d534773007ac680885a2)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d483256d52eb67ff378b173ef14527fbfe6c9ef
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Tue May 31 10:36:12 2016 +0300

    i965/gen9: Configure rbc buffers as plain for non-rbc tex views
    
    Fixes rendering in Shadow of Mordor with rbc. Application writes
    RGBA_UNORM texture filling it with values the application wants to
    later on treat as SRGB_ALPHA.
    Intel driver enables lossless compression for the buffer by the time
    of writing. However, the driver fails to make sure the buffer can be
    sampled as something else later on and unfortunately there is
    restriction in the hardware for using lossless compression for srgb
    formats which looks to extend itself to the sampling engine also.
    Requesting srgb to linear conversion on top of compressed buffer
    results the color values to be pretty much garbage.
    
    Fortunately none of tracked benchmarks showed a regression with
    this.
    
    v2 (Matt): Add missing space
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 30e9e6bd071097fd602a15f488b7eead45460885)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c627af1f0d6fdcbddc9bf44ad66e7dd69884941
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Thu May 26 00:29:56 2016 -0700

    i965: Fix the passthrough TCS for isolines.
    
    We weren't setting up several of the uniform values for the patch
    header, so we'd crash when uploading push constants.  We at least
    need to initialize them to zero.  We also had the isoline parameters
    reversed, so it would also render incorrectly (if it didn't crash).
    
    Fixes a new Piglit test(*) (isoline-no-tcs), as well as crashes in
    GL44-CTS.tessellation_shader.single.max_patch_vertices.
    
    (*) https://lists.freedesktop.org/archives/piglit/2016-May/019866.html
    
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit a3dc99f3d48df3da1e997d95961747daed0ba6b9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86e367a572ac5bb272f768e66c466ed102b2052d
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed Jun 1 14:10:22 2016 +1000

    i965/xfb: skip components in correct buffer.
    
    The driver was adding the skip components but always for buffer 0.
    
    This fixes:
    GL45-CTS.gtf40.GL3Tests.transform_feedback3.transform_feedback3_skip_multiple_buffers
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    Cc: "12.0 11.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit ebb81cd6839c5b0f7094e86f846958f10791f9bd)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=64015c03bb166872943b5a186c1aef120a8439a1
Author: Dave Airlie <airlied at redhat.com>
Date:   Tue May 31 12:51:47 2016 +1000

    glsl/linker: fix multiple streams transform feedback.
    
    e2791b38b42f83add5b07298c39741bf0a6d7d4b
    mesa/program_interface_query: fix transform feedback varyings.
    
    caused a regression in
    GL45-CTS.gtf40.GL3Tests.transform_feedback3.transform_feedback3_multiple_streams
    on radeonsi.
    
    The problem was it was using the skip components varying to set
    the stream id, when it should wait until a varying was written,
    this just adds the varying checks in the right place.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 1fe7bbb911ac708999685c942e971693b688a334)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=99fcfd985e58878efaddf0c9715326f75d77b7ca
Author: Dave Airlie <airlied at redhat.com>
Date:   Wed May 25 14:02:27 2016 +1000

    mesa/bufferobj: use mapping range in BufferSubData.
    
    According to GL4.5 spec:
    An INVALID_OPERATION error is generated if any part of the speci-
    fied buffer range is mapped with MapBufferRange or MapBuffer (see sec-
    tion 6.3), unless it was mapped with MAP_PERSISTENT_BIT set in the Map-
    BufferRange access flags.
    
    So we should use the if range is mapped path.
    
    This fixes:
    GL45-CTS.buffer_storage.map_persistent_buffer_sub_data
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Cc: "12.0, 11.2" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit e891f7cf55f2f3e3d37ece12e5c64f4be70e3845)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7bc29c784a7b48bc1e874157673b5e4214953572
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Tue May 31 00:33:50 2016 -0400

    nv50/ir: fix error finding free element in bitset in some situations
    
    This really only hits for bitsets with a size of a multiple of 32. We
    can end up with pos = -1 as a result of the ffs, which we in turn decide
    is a valid position (since we fall through the loop and i == 1, we end
    up adding 32 to it, so end up returning 31 again).
    
    Up until recently this was largely unreachable, as the register file
    sizes were all 63 or 255. However with the advent of compute shaders
    which can restrict the number of registers, this can now happen.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 18d11c998940d4228ce0f5057042a885f1aa65af)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b2b7f05da65f80bd457fa0e4c2862284f2d5b756
Author: Timothy Arceri <timothy.arceri at collabora.com>
Date:   Wed Jun 1 09:21:01 2016 +1000

    Revert "glsl: fix xfb_offset unsized array validation"
    
    This reverts commit aac90ba2920cf5ceb4df6dba776dd3952780e456.
    
    The commit caused a regression in:
    piglit.spec.glsl-1_50.compiler.gs-input-nonarray-named-block.geom
    
    Also the CTS test it was meant to fix seems like it may be bogus.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 98d40b4d1195ebfaa2fd9ed43755ca6896422c1a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb56a2f2507bbdfd1d4d125d34849e765b052d0f
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri May 27 23:29:14 2016 -0700

    i965/fs: Allow scalar source regions on SNB math instructions.
    
    I haven't found any evidence that this isn't supported by the
    hardware, in fact according to the SNB hardware spec:
    
     "The supported regioning modes for math instructions are align16,
      align1 with the following restrictions:
       - Scalar source is supported.
      [...]
       - Source and destination offset must be the same, except the case of
         scalar source."
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Matt Turner <mattst88 at gmail.com>
    (cherry picked from commit c1107cec44ab030c7fcc97c67baa12df1cc9d7b5)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1269825cf16d7beb1ab1d32125613e6a657e7e8
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri May 27 23:29:10 2016 -0700

    i965/fs: Fix constant combining for instructions that cannot accept source mods.
    
    This is the case for SNB math instructions so we need to be careful
    and insert the literal value of the immediate into the table (rather
    than its absolute value) if the instruction is unable to invert the
    sign of the constant on the fly.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 06d8765bc09ecd8ff73fff424c8cfec645cb0ded)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f651a4bb2ea8f57dc63dc133d24ebd91a3d6b62c
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Wed May 25 13:17:41 2016 -0700

    i965/fs: Extend remove_duplicate_mrf_writes() to handle non-VGRF to MRF copies.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 303ec22ed6124f7860de3856599ab4f02808b84b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=44029d42374b87f1f57e8a1988b4fe0cc6c18712
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri May 27 16:03:34 2016 -0700

    i965/fs: Fix compute_to_mrf() to coalesce VGRFs initialized by multiple single-GRF writes.
    
    Which requires using a bitset instead of a boolean flag to keep track
    of the GRFs we've seen a generating instruction for already.  The
    search loop continues until all instructions initializing the value of
    the source VGRF have been found, or it is determined that coalescing
    is not possible.
    
    Fixes a few piglit test cases on Gen4-6 which were regressed by
    6956015aa514f2d06d0e4b33bfe6bca83142fbf0 due to the different (yet
    perfectly valid) ordering in which copy instructions are emitted now
    by the simd lowering pass, which had the side effect of causing this
    optimization pass to start corrupting the program in cases where a
    VGRF-to-MRF copy instruction would be eliminated but only the last
    instruction writing to the source VGRF region would be rewritten to
    point to the target MRF.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 4fe4f6e8a776acc60633809693e4135f5c894aa3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=910fa7a824551e50af5aa08fcac7f2564e73ce6e
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri May 27 14:17:28 2016 -0700

    i965/fs: Teach compute_to_mrf() about the COMPR4 address transformation.
    
    This will be required to correctly transform the destination of 8-wide
    instructions that write a single GRF of a VGRF to MRF copy marked
    COMPR4.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 1898673f586b9110fb2a3125e2781cbb1d795c73)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b7830402573e71ac5618538bfef6b02e02c4c52
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri May 27 13:15:55 2016 -0700

    i965/fs: Refactor compute_to_mrf() to split search and rewrite into separate loops.
    
    This will allow compute_to_mrf to handle cases where the source of the
    VGRF-to-MRF copy is initialized by more than one instruction.  In such
    cases we cannot rewrite the destination of any of the generating
    instructions until it's known whether the whole VGRF source region can
    be coalesced into the destination MRF, which will imply continuing the
    search until all generating instructions have been found or it has
    been determined that the VGRF and MRF registers cannot be coalesced.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 485fbaff03f7d281ff4f22bd6321548512783799)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd96daa55e78d2b6707de5bb8b6ef9e771e8bbf2
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri May 27 16:41:35 2016 -0700

    i965/fs: Fix compute-to-mrf VGRF region coverage condition.
    
    Compute-to-mrf was checking whether the destination of scan_inst is
    more than one component (making assumptions about the instruction data
    type) in order to find out whether the result is being fully copied
    into the MRF destination, which is rather inaccurate in cases where a
    single-component instruction is only partially contained in the source
    region, or when the execution size of the copy and scan_inst
    instructions differ.  Instead check whether the destination region of
    the instruction is really contained within the bounds of the source
    region of the copy.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 4b0ec9f4759bab68b51e2f410e9305e39c1e1e7f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6011c6fc6163637fa637d2fa0b6d8b1100134da
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Fri May 27 12:50:28 2016 -0700

    i965/fs: Simplify and improve accuracy of compute_to_mrf() by using regions_overlap().
    
    Compute-to-mrf was being rather heavy-handed about checking whether
    instruction source or destination regions interfere with the copy
    instruction, which could conceivably lead to program miscompilation.
    Fix it by using regions_overlap() instead of the open-coded and
    dubiously correct overlap checks.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit bb61e24787952a4796a687a86200a05cf83af7e9)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d83aad693b3184a662d62318ec0361169c22900
Author: Francisco Jerez <currojerez at riseup.net>
Date:   Thu May 26 23:53:31 2016 -0700

    i965/fs: Teach regions_overlap() about COMPR4 MRF regions.
    
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit 88f380a2ddbdeda6e83725403b12ee0070f1f0f3)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=665f57c513ad864bef1bf9139a1e0bc4e15ffd50
Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Tue May 31 13:31:44 2016 -0700

    Don't use python 3
    
    Now there are not files that require python 3, so for now just remove
    the python 3 dependency and use python 2. I think the right plan is to
    just get all of the python ready for python 3, and then use whatever
    python is available.
    
    Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    cc: 12.0 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 604010a7edbe03ff65720cab8dddba1d0ca1571b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7e62585ee8fb42ff4c7dbd1c7799778c13607f63
Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Tue May 31 11:40:22 2016 -0700

    genxml: change chbang to python 2
    
    Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    cc: 12.0 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit ab31817fedff4634c7daeb3eb04fac49d4625c54)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4dd70617a16c45b970b7543f249f4d407e8373d9
Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Tue May 31 13:33:50 2016 -0700

    genxml: use the isalpha method rather than str.isalpha.
    
    This fixes gen_pack_header to work on python 2, where name[0] is unicode
    not str.
    
    Signed-off-by: Dylan Bake <dylanx.c.baker at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    cc: 12.0 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 12c1a01c720f4e9fa16345ee403ac061ed40601e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ed696574985aefe20602209e24d400eb3d6ad48
Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Tue May 31 11:36:26 2016 -0700

    genxml: require future imports for python2 compatibility.
    
    Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    cc: 12.0 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit a45a25418bd6310122d52f12a4640e8493246439)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aed6230269190ebbc481dc5d748771b58acc41b0
Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Tue May 31 11:33:19 2016 -0700

    genxml: mark re strings as raw
    
    This is a correctness issue.
    
    Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    cc: 12.0 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit e5681e4d7056dbe561127dedf76fb2cd9d16fc00)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f73a68ec37ae7f05fae954b8a881180e4c73f228
Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Tue May 31 11:31:18 2016 -0700

    genxml: Make classes descendants of object
    
    This is the default in python3, but in python2 you get old style
    classes. No one likes old-style classes.
    
    Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    cc: 12.0 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit de2e9da2e9b0bfeca535f318c20df93b3a0fd08b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c12887764f6ccd83f9a1d9f848694532c250f1d
Author: Dylan Baker <dylan at pnwbakers.com>
Date:   Tue May 31 11:29:50 2016 -0700

    genxml: mark gen_pack_header.py as encoded in utf-8
    
    There is unicode in this file, and I'm actually surprised that the
    python interpreter hasn't gotten grumpy.
    
    Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    cc: 12.0 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 9f50e3572ceca6179438157de04c65d6300902da)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=145705e49c3903cfa04cae07a94ca623ba98a483
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon May 30 16:29:18 2016 +0200

    mesa: fix crash in driver_RenderTexture_is_safe
    
    This just fixed the crash with the apitrace in bug report.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95246
    
    Cc: 11.1 11.2 12.0 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 8a10192b4b2435577bde1227c06166029b581398)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3c92267e0b2e1a795bb9987151afa2949decf7e
Author: Dave Airlie <airlied at redhat.com>
Date:   Mon May 23 12:49:25 2016 +1000

    glsl/images: bounds check image unit assignment
    
    The CTS test:
    GL45-CTS.multi_bind.dispatch_bind_image_textures
    binds 192 image uniforms, we reject this later,
    but not until after we trash the contents of the
    struct gl_shader.
    
    Error now reads:
    Too many compute shader image uniforms (192 > 16)
    instead of
    Too many compute shader image uniforms (2745344416 > 16)
    
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Cc: "12.0" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit f87352d76966b6e4b0ab5fa9129ccd1ade0c2e7a)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=36e26f2ee21ba71fcc3f17c8c9c985197370e821
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Mon May 30 17:25:41 2016 -0400

    nvc0/ir: fix spilling predicates to registers
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Cc: "11.1 11.2 12.0" <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 4b1a167a2bce936beabd03ffc313a63d8deeed09)




More information about the mesa-commit mailing list