Commit Graph

137434 Commits

Author SHA1 Message Date
Jesse Natalie f3db2963ce wgl: Add unit test infrastructure for OpenGL32.dll on Windows
Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9959>
2021-04-01 16:19:41 +00:00
Jesse Natalie cbd38b8809 d3d12: Use CreateDXGIFactory2 and use the debug flag when appropriate
This enables leak detection and other debug messages for DXGI objects

Reviewed-By: Bill Kristiansen <billkris@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9959>
2021-04-01 16:19:41 +00:00
Mike Blumenkrantz fb5615af40 zink: zink_push_constant -> zink_gfx_push_constant
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9979>
2021-04-01 11:28:44 -04:00
Samuel Pitoiset 4fc13a7321 radv: use a sampled image descriptor for reads for the MSAA color decompress
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9915>
2021-04-01 13:57:02 +00:00
Mike Blumenkrantz ace0b16e8e zink: use VkSubresourceLayout::depthPitch as layer_stride when mapping 3D imgs
this is not only more correct according to vk spec, it avoids having a 0-sized
layer_stride, which totally breaks the transfer map

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9969>
2021-04-01 13:43:22 +00:00
Mike Blumenkrantz 83bee837e5 zink: be more explicit about blit layer/depth usage
same as for resource copying, ensure that it's very clear we're abiding
by vk spec for array vs 3d usage

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9969>
2021-04-01 13:43:22 +00:00
Jason Ekstrand d5b56debde anv: Implement VK_EXT_conservative_rasterization
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4480
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9960>
2021-04-01 13:34:55 +00:00
Mike Blumenkrantz bbb00f739c zink: enforce device lost status
many apps don't request device-lost notification, so just calling the reset
callback isn't enough; once the device has been lost, no more cmdbufs should
be submitted and the queue should not be waited on

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9963>
2021-04-01 13:25:51 +00:00
Mike Blumenkrantz 357b54c9bb zink: optimize batch states for timeline use
finishing a timeline wait guarantees that a given fence has completed,
meaning the accompanying batch static is implicitly available for use

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9963>
2021-04-01 13:25:51 +00:00
Mike Blumenkrantz 4dbeb92c7e zink: add timeline semaphore fastpath for checking/triggering batch completion
we can avoid locking to access batch states in these cases by just using a semaphore
to fast-forward the gpu to the batch we need completed

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9963>
2021-04-01 13:25:51 +00:00
Mike Blumenkrantz 9a13add12e zink: hook up timeline semaphore signalling during batch submission
just basic parts, no waiting on semaphores yet

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9963>
2021-04-01 13:25:51 +00:00
Mike Blumenkrantz 2d38fb7e61 zink: handle expired deferred fences more reasonably
now that there's some tracking for the last-finished batch id, this can
be used to detect when an application holds onto a sync object for way too long,
to the point that the sync object has expired so far into the past that we
no longer have any record of it existing

fixes things like unigine superposition

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9963>
2021-04-01 13:25:51 +00:00
Mike Blumenkrantz a4e34f40a3 zink: track last completed batch id to optimize checking states
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9963>
2021-04-01 13:25:51 +00:00
Mike Blumenkrantz 122d01e73a zink: add batch tracking id for program struct
this reduces overhead of batch tracking

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9967>
2021-04-01 13:17:25 +00:00
Mike Blumenkrantz 1fdd906b21 zink: add set_context_param hook
for handling PIPE_CONTEXT_PARAM_PIN_THREADS_TO_L3_CACHE

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9970>
2021-04-01 13:08:19 +00:00
Mike Blumenkrantz a084d012a9 zink: handle PIPE_MAP_DONTBLOCK for buffer read maps
this is mostly used by queries

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9962>
2021-04-01 12:57:51 +00:00
Rhys Perry cc7a187411 nir/gather_info: implement partial masking of struct and compact I/O
fossil-db (Sienna):
Totals from 138 (0.10% of 138791) affected shaders:
CodeSize: 504060 -> 482136 (-4.35%)
Instrs: 97318 -> 94518 (-2.88%)
Cycles: 389272 -> 378072 (-2.88%)
VMEM: 14397 -> 14614 (+1.51%); split: +1.76%, -0.25%
SMEM: 9088 -> 9024 (-0.70%)
VClause: 2915 -> 2430 (-16.64%)
SClause: 1790 -> 1791 (+0.06%)
PreVGPRs: 5013 -> 4998 (-0.30%)

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8364>
2021-04-01 10:15:44 +00:00
Rhys Perry 8731a1beb7 lavapipe: fix initialization of pipe_stream_output with unwritten outputs
nir_assign_io_var_locations() does not use outputs_written when assigning
driver locations. Use driver_location to avoid incorrectly guessing what
locations it assigned.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8364>
2021-04-01 10:15:44 +00:00
Tony Wasserka 47ed5c57df gitlab: rename RADV bug report template
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Acked-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9923>
2021-04-01 10:02:39 +00:00
Erik Faye-Lund 22fac1b682 docs: no-op'd -> disabled
"Disabled" is a common English word, that perfectly covers this usage.
So let's use that instead of this non-dictionary word.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9947>
2021-04-01 08:33:41 +00:00
Erik Faye-Lund a6e62c83ec docs: spell out freedesktop.org
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9947>
2021-04-01 08:33:41 +00:00
Erik Faye-Lund 86196fa3c0 docs: spell out environment
Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9947>
2021-04-01 08:33:41 +00:00
Erik Faye-Lund 24db6ee03f docs: spell out development
The "-devel"-suffix is only helpful to RedHat users. Debian based
distros use "-dev" instead. But let's get out of the distro-specific
business, and instead just spell out "development", as this applies
regardless of naming-scheme.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9947>
2021-04-01 08:33:41 +00:00
Erik Faye-Lund 1f35b05ee5 docs: spell out full name of gitlab instance
While we're at it, quote it so it's clear that it's something special.

Reviewed-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9947>
2021-04-01 08:33:41 +00:00
Erik Faye-Lund 69b25cee3b docs: fix rst-quoting issues in release-notes
The first issue is benign, but the other two create rogue, invalid
links.

Fixes: ca79b041cb ("docs: add release notes for 21.0.0")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9710>
2021-04-01 08:15:08 +00:00
Erik Faye-Lund 87b83531bf docs: fix invalid rst
We need a single empty line between the code-block state and the text
in the block, otherwise the rST is invalid and the entire block will be
dropped, as is currently the case on the website.

While we're at it, remove some needless colons from these code-blocks as
well. They're not needed, and we usually don't have these in the docs.

Fixes: a2a8c6a36c ("docs: Add some documentation of game GL buffer object mapping behavior.")
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9710>
2021-04-01 08:15:08 +00:00
Lionel Landwerlin 200e56f84d intel/fs: implement another copy propagation restriction
We are missing an additional restriction on CHV & upcoming Xe-Hp.

v2: Quote BSW PRMs (Curro)
    Check source is not a scalar (Curro)
    Fix comment (Marcin)

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/9929>
2021-04-01 07:48:06 +00:00
Tapani Pälli b2af419391 iris: clamp PointWidth in 3DSTATE_SF like i965 does
Values match how MinimumPointWidth, MaximumPointWidth is setup. This
fixes assert hit in debug build when packing the struct with too large
value for genxml.

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9942>
2021-04-01 10:18:23 +03:00
Vinson Lee ddab996589 Remove leftover dead code.
Fix defect reported by Coverity Scan.

Logically dead code (DEADCODE)
dead_error_line: Execution cannot reach this statement: return;.

Fixes: bdf93f4e3b ("v3dv/cmd_buffer: return early for draw commands if there is nothing to draw")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9890>
2021-03-31 21:04:50 -07:00
Timothy Arceri 3d1022382c glsl: enforce restrictions on builtin functions moved to compat
Section 8.9.4 (Compatibility Profile Texture Functions) of the
GLSL 4.20 spec outlines a number of builtin texture functions that
have been moved to compatibility shaders.

This change enforces those restrictions. Note we don't worry about
enforcing restrictions on the EXT_gpu_shader4 extensions of these
functions because EXT_gpu_shader4 should only be enabled for compat
already.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9887>
2021-04-01 02:41:40 +00:00
Bas Nieuwenhuizen 6dc07a173e zink: Only set the needed number of scissors.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9968>
2021-03-31 20:48:38 -04:00
Bas Nieuwenhuizen bde2291531 zink: Remove initialization of some arrays
We're only using the same number of elements we're writing to.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9968>
2021-03-31 20:48:34 -04:00
Mike Blumenkrantz 6df7d8d40d zink: ci updates
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9935>
2021-03-31 20:16:13 -04:00
Mike Blumenkrantz d179c5d28e zink: implement threaded context
this includes:
* async buffer mapping/replacement
* async queue submission
* async (threaded) gallium flush handling

the main churn here is from handling async gallium flushes, which involves
creating multiple gallium fences (zink_tc_fence) for each zink fence (zink_fence).
a tc fence may begin waiting for completion at any time, even before the zink_fence
has had its cmdbuf(s) submitted, so handling this type of desync ends up needing
almost a complete rewrite of the existing queue architecture

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9935>
2021-03-31 20:16:05 -04:00
Charmaine Lee a442e3ff55 gallivm: increase size of texture target enum bitfield
Need to bump up the size of texture target bitfield for MSVC.

Fixes: 0ce7c4a7c9 ("gallivm: Use the proper enum for the texture target bitfield.")

Reviewed-by: Neha Bhende <bhenden@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9928>
2021-03-31 18:18:13 +00:00
Eric Anholt 0be9a40225 ci/freedreno: Demote a630-asan to a manual test for now.
It's flaky in producing Missing results. I've got an uprev that should
avoid the issue (and possibly a followon actual fix), but it's blocked on
being able to rebuild the arm containers.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9932>
2021-03-31 17:15:27 +00:00
Erik Faye-Lund d448bf8cdd docs: fix incorrect possessive form
When a word ends in an 's', the possessive form ends with a trailing
apostrophe instead.

Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9946>
2021-03-31 16:23:19 +00:00
Erik Faye-Lund 807d86718f docs: dfsm -> DFSM
This abberation is spelled in all-caps other places in this document.

Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9946>
2021-03-31 16:23:19 +00:00
Erik Faye-Lund ece806d07a docs: lex / yacc -> Lex / Yacc
These are names, so use proper nouns for them.

Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9946>
2021-03-31 16:23:19 +00:00
Erik Faye-Lund bd6dbbecb4 docs: lod -> LOD
While we're at it, fix a few cases of incorrect usage of apostrophes.

Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9946>
2021-03-31 16:23:19 +00:00
Erik Faye-Lund 2988729d1b docs: nops -> NOPs
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9946>
2021-03-31 16:23:19 +00:00
Erik Faye-Lund 2f42c21221 docs: Xorg -> X.Org
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9946>
2021-03-31 16:23:19 +00:00
Erik Faye-Lund 9c1b8ce7aa docs: opencl -> OpenCL
Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9946>
2021-03-31 16:23:19 +00:00
Erik Faye-Lund 35bf5c4dca docs: optimisation -> optimization
We generally prefer US English in the docs over UK English.

Acked-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8572>
2021-03-31 18:17:58 +02:00
Samuel Pitoiset 5c8a7fa631 radv: only set WRITE_COMPRESS_ENABLE for storage image descriptors
This will allow us to reduce the number of situations where the
compiler workaround is needed on GFX10.3.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9924>
2021-03-31 17:33:16 +02:00
Danylo Piliaiev 00d6ccebf9 ir3/isa: account for randomly set by blob lowest bit of ibo atomics
As far as I could see - blob randomly sets the lowest bit of atomic.b.*
instructions.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9841>
2021-03-31 15:03:35 +00:00
Adam Jackson f181e61375 ci: Bump the llvmpipe test timeout to 240 seconds
lp_test_blend occasionally exceeds this on s390x, but we don't really
want to lose what little (hah) big-endian coverage we have.

Related: mesa/mesa#3437
Acked-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9921>
2021-03-31 10:47:50 -04:00
Erik Faye-Lund 70066fb036 zink: do not request scoped memory barriers
While barriers in Vulkan are scoped, we do not handle
nir_intrinsic_scoped_barrier, so we do not support them from NIR.

The reason why this hasn't been a problem seems to be that VTN is the
only place that respects them, so we haven't seen them yet.

But if the GLSL compiler starts respecting the setting, things will
start blowing up. There's WIP patches for this in !3339 already.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9949>
2021-03-31 14:07:11 +00:00
Mike Blumenkrantz 71e39c79fd radv: don't reset vertex state params on pipeline bind if reg layout matches
this is unnecessary since the locations will match

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8788>
2021-03-31 13:54:24 +00:00
Mike Blumenkrantz df1c45890d radv: don't emit baseinstance and drawid if neither is used
indirect draw dispatch contributed by Samuel Pitoiset <samuel.pitoiset@gmail.com>

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8788>
2021-03-31 13:54:24 +00:00