Timo Aaltonen pushed to branch debian-unstable at X Strike Force / lib / mesa


Commits:
9cbffed5 by Dylan Baker at 2019-11-13T19:09:32Z
docs: Add SHA256 sum for for 19.2.4

- - - - -
2b89e68a by Lepton Wu at 2019-11-13T19:10:13Z
gallium: dri2: Use index as plane number.

This fix wrong color when playing video under Android + virgl
configuration.

Fixes: 2decad495f3 ("gallium/dri2: Support images with multiple planes for 
modifiers")
Reviewed-by: Eric Engestrom <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Signed-off-by: Lepton Wu <[email protected]>
(cherry picked from commit 5a40e153fd7df58a6419cf2e6211828d7d31cf4e)

- - - - -
6e98a923 by Caio Marcelo de Oliveira Filho at 2019-11-13T19:10:13Z
spirv: Don't leak GS initialization to other stages

The stage specific fields of shader_info are in an union.  We've
likely been lucky that this value was either overwritten or ignored by
other stages.  The recent change in shader_info layout in commit
84a1a2578da ("compiler: pack shader_info from 160 bytes to 96 bytes")
made this issue visible.

Fixes: cf2257069cb ("nir/spirv: Set a default number of invocations for 
geometry shaders")
Reviewed-by: Jason Ekstrand <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 087ecd9ca58a84cf85e66323b44140e7304d5f93)

- - - - -
cb835d28 by Eric Engestrom at 2019-11-13T19:10:13Z
egl: fix _EGL_NATIVE_PLATFORM fallback

When the X11 or Haiku platforms were compiled in, they would bypass the
`_EGL_NATIVE_PLATFORM` fallback by always returning themselves instead.

Cc: [email protected]
Signed-off-by: Eric Engestrom <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 86d3a346f1576acb6c2f8c3be3853a6a3e226b5c)

- - - - -
a89d4090 by Dylan Baker at 2019-11-20T00:56:00Z
cherry-ignore: Update for 19.2.4 cycle

- - - - -
2281258a by Lionel Landwerlin at 2019-11-20T00:56:00Z
anv: invalidate file descriptor of semaphore sync fd at vkQueueSubmit

We always close the in_fence at the end the anv_cmd_buffer_execbuf()
so when we take it from the semaphore, let's not forget to invalidate
it.

Note that the code leaks the fence_in if we get any error before
reaching the close(). Let's fix that in another patch or better,
rewrite the whole thing!

v2: drop redundant fd = -1 (Jason)

v3: Update commit message (Jason)

Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit 048f0690ee4b39f865d4d6ad82a6c0290dcaaf41)

- - - - -
a993dc20 by Lionel Landwerlin at 2019-11-20T00:56:00Z
anv: remove list items on batch fini

This doesn't seem to fix anything because those destroy() calls happen
right before the command buffer object & its list of batch_bo is also
destroyed. Still looks a bit cleaner.

v2: Found a second occurence

Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]> (v2)
Fixes: 26ba0ad54d ("vk: Re-name command buffer implementation files")
Cc: <[email protected]>
(cherry picked from commit 935f8f0e56a409b10fac86e18f68be776cdff29f)

- - - - -
a390cf73 by Lionel Landwerlin at 2019-11-20T00:56:00Z
anv/wsi: signal the semaphore in the acquireNextImage

We seem to have forgotten about the semaphore in the
acquireNextImageInfo.

v2: Signal semaphore/fence regardless of presentation status (Jason)

Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit edc6606d4e515707b22674a0b3357c02de52378e)

- - - - -
9ffb0176 by Marek Olšák at 2019-11-20T00:56:00Z
st/mesa: fix Sanctuary and Tropics by disabling ARB_gpu_shader5 for them

They use the "sample" keyword as a variable name.

Cc: 19.2 19.3 <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>
(cherry picked from commit e00791c5525000652472cdcfe55d59f43ec3d85e)

- - - - -
bd2f6150 by Paulo Zanoni at 2019-11-20T00:56:00Z
intel/compiler: fix nir_op_{i,u}*32 on ICL

On ICL we have the src1 restriction which is applied through
fix_byte_src() and potentially changes the type of the operands from 8
to 32 bits. When this change happens, we fall into the "else if
(bit_size < 32)" case and miscompute src_type because it takes into
consideration bit_size (8) instead of the adjusted size of temp_op
(32). This results in the shader reading unused memory, giving us
mostly failures, but occasional passes due to whatever was already in
the registers we were reading.

This commit fixes a lot of dEQP subgroup i8vec2 tests on ICL, such as:
    dEQP-VK.subgroups.arithmetic.compute.subgroupadd_i8vec2

This can also be verified by simply changing fix_byte_src() to apply
on all platforms.

Fixes: 5847de6e9afe ("intel/compiler: don't use byte operands for src1 
on ICL")
Reviewed-by: Ivan Briano <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
Signed-off-by: Paulo Zanoni <[email protected]>
(cherry picked from commit eb6352162dde1445f1fe7a408e79f4ecfdf3703c)

- - - - -
d8a37880 by Ian Romanick at 2019-11-20T00:56:00Z
nir/algebraic: Add the ability to mark a replacement as exact

Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Connor Abbott <[email protected]>
(cherry picked from commit ea19f2fb68f54171683b6c490b2cd6df96f854c7)

- - - - -
4c82d426 by Ian Romanick at 2019-11-20T00:56:00Z
nir/algebraic: Mark other comparison exact when removing a == a

This prevents some additional optimizations that would change the
original result.  This includes things like (b < a && b < c) 
=> b <
min(a, c) and !(a < b) => b >= a.  Both of these optimizations were
specifically observed in the piglit tests added in piglit!160.

This was discovered while investigating
https://gitlab.freedesktop.org/mesa/mesa/issues/1958.  However, the
problem in that issue was Chrome or Angle is replacing calls to isnan()
with some stuff that we (correctly) optimize to false.  If they had left
the calls to isnan() alone, everything would have just worked.

No shader-db changes on any Intel platform.

I also tried marking the comparison generated by the isnan() function
precise.  The precise marker "infects" every computation involved in
calculating the parameter to the isnan() function, and this severely
hurt all of the (few) shaders in shader-db that use isnan().

I also considered adding a new ir_unop_isnan opcode that would implement
the functionality.  During GLSL IR-to-NIR translation, the resulting
comparison operation would be marked exact (and the samething would need
to happen in SPIR-V translation).

This approach taken by this patch seemed easier, but we may want to do
the ir_unop_isnan thing anyway.

Fixes: d55835b8bdf ("nir/algebraic: Add optimizations for "a == a 
&& a CMP b"")
Reviewed-by: Matt Turner <[email protected]>
Reviewed-by: Connor Abbott <[email protected]>
(cherry picked from commit 9be4a422a055d1e829d56c3cc91e1fc2f6e8fb31)

- - - - -
856c7edd by Illia Iorin at 2019-11-20T00:56:00Z
mesa/main: Ignore filter state for MS texture completeness

After the discussion in
https://github.com/KhronosGroup/OpenGL-API/issues/45
the section 8.17 (texture completeness) of the OpenGL 4.6 core profile
was changed to explicitly say that multisample texture completeness
ignores filter state of the texture.

"Using the preceding definitions, a texture is complete unless any of the
 following conditions hold true:
   ...
  - The minification filter requires a mipmap (is neither NEAREST nor LINEAR),
    the texture is not multisample, and the texture is not mipmap complete.
  - The texture is not multisample; either the magnification filter is not
    NEAREST, or the minification filter is neither NEAREST nor NEAREST_-
    MIPMAP_NEAREST; and any of
    – The internal format of the texture is integer (see table 8.12).
    – The internal format is STENCIL_INDEX.
    – The internal format is DEPTH_STENCIL, and the value of DEPTH_-
      STENCIL_TEXTURE_MODE for the texture is STENCIL_INDEX."

Signed-off-by: Danylo Piliaiev <[email protected]>
Signed-off-by: Illia Iorin <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 6b672e342a367c11c23690c5b309617a0b6e9c40)

- - - - -
2353a63a by Marek Olšák at 2019-11-20T00:56:01Z
tgsi_to_nir: fix masked out image loads

This caused a failure in NIR validation.

Reviewed-by: Connor Abbott <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
(cherry picked from commit 3906fce88bb473f283e4b064cc996ea6aa6d2922)

- - - - -
0e7e56aa by Marek Olšák at 2019-11-20T16:23:55Z
tgsi_to_nir: handle PIPE_FORMAT_NONE in image opcodes

radeonsi doesn't use the format and internal shaders don't set it.

Reviewed-By: Timur Kristóf <[email protected]>
(cherry picked from commit f704fb7f0ba5c230ec9558621484acebb927a315)
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2112

- - - - -
38bd621f by Pierre-Eric Pelloux-Prayer at 2019-11-20T16:24:09Z
radeonsi: disable sdma for gfx10

Disable sdma on gfx10 until all timeouts bugs are fixed.

See:
    https://gitlab.freedesktop.org/mesa/mesa/issues/1907
    https://bugs.freedesktop.org/show_bug.cgi?id=111481

Reviewed-by: Marek Olšák <[email protected]>

- - - - -
b5b09acb by Pierre-Eric Pelloux-Prayer at 2019-11-20T16:24:09Z
radeonsi: tell the shader disk cache what IR is used

Until 8bef4df196fbb the IR (TGSI or NIR) was used in disk_cache driver_flags.
This commit restores this features to avoid crashing when switching from
one IR to the other.

As radeonsi's default is TGSI, I used "driver_flags & 0x8000000 = 
0" for TGSI
to keep the same driver_flags.

Fixes: 8bef4df196f ("radeonsi: add si_debug_options for convenient 
adding/removing of options")

Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Timothy Arceri <[email protected]>

- - - - -
60c299c5 by Pierre-Eric Pelloux-Prayer at 2019-11-20T16:24:09Z
radeonsi: fix shader disk cache key

Use unsigned values otherwise signed extension will produce a 64 bits value 
where
the 32 left-most bits are 1.

Fixes: 2afeed30101 ("radeonsi: tell the shader disk cache what IR is 
used")

- - - - -
ae071434 by Ben Crocker at 2019-11-20T16:24:09Z
llvmpipe: use ppc64le/ppc64 Large code model for JIT-compiled shaders

Large programs, e.g. gnome-shell and firefox, may tax the
addressability of the Medium code model once a (potentially unbounded)
number of dynamically generated JIT-compiled shader programs are
linked in and relocated.  Yet the default code model as of LLVM 8 is
Medium or even Small.

The cost of changing from Medium to Large is negligible:
- an additional 8-byte pointer stored immediately before the shader entrypoint;
- change an add-immediate (addis) instruction to a load (ld).

Testing with WebGL Conformance
(https://www.khronos.org/registry/webgl/sdk/tests/webgl-conformance-tests.html)
yields clean runs with this change (and crashes without it).

Testing with glxgears shows no detectable performance difference.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1753327, 1753789, 
1543572, 1747110, and 1582226

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/223

Co-authored by: Nemanja Ivanovic <[email protected]>, Tom Stellard 
<[email protected]>

CC: [email protected]

Signed-off-by: Ben Crocker <[email protected]>
(cherry picked from commit 9c3be6d21fa6a45852045d0286b80fb420f82fe3)
Conflicts resolved Dylan (PIPE_ARCH -> UTIL_ARCH rename)

- - - - -
3199172e by Danylo Piliaiev at 2019-11-20T16:24:09Z
i965: Unify CC_STATE and BLEND_STATE atoms on Haswell as a workaround

Re-emitting 3DSTATE_CC_STATE_POINTERS after emitting
3DSTATE_BLEND_STATE_POINTERS fixes the shadow flickering in
SuperTuxCart and Tropico 6 which was seen only on Haswell.
The reason for this is unknown and fix was found empirically.

The closest mention in PRM is that it should improve performance.
>From the HSW PRM, volume 2b, page 823 (3DSTATE_BLEND_STATE_POINTERS):
 "When the BLEND_STATE pointer changes but not the CC_STATE pointer,
  driver needs to force a CC_STATE pointer change to improve
  blend performance in pixel backend."

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1834
Fixes: eca4a654 ("i965: Disable dual source blending when shader 
doesn't support it on gen8+")
Cc: <[email protected]>
Signed-off-by: Danylo Piliaiev <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 6f17fe0606a144f977d8b70a7ee9f8371abc144b)

- - - - -
023ddb01 by Brian Paul at 2019-11-20T16:24:09Z
Call shmget() with permission 0600 instead of 0777

A security advisory (TALOS-2019-0857/CVE-2019-5068) found that
creating shared memory regions with permission mode 0777 could allow
any user to access that memory.  Several Mesa drivers use shared-
memory XImages to implement back buffers for improved performance.

This path changes the shmget() calls to use 0600 (user r/w).

Tested with legacy Xlib driver and llvmpipe.

Cc: [email protected]
Reviewed-by: Kristian H. Kristensen <[email protected]>
(cherry picked from commit 02c3dad0f3b4d26e0faa5cc51d06bc50d693dcdc)

- - - - -
e10851ff by Jason Ekstrand at 2019-11-20T16:24:09Z
anv: Stop bounds-checking pushed UBOs

The bounds checking is actually less safe than just pushing the data.
If the bounds checking actually ever kicks in and it's not on the last
UBO push range, then the shrinking will cause all subsequent ranges to
be pushed to the wrong place in the GRF.  One of the behaviors we
definitely don't want is for OOB UBO access to result in completely
unrelated UBOs returning garbage values.  It's safer to just push the
UBOs as-requested.  If we're really concerned about robustness, we can
emit shader code to do bounds checking which should be stupid cheap (a
CMP followed by SEL).

Cc: [email protected]
Reviewed-by: Lionel Landwerlin <[email protected]>

- - - - -
9e0a0d2e by Dylan Baker at 2019-11-20T16:54:10Z
docs: Add relnotes for 19.2.5

- - - - -
f418e923 by Dylan Baker at 2019-11-20T16:54:30Z
VERSION: bump for 19.2.5

- - - - -
4c86eda2 by Dylan Baker at 2019-11-20T17:18:11Z
docs/relnotes/19.2.5: Add SHA256 sum

- - - - -
be8a46d0 by Eric Engestrom at 2019-11-21T17:26:26Z
vulkan: delete typo'd header

Two files exist in that directory:
- vulkan_xlib_randr.h
- vulkan_xlib_xrandr.h

Both were imported in 205c271562db8cb2effc ("vulkan: Update the XML and
headers to 1.1.70") with identical contents (ie. the
VK_EXT_acquire_xlib_display extension), but the former was never
included anywhere and can't be found upstream [1], while the latter is
included in vulkan.h and found upstream.

[1] https://github.com/KhronosGroup/Vulkan-Headers/tree/master/include/vulkan

Fixes: 205c271562db8cb2effc ("vulkan: Update the XML and headers to 
1.1.70")
Signed-off-by: Eric Engestrom <[email protected]>
Acked-by: Jason Ekstrand <[email protected]>
(cherry picked from commit 344859c32d00e444e4e820642541628b36c0622e)

- - - - -
8f526ee7 by Jose Maria Casanova Crespo at 2019-11-21T17:26:26Z
v3d: Fix predication with atomic image operations

Fixes dEQP test:
dEQP-GLES31.functional.synchronization.inter_call.with_memory_barrier.image_atomic_multiple_interleaved_write_read

Fixes piglit test:
spec/glsl-es-3.10/execution/cs-image-atomic-if-else.shader_test

Fixes: 6281f26f064ada ("v3d: Add support for 
shader_image_load_store.")

Reviewed-by: Alejandro Piñeiro <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
(cherry picked from commit d983055184320a843d0f056b4c0f7af53cff47ab)

- - - - -
e594e4ce by Alejandro Piñeiro at 2019-11-21T17:26:26Z
v3d: adds an extra MOV for any sig.ld*

Specifically when we are in non-uniform control flow, as we would need
to set the condition for the last instruction. If (for example) a
image atomic load stores directly their value on a NIR register,
last_inst would be a nop, and would fail when set the condition.

Fixes piglit test:
spec/glsl-es-3.10/execution/cs-ssbo-atomic-if-else-2.shader_test

Fixes: 6281f26f064ada ("v3d: Add support for 
shader_image_load_store.")

v2: (Changes suggested by Eric Anholt)
   * Cover all sig.ld* signals, not just ldunif and ldtmu, as all of
     them have the same restriction.
   * Update comment explaining why we add a MOV in that case
   * Tweak commit message.

v3:
   * Drop extra set of parens (Eric)
   * Add missing ld signal to is_ld_signal to fix shader-db regression.

Reviewed-by: Eric Anholt <[email protected]>
(cherry picked from commit b4bc59e37ec0969d70e87d233e4e82431ec2e092)

- - - - -
c2488d81 by Hyunjun Ko at 2019-11-21T17:26:26Z
freedreno/ir3: fix printing output registers of FS.

Fixes: cea39af2fbf1 ("freedreno/ir3: Generalize ir3_shader_disasm()")

Reviewed-by: Rob Clark <[email protected]>
(cherry picked from commit d0f38394b146fa61197c66a0a0f95fa83f58cec8)

- - - - -
b1f50546 by Dave Airlie at 2019-11-21T17:26:26Z
llvmpipe/ppc: fix if/ifdef confusion in backport.

Fixes: 32aba91c07f (llvmpipe: use ppc64le/ppc64 Large code model for 
JIT-compiled shaders)
Reviewed-by: Dylan Baker <[email protected]>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2131

- - - - -
05d5784e by Yevhenii Kolesnikov at 2019-11-21T17:26:26Z
glsl: Enable textureSize for samplerExternalOES

>From OES_EGL_image_external_essl3

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1901

Signed-off-by: Yevhenii Kolesnikov <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Acked-by: Tapani Pälli <[email protected]>

- - - - -
aa620fdf by Dylan Baker at 2019-11-21T17:28:23Z
meson: generate .pc files for gles and gles2 with old glvnd

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1921

- - - - -
264d1187 by Dylan Baker at 2019-11-22T00:04:11Z
docs: Add release notes for 19.2.6

- - - - -
5836dd66 by Dylan Baker at 2019-11-22T00:04:47Z
VERSION: bumpre to 19.2.6

- - - - -
d50d3f1e by Timo Aaltonen at 2019-11-27T08:56:14Z
Merge branch 'upstream-unstable' into debian-unstable

- - - - -
859ae184 by Timo Aaltonen at 2019-11-27T09:00:06Z
bump version

- - - - -
88f1db57 by Timo Aaltonen at 2019-11-27T09:01:08Z
create-gles-pc-files-with-old-glvnd.diff: Dropped, upstream.

- - - - -
3733664d by Timo Aaltonen at 2019-11-29T19:08:38Z
release to sid

- - - - -


30 changed files:

- VERSION
- bin/.cherry-ignore
- debian/changelog
- − debian/patches/create-gles-pc-files-with-old-glvnd.diff
- debian/patches/series
- docs/relnotes/19.2.4.html
- + docs/relnotes/19.2.5.html
- + docs/relnotes/19.2.6.html
- − include/vulkan/vulkan_xlib_randr.h
- src/broadcom/compiler/nir_to_vir.c
- src/broadcom/compiler/v3d40_tex.c
- src/compiler/glsl/builtin_functions.cpp
- src/compiler/nir/nir_algebraic.py
- src/compiler/nir/nir_opt_algebraic.py
- src/compiler/nir/nir_search.c
- src/compiler/nir/nir_search.h
- src/compiler/spirv/spirv_to_nir.c
- src/egl/main/egldisplay.c
- src/freedreno/ir3/ir3_shader.c
- src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
- src/gallium/auxiliary/nir/tgsi_to_nir.c
- src/gallium/auxiliary/pipe-loader/driinfo_gallium.h
- src/gallium/drivers/radeonsi/si_pipe.c
- src/gallium/include/state_tracker/st_api.h
- src/gallium/state_trackers/dri/dri2.c
- src/gallium/state_trackers/dri/dri_screen.c
- src/gallium/winsys/sw/dri/dri_sw_winsys.c
- src/gallium/winsys/sw/xlib/xlib_sw_winsys.c
- src/intel/compiler/brw_fs_nir.cpp
- src/intel/vulkan/anv_batch_chain.c


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/mesa/compare/71d0c36fd4cf2e2f65718ee7a85f2ee4b219759d...3733664dbb152b086adf178d8e5c67f67f1d3c24

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/mesa/compare/71d0c36fd4cf2e2f65718ee7a85f2ee4b219759d...3733664dbb152b086adf178d8e5c67f67f1d3c24
You're receiving this email because of your account on salsa.debian.org.


Reply via email to