Caio Oliveira [Fri, 5 Nov 2021 00:41:18 +0000 (17:41 -0700)]
pan/bi: Use gtest for test-optimizer
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13684>
Caio Oliveira [Thu, 4 Nov 2021 21:32:38 +0000 (14:32 -0700)]
pan/bi: Use gtest for test-pack-formats
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13684>
Caio Oliveira [Thu, 4 Nov 2021 22:01:58 +0000 (15:01 -0700)]
pan/bi: Use gtest for test-packing
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13684>
Caio Oliveira [Thu, 4 Nov 2021 23:45:00 +0000 (16:45 -0700)]
pan/bi: Use gtest for test-scheduler-predicates
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13684>
Caio Oliveira [Thu, 4 Nov 2021 21:28:01 +0000 (14:28 -0700)]
pan/bi: Make some headers compilable with C++
This will allow have tests that use gtest (which is C++) for.
Note the reordering of designated initializers in structs is
because C++ requires them to follow the order that they were
defined in the struct.
The table `bifrost_reg_ctrl_lut` is not used by the tests at the
moment, so bailed out trying to replace the C syntax designated
initializer for arrays (that doesn't have an equivalent in C++), and
simply #ifdef it out when including from C++ code.
Also, use not_mod instead of not. not is a keyword in C++ and can't be
used. Luckily, the naming is not determined by the XML, so we can freely
rename.
[Alyssa: squash in not_mod]
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13684>
Eric Engestrom [Sat, 9 Oct 2021 11:07:44 +0000 (12:07 +0100)]
meson: automatically define `HAVE_{some}_PLATFORM`
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13278>
Eric Engestrom [Sat, 9 Oct 2021 11:05:00 +0000 (12:05 +0100)]
meson: always define `HAVE_{X11,XCB}_PLATFORM` when it's enabled
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13278>
Eric Engestrom [Sat, 9 Oct 2021 10:31:24 +0000 (11:31 +0100)]
meson: drop impossible `if no platform` branch
We've already ensured a few lines above that there is at least
`surfaceless` in the list.
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13278>
Eric Engestrom [Sat, 9 Oct 2021 10:29:45 +0000 (11:29 +0100)]
meson: move `egl_native_platform` definition inside the `with_egl` block
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13278>
Eric Engestrom [Sat, 9 Oct 2021 10:14:55 +0000 (11:14 +0100)]
meson: drop duplicate addition of surfaceless & drm to the list of platforms
This is already done on lines 475-480, resulting in them appearing twice
in the summary.
Fixes:
47946855f19cc7d082fd ("meson: allow egl_native_platform to be specified")
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13278>
Eric Engestrom [Mon, 8 Nov 2021 14:43:48 +0000 (14:43 +0000)]
release-calendar: fix date for next 21.3 rc
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13713>
Samuel Pitoiset [Mon, 8 Nov 2021 08:03:19 +0000 (09:03 +0100)]
radv: remove unused parameter in radv_emit_subpass_barrier()
It got introduced by "radv: optimize subpass barrier flushes for
imageless framebuffers" but never used in the final version.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13702>
Caio Oliveira [Thu, 4 Nov 2021 06:22:50 +0000 (23:22 -0700)]
util: Change blob_test to use macro from mesa-gtest-extras.h
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13672>
Caio Oliveira [Thu, 4 Nov 2021 06:22:39 +0000 (23:22 -0700)]
gtest: Add mesa-gtest-extras.h with array ASSERT/EXPECT macros
There are no similar macros in gtest. They do recommend pulling
another library (gmock) and use that, but having our own let us
control the output more precisely. Extracted the code from a similar
existing macro in blob_test.cpp, making changes to the output.
A check like
ASSERT_U8_ARRAY_EQUAL(expected_u8, result_u8, 32);
that fails will output
```
Expected 32 values to be equal but found 1 that differ:
expected_u8 values are:
[000] 29 44 00 00 44 60 cb 80 93 65 07 c0 08 00 40 29
[016] 03 81 00 00 5c a0 21 87 *b0 31 00 00 00 00 00 60
result_u8 values are:
[000] 29 44 00 00 44 60 cb 80 93 65 07 c0 08 00 40 29
[016] 03 81 00 00 5c a0 21 87 *af 31 00 00 00 00 00 60
```
and a check like
ASSERT_U64_ARRAY_EQUAL(expected_u64, result_u64, 4);
```
Expected 4 values to be equal but found 1 that differ:
expected_u64 values are:
[000]
80cb604400004429 29400008c0076593
[002]
8721a05c00008103 *
60000000000031b0
result_u64 values are:
[000]
80cb604400004429 29400008c0076593
[002]
8721a05c00008103 *
60000000000031af
```
Note the asterisk indicating wrong values.
The new header for extra macros is in src/gtest/include/ so it
doesn't get in the way when updating the real gtest headers that are
in src/gtest/include/gtest/.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13672>
Pierre-Eric Pelloux-Prayer [Mon, 8 Nov 2021 09:58:14 +0000 (10:58 +0100)]
radeonsi/sqtt: reserve a vmid when sqtt is enabled
Based on https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13695
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13696>
Pierre-Eric Pelloux-Prayer [Mon, 8 Nov 2021 09:51:15 +0000 (10:51 +0100)]
radeonsi/sqtt: fix FINISH_DONE / BUSY usage
They're using more than a single bit so use the proper mask.
Based on https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13694
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13696>
Pierre-Eric Pelloux-Prayer [Fri, 5 Nov 2021 21:00:33 +0000 (22:00 +0100)]
radeonsi/sqtt: fix shader stage values
shader_stages_mask and others expect MESA_SHADER_* based values,
not PIPE_SHADER_*...
Without this the fragment shader wouldn't appear in the "Pipelines"
pane of RGP.
Fixes:
c276bde34ae ("radeonsi/sqtt: export shader code to RGP")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13696>
Lionel Landwerlin [Fri, 5 Nov 2021 11:06:37 +0000 (13:06 +0200)]
intel/dev: also test crocus & i915 pci-ids
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12981>
Lionel Landwerlin [Wed, 22 Sep 2021 12:06:58 +0000 (15:06 +0300)]
intel: move away from booleans to identify platforms
v2: Drop changes around GFX_VERx10 == 75 (Luis)
v3: Replace
(GFX_VERx10 < 75 && devinfo->platform != INTEL_PLATFORM_BYT)
by
(devinfo->platform == INTEL_PLATFORM_IVB)
Replace
(devinfo->ver >= 5 || devinfo->platform == INTEL_PLATFORM_G4X)
by
(devinfo->verx10 >= 45)
Replace
(devinfo->platform != INTEL_PLATFORM_G4X)
by
(devinfo->verx10 != 45)
v4: Fix crocus typo
v5: Rebase
v6: Add GFX3, ILK & I965 platforms (Jordan)
Move ifdef to code expressions (Jordan)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12981>
Lionel Landwerlin [Fri, 22 Oct 2021 07:52:50 +0000 (10:52 +0300)]
intel: remove 2 preproduction pci-id for ADLS
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes:
d399c3e861a7c4 ("intel/dev: Add device info for ADL-S")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13476>
Filip Gawin [Wed, 15 Sep 2021 22:19:22 +0000 (00:19 +0200)]
nir: assert that variables in optimize_atomic are initialized
If you gonna view context of function parse_atomic_op,
then you gonna know that index for array (data_src)
can be unitialized. Imho this approach is cleaner
than doing stuff inside parse_atomic_op.
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12995>
Mike Blumenkrantz [Thu, 4 Nov 2021 14:33:58 +0000 (10:33 -0400)]
zink: set new point/line caps
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676>
Marek Olšák [Thu, 4 Nov 2021 12:50:30 +0000 (08:50 -0400)]
st/mesa: use new point and line CAPs
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676>
Marek Olšák [Thu, 4 Nov 2021 13:23:55 +0000 (09:23 -0400)]
radeonsi: set correct point and line limits
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676>
Marek Olšák [Thu, 4 Nov 2021 12:47:21 +0000 (08:47 -0400)]
gallium: add missing point and line CAPs
The returned values are the same as the GL frontend.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676>
Marek Olšák [Thu, 4 Nov 2021 12:26:31 +0000 (08:26 -0400)]
gallium: rename PIPE_CAPF_MAX_POINT_WIDTH -> MAX_POINT_SIZE
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13676>
Marek Olšák [Thu, 21 Oct 2021 19:47:18 +0000 (15:47 -0400)]
driconf: disallow 10-bit pbuffers for viewperf2020/maya due to X errors
Cc: 21.2 21.3 <mesa-stable@lists.freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13472>
Daniel Stone [Mon, 8 Nov 2021 13:08:48 +0000 (13:08 +0000)]
Revert "CI: Disable Windows jobs"
They're fixed now, just in time.
This reverts commit
7b44e7d7bb77051913ce24ea177d06820c40304c.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13708>
Daniel Stone [Mon, 8 Nov 2021 12:29:14 +0000 (12:29 +0000)]
CI: Disable Windows jobs
The runner is broken, perhaps after an upgrade.
Signed-off-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13707>
Mike Blumenkrantz [Fri, 5 Nov 2021 16:59:42 +0000 (12:59 -0400)]
aux/trace: add pipe_context::render_condition_mem
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13582>
Mike Blumenkrantz [Fri, 5 Nov 2021 15:09:34 +0000 (11:09 -0400)]
aux/trace: fix vertex state tracing
Fixes:
e8cad57aa7a ("gallium/trace: add pipe_vertex_state support")
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13582>
Mike Blumenkrantz [Fri, 29 Oct 2021 16:09:41 +0000 (12:09 -0400)]
aux/trace: trace pipe_screen::is_format_supported better
storage_sample_count is important
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13582>
Mike Blumenkrantz [Thu, 28 Oct 2021 20:23:11 +0000 (16:23 -0400)]
aux/trace: support pipe_context::get_query_result_resource
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13582>
Mike Blumenkrantz [Thu, 28 Oct 2021 20:18:38 +0000 (16:18 -0400)]
aux/trace: fix PIPE_QUERY_PIPELINE_STATISTICS_SINGLE tracing
don't just crash, dump!
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13582>
Kostiantyn Lazukin [Wed, 3 Nov 2021 11:23:52 +0000 (13:23 +0200)]
util/u_trace: Replace Flag with IntEnum to support python3.5
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5586
Fixes:
cefaa73909718e570b36c5f8463e4b534e96201a
Signed-off-by: Kostiantyn Lazukin <kostiantyn.lazukin@globallogic.com>
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13643>
Lionel Landwerlin [Fri, 25 Jun 2021 08:35:10 +0000 (11:35 +0300)]
intel/devinfo: fix wrong offset computation
A bit difficult to find what commit introduced the issue because of
all the renaming, but it was my bug :)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10015>
Lionel Landwerlin [Mon, 12 Apr 2021 11:27:25 +0000 (14:27 +0300)]
intel/devinfo: use compatible type for ARRAY_SIZE
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10015>
Lionel Landwerlin [Sat, 3 Apr 2021 10:34:11 +0000 (13:34 +0300)]
intel/perf: fix perf equation subslice mask generation for gfx12+
v2: Fix comment change (Marcin)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10015>
Lionel Landwerlin [Sat, 3 Apr 2021 10:28:50 +0000 (13:28 +0300)]
intel/dev: fix subslice/eu total computations with some fused configurations
When a device has its first slice/subslice fused off, we can't use the
number of slices/subslices to iterate the mask array.
v2: Fix spelling (Marcin)
Use size_t for iterator (Marcin)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reported-by: Matt Roper <matthew.d.roper@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5601
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10015>
Lionel Landwerlin [Sat, 3 Apr 2021 10:23:55 +0000 (13:23 +0300)]
intel/dev: reuse internal functions to set mask
Rather than having 2 paths to set the slice/subslice/eu masks, reuse
the other internal functions. This simplifies finding bugs within this
code :
* If we have i915 query topology support, update_from_topology() is
called.
* If we don't have query topology support but we have getparam for
slice/subslice/EU, we generate a topology data and call
update_from_topology()
* If we have no kernel support to query any kind of topology, we
generate the values return by the kernel for slice/subslice/EU and
call update_from_masks() which in turns calls
update_from_topology()
v2: Fixup typo (Adam)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10015>
Lionel Landwerlin [Sat, 3 Apr 2021 11:21:32 +0000 (14:21 +0300)]
intel/dev: don't forget to set max_eu_per_subslice in generated topology
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10015>
Lionel Landwerlin [Sat, 3 Apr 2021 10:22:50 +0000 (13:22 +0300)]
intel/dev: fix HSW GT3 number of subslices in slice1
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: <mesa-stable@lists.freedesktop.org>
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10015>
Rhys Perry [Thu, 4 Nov 2021 10:32:13 +0000 (10:32 +0000)]
nir/algebraic: optimize Cyberpunk 2077's open-coded bitfieldReverse()
fossil-db (Sienna Cichlid):
Totals from 9 (0.01% of 128647) affected shaders:
CodeSize: 29900 -> 28640 (-4.21%)
Instrs: 5677 -> 5443 (-4.12%)
Latency: 96561 -> 95025 (-1.59%)
Copies: 571 -> 544 (-4.73%)
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13673>
Pierre-Eric Pelloux-Prayer [Tue, 2 Nov 2021 13:05:24 +0000 (14:05 +0100)]
mesa: remove NEW_COPY_TEX_STATE
Since _NEW_PIXEL isn't handled in _mesa_update_state anymore, we can
replace NEW_COPY_TEX_STATE by _NEW_BUFFERS.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13596>
Pierre-Eric Pelloux-Prayer [Tue, 2 Nov 2021 13:01:06 +0000 (14:01 +0100)]
mesa: always call _mesa_update_pixel
10c75ae4 moved handling of this state to the functions that
depend on ctx->_ImageTransferState.
So we can't depend on _NEW_PIXEL being set to call this function,
since it'll be always clear earlier by _mesa_update_state_locked.
Example sequence that would trigger the issue:
glPixelTransferi(...)
glClear(...)
glTexSubImage2D(...) <-- won't use the new value set by
glPixelTransferi because glClear caused
_NEW_PIXEL to be cleared.
_NEW_PIXEL itself is kept because st_update_pixel_transfer depends
on it.
Fixes:
10c75ae4 ("mesa: move _mesa_update_pixel out of _mesa_update_state")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5273
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13596>
Samuel Pitoiset [Thu, 4 Nov 2021 17:21:40 +0000 (18:21 +0100)]
Revert "radv: only enable VK_EXT_display_control for vrcompositor (SteamVR)"
It's fixed now.
This reverts commit
db7ad0c1700e2f012730898e02bc0cebf1b04304.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13682>
orbea [Wed, 3 Nov 2021 22:02:11 +0000 (15:02 -0700)]
build: add sha1_h for lp_texture.c
../mesa-9999/src/gallium/drivers/llvmpipe/lp_texture.c:55:10: fatal error: git_sha1.h: No such file or directory
Fixes:
1608a815e3305d229091 ("llvmpipe: add support for EXT_memory_object(_fd)")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Signed-off-by: orbea <orbea@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13665>
Jordan Justen [Tue, 2 Nov 2021 10:36:04 +0000 (03:36 -0700)]
iris: Use mi_builder in iris_load_indirect_location()
For example, this allows us to take advantage of command-streamer
based register offsets in mi_builder.
Ref:
06cf838cbdc ("intel/mi_builder: Support gen11 command-streamer based register offsets")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13652>
Mike Blumenkrantz [Thu, 4 Nov 2021 16:53:41 +0000 (12:53 -0400)]
Revert "gallium/u_blitter: work around broken sample shading in llvmpipe and zink"
This reverts commit
8b287c3f925121d9389df9846024d9c350cbb235.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13679>
Mike Blumenkrantz [Thu, 4 Nov 2021 16:58:13 +0000 (12:58 -0400)]
gallivm: handle TGSI SampleId sysval
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13679>
Mike Blumenkrantz [Thu, 4 Nov 2021 15:43:56 +0000 (11:43 -0400)]
lavapipe: add some asserts for descriptor dynamic offsets
ensure that this explodes if there aren't enough offsets
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13677>
Mike Blumenkrantz [Thu, 4 Nov 2021 15:24:05 +0000 (11:24 -0400)]
zink: rework cached fbfetch descriptor fallback
this ended up being a little trickier than I thought; lazy
descriptors don't use dynamic ubo types for the push set,
which means drivers that (correctly) assert dynamic offset existence
explode because the descriptor template will never work with the
push set
the better, though slightly more annoying, option here is to use the
lazy manager's faster descriptor allocation and lesser complexity to
quickly grab a push set, then tweak the existing cached codepath slightly
in order to update a raw vkdescriptorset
Fixes:
417477f60ed ("zink: always use lazy (non-push) updating for fbfetch descriptors")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13677>
Jesse Natalie [Sat, 18 Sep 2021 01:53:02 +0000 (18:53 -0700)]
d3d12: Don't accumulate timestamp queries
If an app re-issues a timestamp query a lot, but doesn't ever ask
for the results, we could end up running off the end of our query
heap. But we don't actually need to advance/accumulate, so just
use a single entry in the heap.
Reviewed By: Bill Kristiansen <billkris@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12920>
Emma Anholt [Wed, 3 Nov 2021 20:29:28 +0000 (13:29 -0700)]
freedreno/ir3: Fix off-by-one in prefetch safety assert.
This looks like just a typo, we allow up to == 0xf in the lowering pass.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13668>
Emma Anholt [Wed, 3 Nov 2021 20:15:45 +0000 (13:15 -0700)]
freedreno/a5xx: Clean up a little bit of blitter array pitch setup.
We have a nice helper function for determining an array pitch.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13668>
Emma Anholt [Wed, 3 Nov 2021 19:27:21 +0000 (12:27 -0700)]
freedreno/a5xx: Try to fix drawing to z/s miplevel/layer offsets.
Terrifyingly, no testcases are fixed by this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13668>
Emma Anholt [Thu, 4 Nov 2021 17:27:42 +0000 (10:27 -0700)]
freedreno/a5xx: Remove bogus assertion about BO size.
The slice->size0 temp is being used as both the array stride (incorrectly)
and as the size of the slice (for this assert). This assert doesn't seem
to be in the right place to me, if you want to check that offset+slice
size is < bo size, you could just do that at the end of layout setup.
This caused troubles when fixing the temp to be the actual array stride
for filling out the HW state, since then rendering to nonzero levels would
think that the rendering overflowed the BO when it doesn't.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13668>
Emma Anholt [Wed, 3 Nov 2021 19:21:18 +0000 (12:21 -0700)]
freedreno/a6xx: Try to fix drawing to z/s miplevel/layer offsets.
Terrifyingly, no testcases are fixed by this.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13668>
Emma Anholt [Thu, 4 Nov 2021 16:21:18 +0000 (09:21 -0700)]
freedreno/a5xx: Diff reduction in fd5_layout to fd6_layout.
This should be exactly equivalent code, except for the is_3d "level <= 1"
which doesn't bring over
6c19d3733185 ("freedreno/a6xx: fix 3d tex
layout") due to it failing our unit tests where we compare to the blob's
behavior. The layer_stride setup is pulling in what freedreno_resource.c
was doing after the layout setup, so we match fd6 and so that it could
potentially be checked in unit testing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13668>
Caio Oliveira [Thu, 29 Apr 2021 22:10:57 +0000 (15:10 -0700)]
intel/blorp: Add option to emit packets that disable Mesh
If a driver doesn't support Mesh, don't emit anything.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13660>
Caio Oliveira [Wed, 7 Jul 2021 19:41:57 +0000 (12:41 -0700)]
intel/dev: Add an intel_device_info::has_mesh_shading bit
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13660>
Marcin Ślusarz [Thu, 29 Jul 2021 13:20:15 +0000 (15:20 +0200)]
intel/decoder: Dump Task/Mesh shaders
Signed-off-by: Marcin Ślusarz <marcin.slusarz@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13657>
Caio Oliveira [Thu, 20 May 2021 18:46:37 +0000 (11:46 -0700)]
intel/genxml: Inline the BODY structs into the instructions
Follows the convention used in other instructions.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13657>
Caio Oliveira [Wed, 10 Feb 2021 04:07:38 +0000 (20:07 -0800)]
intel/genxml: Add Mesh Shading structures
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Jordan Justen <jordan.l.justen@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13657>
Jesse Natalie [Thu, 4 Nov 2021 16:45:12 +0000 (09:45 -0700)]
u_prim_restart: Fix index scanning with start offset
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13681>
Mike Blumenkrantz [Mon, 1 Nov 2021 16:48:39 +0000 (12:48 -0400)]
aux/primconvert: handle singular incomplete restarts
if no restart indices are found, this draw must be discarded to avoid
crashing later on
Fixes:
583070748cb ("util/primconvert: handle rewriting of prim-restart draws with unsupported primtype")
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13630>
Emma Anholt [Wed, 3 Nov 2021 22:11:39 +0000 (15:11 -0700)]
freedreno/a5xx+: Fix missing LA formats.
GL_ARB_texture_buffer_object uses these formats, and we expose it. Since
we didn't have the formats in the table, we we were using bad HW
texture/color formats for them.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13666>
Emma Anholt [Wed, 3 Nov 2021 22:59:52 +0000 (15:59 -0700)]
freedreno/a6xx: Don't try to generate mipmaps for SNORM with our blitter.
Since we're casting to unorm, the linear filtering will give bad results.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13666>
Jason Ekstrand [Tue, 2 Nov 2021 20:49:27 +0000 (15:49 -0500)]
intel: Add has_bit6_swizzle to devinfo
There's no good reason to have this rather complex check in three
drivers.
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13636>
Marek Olšák [Fri, 29 Oct 2021 07:09:47 +0000 (03:09 -0400)]
vbo: utilize structure padding to optimize indirection cold->prims[0].begin
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13589>
Marek Olšák [Sat, 30 Oct 2021 16:23:38 +0000 (12:23 -0400)]
radeonsi: increase tc_max_cpu_storage_size
Viewperf benefits. The number is only slightly above the size we need.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603>
Marek Olšák [Sat, 30 Oct 2021 15:43:42 +0000 (11:43 -0400)]
radeonsi: fix a typo preventing a fast depth-stencil clear
Fixes:
9defe8aca953b69615728c8 - radeonsi: implement fast Z/S clears using clear_buffer on HTILE
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603>
Marek Olšák [Fri, 29 Oct 2021 19:36:05 +0000 (15:36 -0400)]
radeonsi: allow and finish TC-compatible MSAA HTILE
This improves perf for Catia by 4%.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603>
Marek Olšák [Fri, 29 Oct 2021 17:22:43 +0000 (13:22 -0400)]
radeonsi: rename stencil_cleared_level_mask -> stencil_cleared_level_mask_once
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603>
Marek Olšák [Fri, 29 Oct 2021 18:02:53 +0000 (14:02 -0400)]
radeonsi: add a faster clear path for glClearTexImage
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603>
Marek Olšák [Fri, 29 Oct 2021 17:27:54 +0000 (13:27 -0400)]
radeonsi: fix 2 issues with depth_cleared_level_mask
- Unset depth_cleared_level_mask for non-clear blits. Set the flag after
the clear, so that we don't have to check blitter_running.
- Set depth_cleared_level_mask only when we set depth_clear_value.
Fixes:
ff8a930cf7de6aa7 - radeonsi: add _once suffix to depth_cleared_level_mask
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13603>
Tapani Pälli [Mon, 1 Nov 2021 05:31:19 +0000 (07:31 +0200)]
vulkan/wsi: implement missing wsi_register_device_event
These changes implement vkRegisterDeviceEventEXT and detection of
monitor hotplug. Wsi launches a thread that listens to udev events and
signals the appropriate device fences when hotplug hapens.
v2: use wsi fences instead of syncobj api (Jason Ekstrand)
v3: refactor + cleanups, create thread on demand (Samuel Pitoiset)
v4: bring back syncobj support from initial version for radv
v5: make libudev dependency optional, check for poll errors (Simon Ser)
v6: change matching mechanism to use udev device node instead of path
v7: remove the matching mechanism
v8: fix a race with thread creation + use single mutex + other cleanups
(Jason Ekstrand)
Fixes:
dEQP-VK.wsi.display_control.register_device_event
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305>
Tapani Pälli [Thu, 14 Oct 2021 11:45:19 +0000 (14:45 +0300)]
anv: setup syncobj fd via wsi_device_setup_syncobj_fd
Patch moves initialization of variable so that we have fd when calling
wsi initialization.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305>
Tapani Pälli [Thu, 14 Oct 2021 11:44:41 +0000 (14:44 +0300)]
radv: setup syncobj fd via wsi_device_setup_syncobj_fd
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305>
Tapani Pälli [Thu, 14 Oct 2021 11:43:00 +0000 (14:43 +0300)]
vulkan/wsi: provide api for drivers to setup syncobj fd
Drivers that import sync_fd to the wsi fences can use this to set file
descriptor for syncobj related calls. This fixes permission errors when
registering display/device events and importing sync_fd from driver
side.
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12305>
Mike Blumenkrantz [Wed, 3 Nov 2021 16:00:36 +0000 (12:00 -0400)]
zink: add khr46 to ci
this blocks out all the very long tests and marks failures as needed
to improve the coverage of ci
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13656>
Mike Blumenkrantz [Wed, 3 Nov 2021 19:41:40 +0000 (15:41 -0400)]
zink: remove lazy ci job
the push descriptor coverage for lavapipe should be okay in ci now, and
that was the point of adding this job
Acked-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13656>
Joshua Ashton [Tue, 21 Sep 2021 10:10:05 +0000 (11:10 +0100)]
nvc0: Fix uninitialized width/height/depth warning.
This can happen if view->resource is false.
Fixes a warning in GCC 9+ that's been bugging me for a very long time when building Mesa.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12955>
Marek Olšák [Thu, 4 Nov 2021 13:56:49 +0000 (09:56 -0400)]
gallium/u_blitter: work around broken sample shading in llvmpipe and zink
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602>
Marek Olšák [Fri, 29 Oct 2021 15:56:52 +0000 (11:56 -0400)]
gallium/u_blitter: do MSAA copies in 1 pass using sample shading
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602>
Marek Olšák [Fri, 29 Oct 2021 14:59:51 +0000 (10:59 -0400)]
gallium/u_blitter: disable sample shading for all blits
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602>
Marek Olšák [Fri, 29 Oct 2021 13:40:28 +0000 (09:40 -0400)]
gallium/util: fix util_can_blit_via_copy_region with unbound render condition
It returned false when a render condition was not bound, but it should
have returned true.
The bool stuff is random and incomplete, but that's life.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13602>
Mike Blumenkrantz [Mon, 1 Nov 2021 14:44:59 +0000 (10:44 -0400)]
zink: clamp PIPE_SHADER_CAP_MAX_INPUTS for xfb
vertex shader stages that can produce xfb must have
their input size clamped to the compiler define MAX_VARYING
to successfully be able to export an xfb output for each input
fixes KHR-GL46.geometry_shader.limits.max_input_components
cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13632>
Mike Blumenkrantz [Mon, 1 Nov 2021 17:13:31 +0000 (13:13 -0400)]
zink: do a better job conserving locations for packed xfb outputs
if an entire vec4 is exported to xfb, mark it as an explicit xfb buffer
whenever possible to avoid blowing out the location limit
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13632>
Pierre-Eric Pelloux-Prayer [Tue, 12 Oct 2021 09:54:46 +0000 (11:54 +0200)]
drirc: add options for BETA CAE Ansa application.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364>
Pierre-Eric Pelloux-Prayer [Tue, 12 Oct 2021 09:53:28 +0000 (11:53 +0200)]
drirc: add mesa_extension_override option
This allows specific per-application override.
The existing MESA_EXTENSION_OVERRIDE env variable is kept.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364>
Pierre-Eric Pelloux-Prayer [Tue, 12 Oct 2021 09:52:22 +0000 (11:52 +0200)]
mesa/init: replace call_once with manual implementation
This will be useful to add parameters to one_time_init().
_MTX_INITIALIZER_NP and Windows don't play nice together,
so I had to keep a call_once() to initialize the mutex.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364>
Pierre-Eric Pelloux-Prayer [Tue, 12 Oct 2021 09:50:15 +0000 (11:50 +0200)]
mesa: don't use dummy_true for some MESA extensions
Otherwise we can't use MESA_EXTENSION_OVERRIDE, or rather: disabling one
extension using dummy_true will disable all others.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364>
Pierre-Eric Pelloux-Prayer [Fri, 15 Oct 2021 07:25:44 +0000 (09:25 +0200)]
mesa: print a warning when an extension can't be disabled
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13364>
Iago Toral Quiroga [Thu, 4 Nov 2021 12:41:20 +0000 (13:41 +0100)]
broadcom/compiler: copy packing when converting add to mul
Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13675>
Timur Kristóf [Tue, 19 Oct 2021 15:37:55 +0000 (17:37 +0200)]
radv: Use MESA_VULKAN_SHADER_STAGES to make room for mesh/task.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13440>
Pierre-Eric Pelloux-Prayer [Wed, 6 Oct 2021 12:50:09 +0000 (14:50 +0200)]
llvmpipe: add missing NIR alu-op handling
nir_op_bcsel implemented based on ac_nir_to_llvm.c emit_bcsel function.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13246>
Pierre-Eric Pelloux-Prayer [Wed, 6 Oct 2021 12:49:01 +0000 (14:49 +0200)]
mesa: enable force_direct_glx_context for DiscoveryStudio2020
This app uses Qt4.8 which uses an indirect context to save a GL scene to
a pixmap.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13246>
Pierre-Eric Pelloux-Prayer [Thu, 7 Oct 2021 10:14:44 +0000 (12:14 +0200)]
glx/drirc: add a force_direct_glx_context option
Some applications may request an indirect context but this feature is
disabled by default on Xorg and thus context creation will fail.
This commit adds a drirc setting to force the creation of direct glx
context, regardless of what the app is requesting.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13246>
Pierre-Eric Pelloux-Prayer [Mon, 4 Oct 2021 09:18:47 +0000 (11:18 +0200)]
vbo/dlist: free copied.buffer if no vertices were copied
Other parts of the code asserts that copied.buffer is NULL if there are
no vertices to copy.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13246>