Mesa (17.1): 52 new commits

Andres Gomez tanty at kemper.freedesktop.org
Wed Jun 28 17:46:22 UTC 2017


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=03a0fdbdea137ed803cb5afdf122f0cd592475f5
Author: Andres Gomez <agomez at igalia.com>
Date:   Tue Jun 27 22:38:36 2017 +0300

    cherry-ignore: bin/get-fixes-pick-list.sh: better identify multiple "fixes:" tags
    
    fixes: Genuine false positive.
    
    Signed-off-by: Andres Gomez <agomez at igalia.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=02b5d52bc3d6a8c1eeab7670d36551cc56e92d8c
Author: Andres Gomez <agomez at igalia.com>
Date:   Fri Jun 23 02:14:24 2017 +0300

    cherry-ignore: 17.1.4 rejected commits
    
    stable: rejected commits.
    
    Signed-off-by: Andres Gomez <agomez at igalia.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0069a613ac3b6ca75315cbb2fd3d86b0f6c9ede4
Author: Eric Le Bihan <eric.le.bihan.dev at free.fr>
Date:   Mon Jun 12 12:00:07 2017 +0100

    Fix khrplatform.h not installed if EGL is disabled.
    
    KHR/khrplatform.h is required by the EGL, GLES and VG headers, but is
    only installed if Mesa3d is compiled with EGL support.
    
    This patch installs this header file unconditionally.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77240
    Signed-off-by: Eric Le Bihan <eric.le.bihan.dev at free.fr>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 2154defcd698c7f9862bd235925cac75c0d5a520)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b7ad1fc50b057027afeaee895580f84eeb2c2731
Author: Rob Herring <robh at kernel.org>
Date:   Tue May 30 07:22:18 2017 -0500

    Android: major/minor/makedev live in <sys/sysmacros.h>
    
    sysmacros.h was getting implicitly included in types.h until recently in
    AOSP master. Define MAJOR_IN_SYSMACROS to explicitly include sysmacros.h.
    
    Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    Signed-off-by: Rob Herring <robh at kernel.org>
    (cherry picked from commit e8f82bfd520e7f7185d178cdbecbb9b1bf2b2c1c)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2cce0c2971797f6f45057156ce025c8736c9a11a
Author: Emil Velikov <emil.velikov at collabora.com>
Date:   Fri Jun 16 19:53:50 2017 +0100

    radeonsi: include ac_binary.h for struct ac_shader_binary
    
    The header embeds the struct so it needs the header inclusion instead of
    the dummy forward declaration.
    
    Cc: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Cc: Marek Olšák <marek.olsak at amd.com>
    Cc: Tom Stellard <tstellar at redhat.com>
    Fixes: 32206c5e560 ("radeonsi: Add radeon_shader_binary member to struct
    si_shader")
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Tested-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    
    (cherry picked from commit 1f958c1337290b4062a77f79fc101bb9f4bdf515)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=065643fe67e5b6ac7e7f0437d3a4a93474615b6c
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Jun 24 18:35:29 2017 -0400

    nv50/ir: fix combineLd/St to update existing records as necessary
    
    Previously the logic would decide that the record is kept, which
    translates into keep = false in the caller, which meant that these
    passes did not run.
    
    While it's right that keep = false which means that a new record does
    not need to be added, we do still have to perform the usual list
    maintenance. It's easiest to do this pre-merge rather than post.
    
    The lowering that clip/cull distance passes produce triggers this bug in
    TCS (since reading outputs is done differently in other stages), but it
    should be possible to achieve it with the right sequence of regular
    reads/writes.
    
    Fixes: KHR-GL45.cull_distance.functional
    Fixes: generated_tests/spec/arb_tessellation_shader/execution/tes-input/tes-input-gl_ClipDistance.shader_test
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit 4a79f2be337cef920fc8ea5048fabc106bac492e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f47380a530d6fad530ecb84bd0ab136b39ec81c4
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date:   Sat Jun 24 12:08:52 2017 -0400

    nv50/ir: fetch indirect sources BEFORE the op that uses them
    
    All the BuildUtil helpers just insert the operation into the current BB.
    So we have to take care that any fetchSrc() operations happen before the
    operation whose setIndirect() it goes into.
    
    Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
    Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
    Cc: mesa-stable at lists.freedesktop.org
    (cherry picked from commit 8c02ee4a8b0bea5dda3ced341dce81f340457c95)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8943444b03e485dea1362064c8073222440c24f3
Author: Iago Toral Quiroga <itoral at igalia.com>
Date:   Fri Jun 16 09:27:43 2017 +0200

    i965: update MaxTextureRectSize to match PRMs and comply with OpenGL 4.1+
    
    We were exposing 4096, but we can do up to 8192 in Gen4-6 and up to
    16384 in gen7+. OpenGL 4.1+ requires at least 16384.
    
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit b72b7c541dd81890e04652373f24840f580123ed)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d5debbcc64b5e31d9f39b1a4de73f1df6f86eb1
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Tue Jun 6 19:17:49 2017 +0200

    amd/common: fix off-by-one in sid_tables.py
    
    The very last entry in the sid_strings_offsets table ended up missing,
    leading to out-of-bounds reads and potential crashes.
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 67e49a7f6570b8691d9405cb65f263b87817fe71)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2ed6935015655fa21772284a9998b918e406f04
Author: Eric Engestrom <eric at engestrom.ch>
Date:   Thu Jun 15 23:53:55 2017 +0100

    egl/display: make platform detection thread-safe
    
    Imagine there are 2 threads that both call _eglGetNativePlatform()
    simultaneously:
    - thread 1 completes the first "if (native_platform ==
      _EGL_INVALID_PLATFORM)" check and is preempted to do something else
    - thread 2 executes the whole function, does "native_platform =
      _EGL_NATIVE_PLATFORM" and just before returning it's preempted
    - thread 1 wakes up and calls _eglGetNativePlatformFromEnv() which
      returns _EGL_INVALID_PLATFORM because no env vars are set, updates
      native_platform and then gets preempted again
    - thread 2 wakes up and returns wrong _EGL_INVALID_PLATFORM
    
    Solve this by doing the detection in a local var and only overwriting
    the global one at the end, if no other thread has updated it since.
    
    This means the platform detected in the thread might not be the platform
    returned by the function, but this is a different issue that will need
    to be discussed when this becomes possible.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101252
    Signed-off-by: Eric Engestrom <eric at engestrom.ch>
    Reviewed-by: Grazvydas Ignotas <notasas at gmail.com>
    Acked-by: Emil Velikov <emil.l.velikov at gmail.com>
    (cherry picked from commit 311c09165881111c4a596ca7e7b4bce89b059e0f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f9c7c9f48acd85ce759262fd40d9b11277bbc2b2
Author: Eric Engestrom <eric at engestrom.ch>
Date:   Thu Jun 15 23:53:54 2017 +0100

    egl/display: only detect the platform once
    
    My refactor missed the fact that `native_platform` is static.
    Add the proper guard around the detection code, as it might not be
    necessary, and only print the debug message when a detection was
    actually performed.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101252
    Fixes: 7adb9b094894a512c019 ("egl/display: remove unnecessary code and
                                  make it easier to read")
    Signed-off-by: Eric Engestrom <eric at engestrom.ch>
    Reviewed-by: Grazvydas Ignotas <notasas at gmail.com>
    Acked-by: Emil Velikov <emil.l.velikov at gmail.com>
    
    (cherry picked from commit 4ca9ae587c083b6f03feb65b4ce84929109d5d59)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3700dc5f9719313aabbace50eb7c2f4009906fe5
Author: Michel Dänzer <michel.daenzer at amd.com>
Date:   Tue Jun 13 12:02:59 2017 +0900

    gallium/util: Break recursion in pipe_resource_reference
    
    It calling itself recursively prevented it from being inlined, resulting
    in a copy being generated in every compilation unit referencing it. This
    bloated the text segment of the Gallium mega-driver *_dri.so by ~4%,
    and might also have impacted performance.
    
    Fixes: ecd6fce2611e ("mesa/st: support lowering multi-planar YUV")
    v2:
    * Add comment above pipe_resource_next_reference [Samuel Pitoiset]
    v3:
    * Use loop to unreference the full chain of resources referenced via
      the next members [Timothy Arceri]
    v4:
    * Stop chasing ->next chain at the first sub-resource which isn't
      destroyed [Nicolai Hähnle]
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 176e761513f9f9502248c0c8dad133d2d9f28d2d)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8eb5e80f162dc40b48eb20b844a3190c5b2b86c
Author: Ville Syrjälä <ville.syrjala at linux.intel.com>
Date:   Mon Jun 5 14:01:58 2017 +0300

    i915: Fix wpos_tex vs. -1 comparison
    
    wpos_tex used to be a GLuint so assigning -1 to it and
    later comparing with -1 worked correctly, but commit
    c349031c27b7 ("i915: Fix texcoord vs. varying collision in
    fragment programs") changed wpos_tex to uint8_t and hence
    broke the comparison. To fix this define a more explicit
    invalid value for wpos_tex.
    
    gcc warns us:
    i915_fragprog.c:1255:57: warning: comparison is always true due to limited range of data type [-Wtype-limits]
        if (inputsRead & VARYING_BITS_TEX_ANY || p->wpos_tex != -1) {
                                                             ^
    
    And clang says:
    i915_fragprog.c:1255:57: warning: comparison of constant -1 with expression of type 'uint8_t' (aka 'unsigned char') is always true [-Wtautological-constant-out-of-range-compare]
       if (inputsRead & VARYING_BITS_TEX_ANY || p->wpos_tex != -1) {
                                                ~~~~~~~~~~~ ^  ~~
    
    Cc: Chih-Wei Huang <cwhuang at android-x86.org>
    Cc: Eric Anholt <eric at anholt.net>
    Cc: Ian Romanick <ian.d.romanick at intel.com>
    Cc: mesa-stable at lists.freedesktop.org
    Fixes: c349031c27b7 ("i915: Fix texcoord vs. varying collision in fragment programs")
    Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit c1eedb43f32f6a3733f26e7918eb028f68bd60a4)
    
    Squashed with commit:
    
    i915: Always emit W on gen3
    
    Unlike the older gen2 hardware, gen3 performs perspective
    correct interpolation even for the primary/secondary colors.
    To do that it naturally needs us to emit W for the vertices.
    
    Currently we emit W only when at least one texture coordinate
    set gets emitted. This means the interpolation of color will
    change depending on whether texcoords/varyings are used or not.
    That's probably not what anyone would expect, so let's just
    always emit W to get consistent behaviour. Trying to avoid
    emitting W seems like more hassle than it's worth, especially
    as bspec seems to suggest that the hardware will perform the
    perspective division anyway.
    
    This used to be broken until it was accidentally fixed it in
    commit c349031c27b7 ("i915: Fix texcoord vs. varying collision
    in fragment programs") by introducing a bug that made the driver
    always emit W. After fixing that bug in commit c1eedb43f32f
    ("i915: Fix wpos_tex vs. -1 comparison") we went back to the
    old behaviour and caused an apparent regression.
    
    Fixes: c1eedb43f32f ("i915: Fix wpos_tex vs. -1 comparison")
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101451
    Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    (cherry picked from commit 0eef03a6f2f7fa7968accaa2ab2c3d7431e984b8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=62cbd6d1ddb00fd12721c2bfa9d494ba47e45491
Author: Lucas Stach <l.stach at pengutronix.de>
Date:   Mon Jun 26 12:25:08 2017 +0200

    etnaviv: only flush resource to self if no scanout buffer exists
    
    Currently a resource flush may trigger a self resolve, even if a scanout buffer
    exists, but is up to date. If a scanout buffer exists we only ever want to
    flush the resource to the scanout buffer. This fixes a performance regression.
    
    Fixes: dda956340ce9 (etnaviv: resolve tile status when flushing resource)
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
    Reviewed-by: Philipp Zabel <p.zabel at pengutronix.de>
    Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit 28550c787595f04453d2a39f46f570a891368fcf)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84f756994fee351d1718998f6091caba913ce9cb
Author: Ben Crocker <bcrocker at redhat.com>
Date:   Thu Jun 22 15:14:51 2017 -0400

    egl_dri2: swrastGetDrawableInfo: set *x, *y [v2]
    
    In swrastGetDrawableInfo, set *x and *y, not just *w and *h;
    this fixes a crash later in drisw_update_tex_buffer when the
    (formerly) uninitialized x and y values are used to construct
    an address in a call to llvmpipe_transfer_map.
    
    Fixes crash in Piglit test
    "spec at egl 1.4 at eglcreatepbuffersurface and then glclear"
    (<piglit dir>/bin/egl-create-pbuffer-surface -auto)
    that occurred intermittently, e.g. when the uninitialized x and y in
    drisw_update_tex_buffer just happened to contain absurd non-zero values.
    
    v2: Initialize in case if function succeeds or fails, just like *w/*h.
    
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Ben Crocker <bcrocker at redhat.com>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 162c42f8edde4a2c13b1eb5c0f9f0828441ed4c8)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=940e50f75413bc355e3bc0ac34a25a2d1b6b6fcf
Author: Pierre Moreau <pierre.morrow at free.fr>
Date:   Mon Jun 12 22:53:52 2017 +0200

    nv50/ir: Properly fold constants in SPLIT operation
    
    Fixes: b7d9677d ("nv50/ir: constant fold OP_SPLIT")
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Pierre Moreau <pierre.morrow at free.fr>
    Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
    (cherry picked from commit afb8f2d4a346041adf54d45729963a55a625ac1f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8b7ba85705d2a895aca0a5a2113200154c485a68
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Fri Jun 16 00:13:45 2017 -0700

    i965: Clamp clear colors to the representable range
    
    Starting with Sky Lake, we can clear to arbitrary floats or integers.
    Unfortunately, the hardware isn't particularly smart when it comes
    sampling from that clear color.  If the clear color is out of range for
    the surface format, it will happily return whatever we put in the
    surface state packet unmodified.  In order to avoid returning bogus
    values for surfaces with a limited range, we need to do some clamping.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Chad Versace <chadversary at chromium.org>
    (cherry picked from commit f1fa4be871e13c68b50685aaf64dc095b49ed0b5)
    [Andres Gomez: override_color still a gl_color_union]
    Signed-off-by: Andres Gomez <agomez at igalia.com>
    
    Conflicts:
    	src/mesa/drivers/dri/i965/brw_meta_util.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ccf9de7a59cd709e05800f433d1820705a7a5959
Author: Brian Paul <brianp at vmware.com>
Date:   Mon Jun 19 12:22:09 2017 -0600

    gallium/vbuf: avoid segfault when we get invalid glDrawRangeElements()
    
    A common user error is to call glDrawRangeElements() with the 'end'
    argument being one too large.  If we use the vbuf module to translate
    some vertex attributes this error can cause us to read past the end of
    the mapped hardware buffer, resulting in a crash.
    
    This patch adjusts the vertex count to avoid that issue.  Typically,
    the vertex_count gets decremented by one.
    
    This fixes crashes with the Unigine Tropics and Sanctuary demos with older
    VMware hardware versions.  The issue isn't hit with VGPU10 because we
    don't hit this fallback.
    
    No piglit changes.
    
    CC: mesa-stable at lists.freedesktop.org
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit d8148ed10ae5faea6f88f2f964797f4b0590c083)
    [Andres Gomez: pipe_vertex_buffer hadn't shrunk yet]
    Signed-off-by: Andres Gomez <agomez at igalia.com>
    
    Conflicts:
    	src/gallium/auxiliary/util/u_vbuf.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c2da8e40dee65e377b29a1d212b096235c6be47
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Wed Jun 7 15:47:24 2017 -0700

    i965: Fix broxton 2x6 l3 config
    
    The new table added in this patch matches with the table
    in gfxspecs. We were programming the wrong values earlier.
    
    V2: Update the comment.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Francisco Jerez <currojerez at riseup.net>
    (cherry picked from commit 8521559e086a3d56f549962ab8e9f45a6a5989d8)
    [Andres Gomez: gen 10 was not still there on 17.1]
    Signed-off-by: Andres Gomez <agomez at igalia.com>
    
    Conflicts:
    	src/intel/common/gen_l3_config.c

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=352263385bea72303a4f2a54ba1ed5c94982fbd0
Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Thu Jun 1 09:28:04 2017 -0700

    i965: Add and initialize l3_banks field for gen7+
    
    This new field helps simplify l3 way size computations
    in next patch.
    
    V2: Initialize the l3_banks to 0 in macros.
    
    Suggested-by: Francisco Jerez <currojerez at riseup.net>
    Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
    Reviewed-by: Francisco Jerez <currojerez at riseup.net>
    (cherry picked from commit eb23be1d97da290073d76c2510b8999b250f0139)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=9eadeb79647cf3159d1048de80f5a35be872d393
Author: Brian Paul <brianp at vmware.com>
Date:   Thu Jun 22 12:58:39 2017 -0600

    svga: check return value from svga_set_shader( SVGA3D_SHADERTYPE_GS, NULL)
    
    If the call fails we need to flush the command buffer and retry.  In this
    case, we were failing to unbind the GS which led to subsequent errors.
    
    This fixes a bug replaying a Cinebench R15 apitrace in a Linux guest.
    VMware bug 1894451
    
    cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Charmaine Lee <charmainel at vmware.com>
    (cherry picked from commit 041f8ae9f6bab39361263f6c767ea5294f1aa011)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c56792f758755cdc4dd18b04aa79c2a7cc73de78
Author: Charmaine Lee <charmainel at vmware.com>
Date:   Wed Apr 19 18:34:36 2017 -0700

    svga: use the winsys interface to invalidate surface
    
    Instead of directly sending the InvalidateGBSurface command,
    this patch uses the invalidate_surface interface.
    
    Fixes Linux VM piglit failures including
       ext_texture_array-gen-mipmap, fbo-generatemipmap-array S3TC_DXT1
    
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit 019d5d534682145a3d5921b061ea46f8c872d6a0)
    
    Squashed with commit:
    
    svga: fix pre-mature flushing of the command buffer
    
    When surface_invalidate is called to invalidate a newly created surface
    in svga_validate_surface_view(), it is possible that the command
    buffer is already full, and in this case, currently, the associated wddm
    winsys function will flush the command buffer and resend the invalidate
    surface command. However, this can pre-maturely flush the command buffer
    if there is still pending image updates to be patched.
    
    To fix the problem, this patch will add a return status to the
    surface_invalidate interface and if it returns FALSE, the caller will
    call svga_context_flush() to do the proper context flush.
    Note, we don't call svga_context_flush() if surface_invalidate()
    fails when flushing the screen surface cache though, because it is
    already in the process of context flush, all the image updates are already
    patched, calling svga_context_flush() can trigger a deadlock.
    So in this case, we call the winsys context flush interface directly
    to flush the command buffer.
    
    Fixes driver errors and graphics corruption running Tropics. VMware bug 1891975.
    
    Also tested with MTT glretrace, piglit and various OpenGL apps such as
    Heaven, CinebenchR15, NobelClinicianViewer, Lightsmark, GoogleEarth.
    
    cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Brian Paul <brianp at vmware.com>
    (cherry picked from commit 3fbdab8778d3b55ed6053a3781e92aeff85ca174)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf425b48eabb67dc98daa78d4d4640bd6d07d810
Author: Eric Engestrom <eric at engestrom.ch>
Date:   Wed Jun 21 21:55:56 2017 +0100

    egl: properly count configs
    
    dri2_conf represents another config (which shouldn't be counted)
    if it doesn't have the requested ID.
    
    Reported-by: Liu Zhiquan <zhiquan.liu at intel.com>
    Signed-off-by: Eric Engestrom <eric at engestrom.ch>
    Cc: <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit c87f73724efbec493d0149738d3a7ea11bfab222)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=83c15002fbc9bf3938411c65fec87d16d24e1501
Author: Chad Versace <chadversary at chromium.org>
Date:   Fri Jun 16 19:11:21 2017 -0700

    egl/android: Change order of EGLConfig generation (v2)
    
    Many Android apps (such as Google's official NDK GLES2 example app), and
    even portions the core framework code (such as SystemServiceManager in
    Nougat), incorrectly choose their EGLConfig.  They neglect to match the
    EGLConfig's EGL_NATIVE_VISUAL_ID against the window's native format, and
    instead choose the first EGLConfig whose channel sizes match those of
    the native window format while ignoring the channel *ordering*.
    
    We can detect such buggy clients in logcat when they call
    eglCreateSurface, by detecting the mismatch between the EGLConfig's
    format and the window's format.
    
    As a workaround, this patch changes the order of EGLConfig generation
    such that all EGLConfigs for HAL pixel format i precede those for HAL
    pixel format i+1. In my (chadversary) testing on Android Nougat, this
    was good enough to pacify the buggy clients.
    
    v2: Rebase to make patch cherry-pickable to stable.
    
    Cc: mesa-stable at lists.freedesktop.org
    Cc: Tomasz Figa <tfiga at chromium.org>
    Cc: Rob Herring <robh at kernel.org>
    Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
    (cherry picked from commit 5e884353e647261ac815c85724fc108e86dd1d85)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=a49cad48966f48be26ad0e8596922bda3e365711
Author: Ville Syrjälä <ville.syrjala at linux.intel.com>
Date:   Tue Jun 20 22:05:04 2017 +0300

    i915: Fix gl_Fragcoord interpolation
    
    gl_FragCoord contains the window coordinates so it seems to me that
    we should not use perspective correct interpolation for it. At least
    now I get similar output as i965/swrast/llvmpipe produce.
    
    This fixes dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_w.
    dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_xyz was already
    passing, though I'm not quite sure how it managed to do that.
    
    v2: Add definitons for the S3 "wrap shortest" bits as well (Ian)
    
    Cc: mesa-stable at lists.freedesktop.org
    Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
    Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
    (cherry picked from commit 1c409fe4c144f11ce6c6a4548ac5c6ba37980058)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d8ed994111db1f8e80b3101e8a987f99e70a571
Author: Chandu Babu N <mailto:chandu at amd.com>
Date:   Sat Jun 17 11:49:13 2017 +0000

    change va max_entrypoints
    
    As encode support is added along with decode, increase max_entrypoints to two.
    vaMaxNumEntrypoints was returning incorrect value and causing
    memory corruption before this commit
    
    v2: assert when max_entrypoints needs to be bigger
    
    CC: mesa-stable at lists.freedesktop.org
    Reviewed-by: Christian König <christian.koenig at amd.com>
    (cherry picked from commit 1d4cbcdf285730d8e692e10c44cb5dc7e683efc1)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e9b965e4e70879f68fd543241ec36e91b169597
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Wed Jun 14 23:02:04 2017 +0200

    st/mesa: fix pipe_rasterizer_state::scissor with multiple viewports
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 2ec1e32d11ed788dfed229a569a238743b9b1f9f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f174362ce7a8ad20086352669e7a2ba63ea74f6a
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Jun 10 15:41:22 2017 +0200

    mesa: flush vertices before updating ctx->_Shader
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit 0b70d6ec568a2c5d7b2ff814e6e26b6d1379c829)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=365c326861f40689a745a51af54dda4cad4b5b94
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Jun 10 02:28:05 2017 +0200

    mesa: flush vertices before changing viewports
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Brian Paul <brianp at vmware.com>
    Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
    (cherry picked from commit c8363eb0276c863100a457b18fee5ef900cf6f74)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6af4b0fdf3b061c0a3ff5231f4d97975f48c283d
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jun 20 09:06:44 2017 -0700

    spirv: Work around the Doom shader bug
    
    Doom shipped with a broken version of GLSLang which handles samplers as
    function arguments in a way that isn't spec-compliant.  In particular,
    it creates a temporary local sampler variable and copies the sampler
    into it.  While Dave has had a hack patch out for a while that gets it
    working, we've never landed it because we've been hoping that a game
    update would come out with fixed shaders.  Unfortunately, no game update
    appears on to be on the horizon and I've found this issue in yet another
    application so I think we're stuck working around it.  Hopefully, we can
    delete this code one day.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99467
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Tested-by: Grazvydas Ignotas <notasas at gmail.com>
    Reviewed-by: Dave Airlie <airlied at redhat.com>
    (cherry picked from commit 1bd0acab21c250b263604a52ca6694941a6f02e0)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b53e528e18616ce3a74de4397d24d362e928c338
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Jun 19 19:39:05 2017 +0200

    winsys/amdgpu: fix a deadlock when waiting for submission_in_progress
    
    First this happens:
    
    1) amdgpu_cs_flush (lock bo_fence_lock)
       -> amdgpu_add_fence_dependency
       -> os_wait_until_zero (wait for submission_in_progress) - WAITING
    
    2) amdgpu_bo_create
       -> pb_cache_reclaim_buffer (lock pb_cache::mutex)
       -> pb_cache_is_buffer_compat
       -> amdgpu_bo_wait (lock bo_fence_lock) - WAITING
    
    So both bo_fence_lock and pb_cache::mutex are held. amdgpu_bo_create can't
    continue. amdgpu_cs_flush is waiting for the CS ioctl to finish the job,
    but the CS ioctl is trying to release a buffer:
    
    3) amdgpu_cs_submit_ib (CS thread - job entrypoint)
       -> amdgpu_cs_context_cleanup
       -> pb_reference
       -> pb_destroy
       -> amdgpu_bo_destroy_or_cache
       -> pb_cache_add_buffer (lock pb_cache::mutex) - DEADLOCK
    
    The simple solution is not to wait for submission_in_progress, which we
    need in order to create the list of dependencies for the CS ioctl. Instead
    of building the list of dependencies as a direct input to the CS ioctl,
    build the list of dependencies as a list of fences, and make the final list
    of dependencies in the CS thread itself.
    
    Therefore, amdgpu_cs_flush doesn't have to wait and can continue.
    Then, amdgpu_bo_create can continue and return. And then amdgpu_cs_submit_ib
    can continue.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101294
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    (cherry picked from commit 58af1f6bb074168669aaec2755c7f369a8b58d62)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=527cbf088e85bb18260556a71c55321e87bed317
Author: Jonas Kulla <nyocurio at gmail.com>
Date:   Mon Jun 19 19:46:23 2017 +0200

    anv: Fix L3 cache programming on Bay Trail
    
    Valid values for URBAllocation start at 32, so substract that
    before programming the register.
    
    This was missed when porting from the GL driver.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Francisco Jerez <currojerez at riseup.net>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    (cherry picked from commit a52ee32a9a49b48c51a80b8a35aa26bd583cabb7)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6227edd9782e004bf0f7a7a55702088ca2b01b97
Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun May 1 19:09:14 2016 -0700

    i965: Ignore anisotropic filtering in nearest mode.
    
    This fixes both Europa Universalis IV and Stellaris rendering on i965.
    This was tested on SKL.
    
    This fix was discovered by Jakub Szuppe at Stream HPC
    (https://streamhpc.com/).
    
    bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96958
    bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95530
    Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
    Tested-by: Dylan Baker <dylan at pnwbakers.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 6a7c5257cac23cd9767aa4bc8fdab68925b11157)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fae8aeae44a599beb6bd1e955e483895f583cc79
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Tue Jun 6 19:21:26 2017 +0200

    gallium/radeon/gfx9: fix PBO texture uploads to compressed textures
    
    st/mesa creates a surface that reinterprets the compressed blocks as
    RGBA16UI or RGBA32UI. We have to adjust width0 & height0 accordingly to
    avoid out-of-bounds memory accesses by CB.
    
    Cc: 17.1 <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    (cherry picked from commit 25e5534734b7de2a2359c42eeff5fd0c3c0507da)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=604304d528273ecd5d99f14bb3bbb6e30981ee44
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Sun May 21 07:39:07 2017 +0300

    i965/gen4: Set depth offset when there is stencil attachment only
    
    Current version fails to set depthstencil.depth_offset when there
    is only stencil attachment (it does set the intra tile offsets
    though). Fixes piglits:
    
    g45,g965,ilk:   depthstencil-render-miplevels 1024 s=z24_s8
    g45,ilk:        depthstencil-render-miplevels 273 s=z24_s8
    
    CC: mesa-stable at lists.freedesktop.org
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    (cherry picked from commit 69672859814f36e9b8756b8f1c4655c49b9f6f4f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7872aae4b7bb61ad668bc9e05f59165ff94cd34d
Author: Alex Deucher <alexander.deucher at amd.com>
Date:   Fri Jun 16 12:12:21 2017 -0400

    radeonsi: add new polaris12 pci id
    
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
    Cc: 17.0 17.1 <mesa-stable at lists.freedesktop.org>
    (cherry picked from commit 5c603b902bb6cd186e0d1b8f19d7496545bca667)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=acd0a0a9264e94e9569be2783d151fa9b2c3c12e
Author: Lucas Stach <dev at lynxeye.de>
Date:   Sun Jun 4 21:06:33 2017 +0200

    etnaviv: advertise correct max LOD bias
    
    The maximum LOD bias supported is the same as the max texture level
    supported.
    
    Fixes piglit: ext_texture_lod_bias
    
    Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Lucas Stach <dev at lynxeye.de>
    Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit 5065549e2a75e2a56cd3bc8b0fbb6c9013e86cb4)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ef236050cdda7cf90dd8e9d01bc2fef8bfff80a
Author: Lucas Stach <dev at lynxeye.de>
Date:   Sun Jun 4 21:06:32 2017 +0200

    etnaviv: mask correct channel for RB swapped rendertargets
    
    Now that we support RB swapped targets by using a shader variant, we
    must derive the color mask from both the blend state and the bound
    framebuffer.
    
    Fixes piglit: fbo-colormask-formats
    
    Fixes: 7f62ffb68ad ("etnaviv: add support for rb swap")
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Lucas Stach <dev at lynxeye.de>
    Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit 8644b59b5d98cf58deaecc583f68edd8be23bfca)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f1d6d6bb1b1f774c2c7cdeb0aa43c0d58cc4d807
Author: Lucas Stach <dev at lynxeye.de>
Date:   Sun Jun 4 21:06:31 2017 +0200

    etnaviv: replace translate_clear_color with util_pack_color
    
    This replaces the open coded etnaviv version of the color pack with the
    common util_pack_color.
    
    Fixes piglits:
    arb_color_buffer_float-clear
    fcc-front-buffer-distraction
    fbo-clearmipmap
    
    Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Lucas Stach <dev at lynxeye.de>
    Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit d6aa2ba2b293f78d9c28922ed3af9077100f3480)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e8368dbd6b3a30ad40fb9d7990b4c45936d5c959
Author: Lucas Stach <dev at lynxeye.de>
Date:   Sun Jun 4 21:06:30 2017 +0200

    etnaviv: remove bogus assert
    
    etna_resource_copy_region handles resources with multiple samples
    by falling back to the software path. There is no need to kill the
    application there.
    
    Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Lucas Stach <dev at lynxeye.de>
    Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit 6633880e7e0557b3dc4e89e62857bd7b548c93fd)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c0f7d34247a6237fef1eeae02977a2cfa0e2d334
Author: Lucas Stach <dev at lynxeye.de>
Date:   Sun Jun 4 21:06:29 2017 +0200

    etnaviv: use padded width/height for resource copies
    
    When copying a resource fully we can just blit the whole level. This allows
    to use the RS even for level sizes not aligned to the RS min alignment. This
    is especially useful, as etna_copy_resource is part of the software fallback
    paths (used in etna_transfer), that are used for doing unaligned copies.
    
    Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Lucas Stach <dev at lynxeye.de>
    Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit ff490eb8fd3a1edee1b3aec3f8122f7d6f90a80f)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e3a2ff07e7e81b837d429d74ad529222229958e4
Author: Lucas Stach <dev at lynxeye.de>
Date:   Sun Jun 4 21:06:28 2017 +0200

    etnaviv: don't try RS blit if blit region is unaligned
    
    If the blit region is not aligned to the RS min alignment don't try
    to execute the blit, but fall back to the software path.
    
    Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs")
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Lucas Stach <dev at lynxeye.de>
    Reviewed-by: Christian Gmeiner <christian.gmeiner at gmail.com>
    (cherry picked from commit 2a6183d416395ca4659e4b6fed9d0918c74cb469)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0889282a7dab9b5d37d816daf0eba95c012edb23
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date:   Mon Jun 5 00:03:59 2017 +0100

    configure.ac: add -pthread to PTHREAD_LIBS
    
    As described inline - follow what's written in the manual and what works
    for all platforms that Mesa supports.
    
    We want to untangle things leaving only -pthread, yet that has a
    potential of causing regressions. Thus we'll do it as a follow-up patch.
    
    As a nice side-effect this resolves issues, where the system lacks
    libpthread.so, yet the linker does not warn about it and we and up with
    unresolved symbols.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101071
    Cc: mesa-stable at lists.freedesktop.org
    Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
    Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>
    (cherry picked from commit e5aa806e5f01b842d1af4775f8e4c53282908304)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0201078d58272bc162d71bc68664e86417a7682
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jun 6 17:53:26 2017 -0700

    i965: Set step_rate = 0 for interleaved vertex buffers
    
    Before, we weren't setting step rate so we got whatever old value
    happened to be lying around.  This can lead to some interesting
    rendering errors.  In particular, if you run the OpenGL ES CTS with
    dEQP-GLES3.functional.instanced.types.mat2x4 immediately followed by one
    of the dEQP-GLES3.functional.transform_feedback.* tests, the transform
    feedback test gets stale instancing data from the other test and fails.
    The only thing that is causing this to not be a problem today is that we
    use meta for clears and meta is setting up vertex buffers via the VBO or
    non-interleaved path and setting step_rate to 0 for us.  When blorp
    depth/stencil clears are enabled, meta is no longer sitting between the
    two tests and the stale data starts causing noticeable problems.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    (cherry picked from commit f762962f7ffd280ee1fd4280744800f73e133901)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ec9e035011c4f295dfe8fcf54d10f740dc6643b
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jun 6 20:58:31 2017 -0700

    i965: Disable the interleaved vertex optimization when instancing
    
    Instance divisor is a property of the vertex buffer and not the vertex
    element so if we ever see anything other than 0, bail.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Samuel Iglesias Gonsálvez <siglesias at igalia.com>
    (cherry picked from commit b3569e74451e3b913a2f3b327db430edbcd8f42e)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=175b0442df3f978b27a86f0fe41dc94b4866a8d3
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jun 13 10:31:41 2017 -0700

    i965: Do an end-of-pipe sync after flushes
    
    According to the docs, a simple CS stall is insufficient to ensure that
    the memory from the flush is visible and an end-of-pipe sync is needed.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit d9261275cc1328d6a30e19b92db21df23adf7219)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7d4dcbcad94ee90d22cd127b7e1c8f17992c47df
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jun 13 09:29:42 2017 -0700

    i965/blorp: Do an end-of-pipe sync around CCS ops
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 314ec7b46ffa1640c0d9448e7752c2d7f6c18734)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea294dd259f52c8e98714bad535a1848db95f649
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jun 13 10:19:56 2017 -0700

    i965: Do an end-of-pipe sync prior to STATE_BASE_ADDRESS
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 96e7b7ac54bd2220905656a0304eed2a753fceee)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1161debb608893d4e2116cb9ce85b0237bd23b37
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date:   Fri Jan 20 13:17:39 2017 +0200

    i965: Add an end-of-pipe sync helper
    
    v2 (Jason Ekstrand):
     - Take a flags parameter to control the flushes
     - Refactoring
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
    Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 7b607aae3fea4c7a3022641115aa01a05b434448)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6e7d5532f3b94bcae3305aad3e22ec8a58e47313
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jun 13 09:59:18 2017 -0700

    i965: Unify the two emit_pipe_control functions
    
    These two functions contain almost identical logic except for one SNB
    workaround required for render target cache flushes.  They may as well
    call into the same code so we only have to handle the work-arounds in
    one place.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit b771d9a136715fdf8ba0b478380e19b63f1e491b)

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=3427a2e52ef514436c060dbb0a2815b0b07bce45
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Tue Jun 13 09:56:31 2017 -0700

    i965: Take a uint64_t immediate in emit_pipe_control_write
    
    It's a 64-bit value.  Splitting it up just makes the function arguments
    awkward.
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit a8ea68bc930f212dddf78a4e2073bcbd698b9140)
    [Andres Gomez: modified remaining uses of the new API]
    Signed-off-by: Andres Gomez <agomez at igalia.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8714f8da9dd147bba53d790668ecf89983f16235
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Jun 7 21:39:52 2017 -0700

    i965: Flush around state base address
    
    Cc: "17.1" <mesa-stable at lists.freedesktop.org>
    Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
    (cherry picked from commit 86da08367b90a5a4fef90723c97a988e73130389)




More information about the mesa-commit mailing list