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


Commits:
d362ba77 by Lionel Landwerlin at 2019-12-04T21:41:07Z
intel/perf: fix invalid hw_id in query results

Accumulation happens between 2 reports, it can be between a start/end
report from another context. So only consider updating the hw_id of
the results when it's not already valid and that we have a valid value
to put in there.

Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: 41b54b5faf ("i965: move OA accumulation code to intel/perf")
Reviewed-by: Mark Janes <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit acea59dbf8056b46444c820115d86c42d0411686)

- - - - -
4399795f by Lionel Landwerlin at 2019-12-04T21:41:07Z
intel/perf: set read buffer len to 0 to identify empty buffer

We always add an empty buffer in the list when creating the query.
Let's set the len appropriately so that we can recognize it when we
read OA reports up to the end of a query.

We were using an 0 timestamp value associated with the empty buffer
and incorrectly assuming this was a valid value. In turn that led to
not reading enough reports and resulted in deltas added to our counter
values which should have been discarded because those would be flagged
for a different context.

Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: <[email protected]>
Reviewed-by: Mark Janes <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 9d0a5c817ce21adabeda5153035b30609e2862b2)

- - - - -
1de35486 by Lionel Landwerlin at 2019-12-04T21:41:07Z
intel/perf: take into account that reports read can be fairly old

If we read the OA reports late enough after the query happens, we can
get a timestamp in the report that is significantly in the past
compared to the start timestamp of the query. The current code must
deal with the wraparound of the timestamp value (every ~6 minute). So
consider that if the difference is greater than half that wraparound
period, we're probably dealing with an old report and make the caller
aware it should read more reports when they're available.

Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: <[email protected]>
Reviewed-by: Mark Janes <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit b364e920bf8c6805bcc3ff1cedf6b77dbb61b1e0)

- - - - -
c90f4e95 by Lionel Landwerlin at 2019-12-04T21:41:07Z
intel/perf: simplify the processing of OA reports

This is a more accurate description of what happens in processing the
OA reports.

Previously we only had a somewhat difficult to parse state machine
tracking the context ID.

What we really only need to do to decide if the delta between 2
reports (r0 & r1) should be accumulated in the query result is :

   * whether the r0 is tagged with the context ID relevant to us

   * if r0 is not tagged with our context ID and r1 is: does r0 have a
     invalid context id? If not then we're in a case where i915 has
     resubmitted the same context for execution through the execlist
     submission port

v2: Update comment (Ken)

Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 8c0b05826304370ef9e5f1e607d0f0305a0eb759)

- - - - -
fb6db6b5 by Lionel Landwerlin at 2019-12-04T21:41:07Z
intel/perf: fix improper pointer access

This expression was unused by the macro, probably why it didn't
register in the compilation.

Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: <[email protected]>
Reviewed-by: Mark Janes <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit ddacd3d43b203e7c66ec366820e2a230b7e3aa67)

- - - - -
e8635ce2 by Dylan Baker at 2019-12-04T21:41:07Z
cherry-ignore: update for 19.3-rc7

- - - - -
b2d5d0aa by Rob Clark at 2019-12-10T17:13:00Z
nir/lower_clip: Fix incorrect driver loc for clipdist outputs

Somehow adjusting maxloc based on existing outputs got lost, resulting
in the clipdist varying clobbering the position varying.  Causing a
shader that had no position output in freedreno/ir3, which triggers GPU
hangs in neverball.

Fixes: d0f746b6458 ("nir: Save nir_variable pointers in nir_lower_clip_vs 
rather than locs.")
Signed-off-by: Rob Clark <[email protected]>
Reviewed-by: Kristian H. Kristensen <[email protected]>
(cherry picked from commit 372ed42d222a274abe712b62f4b037cbeb6fddb5)

- - - - -
fe136a94 by Ian Romanick at 2019-12-10T17:13:05Z
intel/compiler: Fix 'comparison is always true' warning

Without looking at the assembly or something, I'm not sure what the
compiler does here.  The brw_reg_type enum is marked packed, so I'm
guess that it gets represented as a uint8_t.  That's the only reason I
could think that comparing with -1 would be always true.

This patch adds the same cast that exists in brw_hw_type_to_reg_type.
It might be better to add a #define outside the enum for
BRW_REGISTER_TYPE_INVALID as (enum brw_reg_type)-1.

src/intel/compiler/brw_eu_compact.c: In function ‘has_immediate’:
src/intel/compiler/brw_eu_compact.c:1515:20: warning: comparison is always true 
due to limited range of data type [-Wtype-limits]
 1515 |       return *type != -1;
      |                    ^~
src/intel/compiler/brw_eu_compact.c:1518:20: warning: comparison is always true 
due to limited range of data type [-Wtype-limits]
 1518 |       return *type != -1;
      |                    ^~

Reviewed-by: Eric Engestrom <[email protected]>
CID: 1455194
Fixes: 12d3b11908e ("intel/compiler: Add instruction compaction support on 
Gen12")
Cc: @mattst88
(cherry picked from commit 668635abd26dda458f9293f99dd39f56431a4d61)

- - - - -
6adf4fe2 by Timothy Arceri at 2019-12-10T17:13:46Z
glsl/nir: iterate the system values list when adding varyings

Iterate the system values list when adding varyings to the program
resource list in the NIR linker. This is needed to avoid CTS
regressions when using the NIR to build the GLSL resource list in
an upcoming series. Presumably it also fixes a bug with the current
ARB_gl_spirv support.

Fixes: ffdb44d3a0a2 ("nir/linker: Add inputs/outputs to the program 
resource list")

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

- - - - -
a6728963 by Nanley Chery at 2019-12-10T17:13:56Z
gallium/dri2: Fix creation of multi-planar modifier images

The commit noted below assumed and enforced that DRM_MOD_INVALID was the
only valid modifier for multi-planar imported images. Due to that, it
required that modifier on multi-planar images to:

   1. Allow multiple planes.
   2. Perform YUV format lowering and extent adjustments.
   3. Use buffer_index to correctly map the given planes.

Fix these issues by removing or updating the code built on that
assumption.

Fixes: 2066966c106 ("gallium/dri2: Support creating multi-planar modifier 
images")
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit d5c857837aae205c0e1fddee30300b4419e2bb3f)

- - - - -
22d1e495 by Fritz Koenig at 2019-12-10T17:14:14Z
freedreno: reorder format check

With the addition of the planar formats helper, the
planar formats no longer have a valid block.bits field.
Calling util_format_get_blocksize therefore asserts.

Reorder the check to see if the format is supported
before doing the query to get the blocksize.

Fixes: 20f132e5eff2d ("gallium/util: add planar format layouts and 
helpers")

Signed-off-by: Fritz Koenig <[email protected]>
Reviewed-by: Rob Clark <[email protected]>
(cherry picked from commit c496d442844183968f7c4903c8ed549aa990d15f)

- - - - -
c5e203ff by Jason Ekstrand at 2019-12-10T17:14:21Z
anv: Re-emit all compute state on pipeline switch

It's a very odd case to hit in the real world.  However, there are some
CTS tests which switch back and forth between dispatch and clear without
changing the pipeline.

Fixes: bc612536eb2f "anv: Emit a dummy MEDIA_VFE_STATE before 
switching..."
Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]>
(cherry picked from commit 0f60aa4037dfb6aa86d5b9524fe649f13b2b8825)

- - - - -
166a3ae3 by Alyssa Rosenzweig at 2019-12-10T17:14:28Z
gallium/util: Support POLYGON in u_stream_outputs_for_vertices

u_decomposed_prims_for_vertices cannot support POLYGON, but POLYGON is
trivial to support as a special case directly (since we have the number
of vertices directly).

Fixes aborts in Panfrost in apps using GL_POLYGON.

Fixes: e881aa8c12c ("gallium/util: Add u_stream_outputs_for_vertices 
helper")
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Revewied-by: Eric Anholt <[email protected]>
(cherry picked from commit a37822f5f740c55cd6f848adfd6c3d567ae4fd79)

- - - - -
01d53f7a by Pierre-Eric Pelloux-Prayer at 2019-12-10T17:14:34Z
radeonsi: fix multi plane buffers creation

When using 3 planes, the sequence produces this chain:
  plane0 -> plane2
This commit fixes this to produce:
  plane0 -> plane1 -> plane2

Fixes: 86e60bc2659 ("radeonsi: remove si_vid_join_surfaces and use 
combined planar allocations")
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2193
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit e3e91cebcd9307654eb3535e2f6521103ec8b997)

- - - - -
84362970 by Lionel Landwerlin at 2019-12-10T17:14:38Z
anv: fix missing gen12 handling

Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: 181be14d4303 ("anv: Build for gen12")
Reviewed-by: Eric Engestrom <[email protected]>
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit dcfe1903c3f501429851d0278ba78742e907355b)

- - - - -
a637f36b by Dylan Baker at 2019-12-11T23:46:10Z
meson/broadcom: libbroadcom_cle needs expat headers

Fixes: 1ae8018a6af81eec4832a57d9d0346aa3dd98d28
       ("meson: Add support for the vc4 driver.")
Reviewed-by: Eric Anholt <[email protected]>
(cherry picked from commit 85a9698ac3a032aa8e2e71ff804b489749a754ec)

- - - - -
4a3b4ccf by Dylan Baker at 2019-12-11T23:46:15Z
meson/broadcom: libbroadcom_cle also needs zlib

Fixes: 1ae8018a6af81eec4832a57d9d0346aa3dd98d28
       ("meson: Add support for the vc4 driver.")
Reviewed-by: Eric Anholt <[email protected]>
(cherry picked from commit d0eebda99088d15199aa0ae2c2d62ab6939568ce)

- - - - -
d4dad580 by Bas Nieuwenhuizen at 2019-12-11T23:46:20Z
radv: Fix RGBX Android<->Vulkan format correspondence.

This is correct per the Vulkan spec format equivalence table.

Fixes: f36b52740a0 "radv/android: Add android hardware buffer 
queries."
Reviewed-by: Eric Anholt <[email protected]>
(cherry picked from commit 2e44bfc14f5c2e44ed820257615c2008955bc5bf)

- - - - -
7b2ef160 by Nanley Chery at 2019-12-11T23:46:50Z
gallium: Store the image format in winsys_handle

This format will be used to properly handle planar images with modifiers
in iris.

Fixes: 246eebba4a8 ("iris: Export and import surfaces with modifiers that 
have aux data")
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 51ee8fff9b5e803592a2fd34730fdcfdfba469cb)

- - - - -
ae069606 by James Xiong at 2019-12-11T23:49:35Z
iris: try to set the specified tiling when importing a dmabuf

When importing a dmabuf with a specified tiling, the dmabuf user
should always try to set the tiling mode because: 1) the exporter
can set tiling AFTER exporting/importing. 2) a dmabuf could be
exported from a kernel driver other than i915, in this case the
dmabuf user and exporter need to set tiling separately.

This patch fixes a problem when running vkmark under weston with
iris on ICL, it crashed to console with the following assert. i965
doesn't have this problem as it always tries to set the specified
tiling mode.

weston: ../src/gallium/drivers/iris/iris_resource.c:990: 
iris_resource_from_handle: Assertion `res->bo->tiling_mode == 
isl_tiling_to_i915_tiling(res->surf.tiling)' failed.

Signed-off-by: James Xiong <[email protected]>
Reviewed-by: Rafael Antognolli <[email protected]>
(cherry picked from commit b6d45e7f748e9ff7e198391f5ce5d1253101fedb)

- - - - -
58395e52 by Nanley Chery at 2019-12-11T23:49:41Z
iris: Fix import of multi-planar surfaces with modifiers

Multi-planar surfaces are allowed to have modifiers. Don't require
DRM_FORMAT_MOD_INVALID in order to create a surface for each plane
defined by the format.

Fixes: 246eebba4a8 ("iris: Export and import surfaces with modifiers that 
have aux data")
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 21376cffb37018160ad3eef38b5a640ba1675a4f)

- - - - -
3f50741b by Jason Ekstrand at 2019-12-12T00:34:38Z
anv: Don't leak when set_tiling fails

Fixes: a44744e01d73 "anv: Require a dedicated allocation for..."
Reviewed-by: Ivan Briano <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
(cherry picked from commit 0a36fafa95175efbad1a61b36706e535929afd2b)
Conflicts resolved by Dylan Baker

Conflicts:
        src/intel/vulkan/anv_device.c

- - - - -
88b2a8ba by Mauro Rossi at 2019-12-12T00:41:11Z
android: radeonsi: fix build after vl refactoring (v2)

vl functions moved from radeonsi to gallium/auxiliary/vl have left
android build of radeonsi in broken state.

libmesa_galliumvl static is need to build readeonsi,
gallium_dri building rules are reworked to avoid multiple symbols
and libmesa_galliumvl static dependency is needed in radeonsi.

Here is the changelog:
- android: gallium/auxiliary: add libmesa_galliumvl static
- android: gallium_dri: move libmesa_gallium to static to prevent multiple 
symbols
- android: radeonsi: fix build after vl refactoring

Fixes the following building error:

external/mesa/src/gallium/drivers/radeonsi/si_uvd.c:47:
error: undefined reference to 'vl_video_buffer_create_as_resource'
clang.real: error: linker command failed with exit code 1 (use -v to see 
invocation)

Fixes: 86e60bc ("radeonsi: remove si_vid_join_surfaces and use combined 
planar allocations")
Signed-off-by: Mauro Rossi <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 96aef08dc6f4ea4a79cdf995d867d08e8f838b2a)
Conflicts Resolved by Dylan Baker

Conflicts:
        src/gallium/targets/dri/Android.mk

Panfrost is not enabled for android in 19.3, and the series is a bit
bigger than I'd like to pull into the stable branch for a .0 release

- - - - -
1452cf67 by Pierre-Eric Pelloux-Prayer at 2019-12-12T17:22:54Z
radeonsi: use gfx9.surf_offset to compute texture offset

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2177
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit ff0f10866699a22216fd1a4af6cdb89c2fea10e1)

- - - - -
3a58a736 by Samuel Pitoiset at 2019-12-12T17:22:54Z
ac/nir: fix out-of-bound access when loading constants from global

Global load/store instructions can't know if the offset is
out-of-bound because they don't use descriptors (no range).

Fix this by clamping the offset for arrays that are indexed
with a non-constant offset that's greater or equal to the array
size.

This fixes VM faults and GPU hangs with Dead Rising 4.

Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2148
Fixes: 71a67942003 ("ac/nir: Enable nir_opt_large_constants")
Signed-off-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
(cherry picked from commit a0f1a5fa051786c16de6f0062771051f8565daec)

- - - - -
ce856a73 by Lionel Landwerlin at 2019-12-12T17:22:54Z
anv: fix incorrect VMA alignment for CCS main surfaces

Maybe finer way of dealing with this requirement would be to increase
the number of pdevice->memory.types[] to add a category for special
alignment cases.

Meanwhile this fixes the problem of CCS surface alignment and it's
probably not going to cause issues given the size of our address
space.

Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: 6af8a4acc4a4 ("anv: Add aux-map translation for gen12+")
Reviewed-by: Jason Ekstrand <[email protected]>
(cherry picked from commit 5fdea9f40182002899fc941bfb8c3f36ed5366a1)

- - - - -
e0da0189 by Dylan Baker at 2019-12-12T17:23:54Z
Revert "egl: avoid local modifications for eglext.h Khronos standard 
header file"

This reverts commit 2a497735ec75cfc5edaff378613e3b145b3bb22d.

This patch is built on the previous patch, which needs to be reverted.

- - - - -
a857bc66 by Dylan Baker at 2019-12-12T17:24:42Z
Revert "egl: move #include of local headers out of Khronos headers"

This reverts commit 87efb9f3a4f366372bc873dee741a2c2f272e5c9.

This is breaking the QT build, so it needs to go until these symbols can
make their way to upstream khronos

- - - - -
9e8aaa6f by Dylan Baker at 2019-12-12T19:21:43Z
docs: add release notes for 19.3.0

- - - - -
4c8bd415 by Dylan Baker at 2019-12-12T19:21:58Z
VERSION: bump for 19.3.0 final

- - - - -
182e084c by Timo Aaltonen at 2019-12-12T23:20:25Z
Merge branch 'upstream-experimental' into debian-experimental

- - - - -
b646c45e by Timo Aaltonen at 2019-12-12T23:26:47Z
bump the version

- - - - -
27e862a6 by Timo Aaltonen at 2019-12-12T23:29:39Z
fix-radv-secure-compile.diff: Fix radv build where __NR__newselect isn't 
defined.

- - - - -
1ea643e8 by Timo Aaltonen at 2019-12-12T23:38:00Z
rules: Restore radv build on non-x86 archs.

- - - - -
231516f5 by Timo Aaltonen at 2019-12-12T23:39:14Z
release to experimental

- - - - -


30 changed files:

- VERSION
- bin/.cherry-ignore
- debian/changelog
- + debian/patches/fix-radv-secure-compile.diff
- debian/patches/series
- debian/rules
- + docs/relnotes/19.3.0.html
- include/EGL/eglext.h
- include/EGL/eglextchromium.h
- src/amd/llvm/ac_nir_to_llvm.c
- src/amd/vulkan/radv_android.c
- src/broadcom/cle/meson.build
- src/compiler/glsl/gl_nir_linker.c
- src/compiler/nir/nir_lower_clip.c
- src/egl/generate/gen_egl_dispatch.py
- src/egl/main/egltypedefs.h
- src/gallium/auxiliary/Android.mk
- src/gallium/auxiliary/util/u_prim.h
- src/gallium/drivers/freedreno/a4xx/fd4_screen.c
- src/gallium/drivers/freedreno/a5xx/fd5_screen.c
- src/gallium/drivers/freedreno/a6xx/fd6_screen.c
- src/gallium/drivers/iris/iris_bufmgr.c
- src/gallium/drivers/iris/iris_bufmgr.h
- src/gallium/drivers/iris/iris_resource.c
- src/gallium/drivers/iris/iris_resource.h
- src/gallium/drivers/radeonsi/Android.mk
- src/gallium/drivers/radeonsi/si_texture.c
- src/gallium/include/state_tracker/winsys_handle.h
- src/gallium/state_trackers/dri/dri2.c
- src/gallium/targets/dri/Android.mk


The diff was not included because it is too large.


View it on GitLab: 
https://salsa.debian.org/xorg-team/lib/mesa/compare/3f152d1b795d8d4e26767c2651127846e86f449f...231516f539a3ced57c358d789e0c9af8df4cade8

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


Reply via email to