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


Commits:
19573e43 by Samuel Pitoiset at 2019-11-27T17:47:14Z
radv: fix enabling sample shading with SampleID/SamplePosition

When a fragment shader includes an input variable decorated with
SampleId or SamplePosition, sample shading should be enabled
because minSampleShadingFactor is expected to be 1.0.

Cc: 19.2, 19.3 <[email protected]>
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit 86a5fbfd4afb4fb53ab8ea0a13dda33b32f8b79b)

- - - - -
d438ccde by Samuel Pitoiset at 2019-12-03T18:22:47Z
radv/gfx10: fix implementation of exclusive scans

This implementation is loosely based on ROCm.
https://github.com/RadeonOpenCompute/ROCm-Device-Libs/blob/master/ockl/src/wfredscan.cl

This fixes dEQP-VK.subgroups.arithmetic.*.subgroupexclusive* on GFX10.

Fixes: 227c29a80de ("amd/common/gfx10: implement scan & reduce 
operations")
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit c9aa843961d2c3cb34e7cb2dc843b93d723e0692)
Conflicts resolved by Dylan Baker

- - - - -
f63c3eca by Kenneth Graunke at 2019-12-03T18:23:03Z
driconf, glsl: Add a vs_position_always_invariant option

Many applications use multi-pass rendering and require their vertex
shader position to be computed the same way each time.  Optimizations
may consider, say, fusing a multiply-add based on global usage of an
expression in a shader.  But a second shader with the same expression
may have different code, causing that optimization to make the other
choice the second time around.

The correct solution is for applications to mark their VS outputs
'invariant', indicating they need multiple shaders to compute that
output in the same manner.  However, most applications fail to do so.

So, we add a new driconf option - vs_position_always_invariant - which
forces the gl_Position output in vertex shaders to be marked invariant.

Fixes: 7025dbe794b ("nir: Skip emitting no-op movs from the builder.")
Reviewed-by: Eric Anholt <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
(cherry picked from commit 9b577f2a887968483b88b629673d3f9904a179ff)

- - - - -
553de940 by Kenneth Graunke at 2019-12-03T18:23:12Z
drirc: Set vs_position_always_invariant for Shadow of Mordor on Intel

When drawing the main character in Shadow of Mordor, the game appears
to draw Talion with one vertex shader, and the Wraith with another.
If the compiler optimizes those in different ways which lead to slight
imprecisions, then the resulting positions may not line up, leading to
Z-fighting occurring as the game decides which of the two are in front.

brw_nir_opt_peephole_ffma looks at usages of multiply adds across the
entire shader, and may make different decisions between the two, leading
to such imprecisions and Z-fighting.  This started happening recently
after a NIR change to eliminate unnecessary MOVs (7025dbe7), but that
change simply exposed the existing problem.

Improves performance on Skylake GT4e by 1.22945% +/- 0.398672% (n=3),
likely due to the fixed rendering.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/1985
Fixes: 7025dbe794b ("nir: Skip emitting no-op movs from the builder.")
Reviewed-by: Eric Anholt <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
(cherry picked from commit 51cc380894b6c541ac3383336389242cf3f9fd67)

- - - - -
5ba4fb85 by Bas Nieuwenhuizen at 2019-12-03T18:23:16Z
radv: Unify max_descriptor_set_size.

They were out of sync. Besides syncing, lets ensure they never diverge
again.

Fixes: 8d2654a4197 "radv: Support VK_EXT_inline_uniform_block."
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 4cde0e04e38ad2b9212d451cb5a84ed4ceaffd03)

- - - - -
a2606453 by Jonathan Gray at 2019-12-03T18:23:20Z
winsys/amdgpu: avoid double simple_mtx_unlock()

pthread_mutex_unlock() when unlocked is documented by posix as
being undefined behaviour.  On OpenBSD pthread_mutex_unlock() will call
abort(3) if this happens.

This occurs in amdgpu_winsys_create() after
cb446dc0fa5c68f681108f4613560543aa4cf553
winsys/amdgpu: Add amdgpu_screen_winsys

Signed-off-by: Jonathan Gray <[email protected]>
Cc: 19.2 19.3 <[email protected]>
Signed-off-by: Marek Olšák <[email protected]>
(cherry picked from commit 3fe3bde4f2c8813e13fa2992212ca46a894e68b6)

- - - - -
0ca8b506 by Bas Nieuwenhuizen at 2019-12-03T18:23:24Z
radv: Fix timeline semaphore refcounting.

Was totally broken ...

Removed two if(point) {} because point is always non-NULL and we
were counting on that already for counting, since we NULL our
references to semaphores without active point earlier.

Fixes: 4aa75bb3bdd "radv: Add wait-before-submit support for 
timelines."
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2137
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 48fc65413c8607390b2ed8cdaccac490d8c8fdae)

- - - - -
e11d9cd9 by Boris Brezillon at 2019-12-03T18:23:29Z
gallium: Fix the ->set_damage_region() implementation

BACK_LEFT attachment can be outdated when the user calls
KHR_partial_update() (->lastStamp != ->texture_stamp), leading to a
damage region update on the wrong pipe_resource object.
Let's delay the ->set_damage_region() call until the attachments are
updated when we're in that case.

Reported-by: Carsten Haitzler <[email protected]>
Fixes: 492ffbed63a2 ("st/dri2: Implement DRI2bufferDamageExtension")
Cc: <[email protected]>
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit b196e1a8cfbd2c6b53f688542bcda5bb8f7f8888)

- - - - -
8e3c4caf by Boris Brezillon at 2019-12-03T18:23:35Z
panfrost: Make sure we reset the damage region of RTs at flush time

We must reset the damage info of our render targets here even though a
damage reset normally happens when the DRI layer swaps buffers. That's
because there can be implicit flushes the GL app is not aware of, and
those might impact the damage region: if part of the damaged portion
is drawn during those implicit flushes, you have to reload those areas
before next draws are pushed, and since the driver can't easily know
what's been modified by the draws it flushed, the easiest solution is
to reload everything.

Reported-by: Carsten Haitzler <[email protected]>
Fixes: 65ae86b85422 ("panfrost: Add support for KHR_partial_update()")
Cc: <[email protected]>
Signed-off-by: Boris Brezillon <[email protected]>
Acked-by: Alyssa Rosenzweig <[email protected]>
(cherry picked from commit c6e2096c47f05aab6807325799bf0b6a4092084d)

- - - - -
d32a34a3 by Jonathan Gray at 2019-12-03T18:23:40Z
i965: update Makefile.sources for perf changes

brw_performance_query_metrics.h was removed in
134e750e16bfc53480e0bba6f0ae3e1d2a7fb87c and
brw_performance_query.h was removed in
8ae6667992ccca41d08884d863b8aeb22a4c4e65

remove reference to these files from Makefile.sources

Signed-off-by: Jonathan Gray <[email protected]>
Fixes: 134e750e16bfc53480e0 ("i965: extract performance query 
metrics")
Fixes: 8ae6667992ccca41d088 ("intel/perf: move query_object into 
perf")
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit 34dda0ca659a8dd4a25123d966ed04340b9a0e45)

- - - - -
4f026b2a by Christian Gmeiner at 2019-12-03T18:23:46Z
etnaviv: remove dead code

ptiled is always NULL so the if statement is useless.

CoverityID: 1415572
Fixes: b9627765303 ("etnaviv: rework compatible render base")
CC: <[email protected]>
Reviewed-by: Jonathan Marek <[email protected]>
Signed-off-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 1be220833c18139ff9f3c7c9237deeb726ba5c55)

- - - - -
f4a4cce5 by Rhys Perry at 2019-12-03T18:23:51Z
aco: propagate p_wqm on an image_sample's coordinate p_create_vector

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2156
Fixes: 93c8ebfa780 ('aco: Initial commit of independent AMD compiler')
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
(cherry picked from commit ff70ccad16a2efb3be1fbc4ca03453d38721a267)

- - - - -
967043eb by Rhys Perry at 2019-12-03T18:23:56Z
aco: fix i2i64

Fixes: 93c8ebfa ('aco: Initial commit of independent AMD compiler')
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
(cherry picked from commit 11f43caaeca166c96ae49dbd506b6f58dd4a13fb)

- - - - -
bf03a431 by Rhys Perry at 2019-12-03T18:24:04Z
aco: add v_nop inbetween exec write and VMEM/DS/FLAT

LLVM and the proprietary compiler seem to do this

Fixes: b01847bd9 ("aco/gfx10: Fix mitigation of 
VMEMtoScalarWriteHazard.")
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
(cherry picked from commit a9fc81b098ca36d063dbdb6f69ffde1ab215d34b)

- - - - -
0fa0b5fc by Daniel Schürmann at 2019-12-03T18:24:08Z
aco: don't split live-ranges of linear VGPRs

Fixes: 93c8ebfa780ebd1495095e794731881aef29e7d3 'aco: Initial commit of 
independent AMD compiler'

Reviewed-by: Rhys Perry <[email protected]>
(cherry picked from commit 8861a82be7df2a5816254b45d390ddafad7d8711)

- - - - -
f7d100ca by Rhys Perry at 2019-12-03T18:24:23Z
radv: set writes_memory for global memory stores/atomics

Fixes: 13ab63bb62b ('radv: Implement VK_EXT_buffer_device_address.')
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit 35fab1ba3395604f748cd13ba82991372ca0cae7)

- - - - -
f9e8f6ba by Rhys Perry at 2019-12-03T18:46:09Z
nir/lower_io_to_vector: don't create arrays when not needed

Some backends require that there are no array varyings.

If there were no arrays in the input shader, the pass shouldn't have to
create new ones.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2103
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2167
Fixes: bcd14756eec ('nir/lower_io_to_vector: add flat mode')
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Connor Abbott <[email protected]>
(cherry picked from commit 5404b7aaa36fad18df19e12abcc8af69014e74c2)

- - - - -
f6ac7d9a by Jordan Justen at 2019-12-03T18:46:25Z
iris: Allow max dynamic pool size of 2GB for gen12

Reworks:
 * Adjust comment to list the state packets that curro found to be
   affected.

Fixes: 8125d7960b6 ("intel/dev: Add preliminary device info for 
Tigerlake")
Cc: 19.3 <[email protected]>
Signed-off-by: Jordan Justen <[email protected]>
Acked-by: Kenneth Graunke <[email protected]>
Reviewed-by: Francisco Jerez <[email protected]>
(cherry picked from commit e277009d8dbdc9aec4be26aed5357ec41f359937)

- - - - -
f0aa6a75 by Jason Ekstrand at 2019-12-03T18:46:25Z
anv: Set up SBE_SWIZ properly for gl_Viewport

gl_Viewport is also in the VUE header so we need to whack the read
offset to 0 and emit a default (no overrides) SBE_SWIZ entry in that
case as well.

Cc: [email protected]
Reviewed-by: Lionel Landwerlin <[email protected]>
(cherry picked from commit b1f37688ba717db81a7e9c97e2a875d528d85112)

- - - - -
15791ca8 by Daniel Schürmann at 2019-12-04T08:18:46Z
aco: fix a couple of value numbering issues

Fixes: 3a20ef4a3299fddc886f9d5908d8b3952dd63a54 'aco: refactor value 
numbering'

Reviewed-by: Rhys Perry <[email protected]>

- - - - -
9b189cb9 by Dylan Baker at 2019-12-04T21:14:01Z
VERSION: bump version for 19.3-rc6

- - - - -
24908b47 by Timo Aaltonen at 2019-12-05T07:20:53Z
Merge branch 'upstream-experimental' into debian-experimental

- - - - -
3b1ec453 by Timo Aaltonen at 2019-12-05T07:21:27Z
bump the version

- - - - -
bf1219ac by Timo Aaltonen at 2019-12-05T07:36:25Z
control, rules: Don't build mesa-vulkan-drivers on mips*.

- - - - -


30 changed files:

- VERSION
- debian/changelog
- debian/control
- debian/rules
- src/amd/compiler/aco_insert_NOPs.cpp
- src/amd/compiler/aco_instruction_selection.cpp
- src/amd/compiler/aco_opt_value_numbering.cpp
- src/amd/compiler/aco_register_allocation.cpp
- src/amd/llvm/ac_llvm_build.c
- src/amd/vulkan/radv_device.c
- src/amd/vulkan/radv_pipeline.c
- src/amd/vulkan/radv_shader_info.c
- src/compiler/glsl/builtin_variables.cpp
- src/compiler/nir/nir_lower_io_to_vector.c
- src/gallium/auxiliary/pipe-loader/driinfo_gallium.h
- src/gallium/drivers/etnaviv/etnaviv_resource.c
- src/gallium/drivers/iris/iris_bufmgr.c
- src/gallium/drivers/panfrost/pan_job.c
- src/gallium/drivers/panfrost/pan_resource.c
- src/gallium/drivers/panfrost/pan_resource.h
- src/gallium/include/state_tracker/st_api.h
- src/gallium/state_trackers/dri/dri2.c
- src/gallium/state_trackers/dri/dri_drawable.c
- src/gallium/state_trackers/dri/dri_drawable.h
- src/gallium/state_trackers/dri/dri_screen.c
- src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c
- src/intel/vulkan/genX_pipeline.c
- src/mesa/drivers/dri/i965/Makefile.sources
- src/mesa/drivers/dri/i965/intel_screen.c
- src/mesa/main/mtypes.h


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/mesa/compare/b5d2e20d729c4e977e8242195fcc8a6a18896df9...bf1219ac247ca2f8a9adcae898358015761fc71b

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


Reply via email to