Mike Blumenkrantz
56452230ab
zink: move batch init into zink_batch.c
...
this consolidates more batch code into the batch file
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
fc27594943
zink: move active query pruning to batch reset
...
this didn't ever really need to be on the fence in the first place
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
6aa791f626
zink: split out batch resource-set clearing into separate function
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
ecb50b37a9
zink: return enum zink_queue from zink_batch_reference_resource_rw()
...
this is a little cleaner
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
870e0e73d7
zink: abstract zink_get_resource_usage() and move it to be internal
...
I'll be rewriting how resource tracking works, so abstracting it and removing
direct uses is going to reduce the chances of breaking things as well as code churn
plus it's a bit easier to use
downside is that until that rewrite happens, this will be a (very small) perf hit and
there's some kinda gross macros involved to consolidate code
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
62b10ad1b8
zink: convert ZINK_RESOURCE_ACCESS defines to enum
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
c5390b2ef7
zink: refactor resource_sync_writes_from_batch_usage() to manage batch id internally
...
this is always used the same way, so we can simplify the code a bit for future use
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
304ee56cab
zink: add enum for different queues
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
49efef9d55
zink: add a pipe_context::fence_server_sync hook
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9626 >
2021-03-17 23:01:28 -04:00
Mike Blumenkrantz
6d005ba3fc
zink: more consolidation for null sampler/image view hashing
...
by using the new helper functions, this is even more consistent
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9625 >
2021-03-18 02:51:21 +00:00
Mike Blumenkrantz
c22e56f454
zink: ci updates
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9673 >
2021-03-18 02:40:56 +00:00
Mike Blumenkrantz
e02d1eb950
zink: always use requested format for sampler view creation
...
this should be fine and good
Fixes: c768c5297a ("zink: force stencil format for stencil-only samplers and swizzle the right component")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9673 >
2021-03-18 02:40:56 +00:00
Neha Bhende
c6c532faa8
gallium/u_vbuf: use updated pipe_draw_start_count while using draw_vbo
...
new_draw has updated draw count. Stale info in draw caused regression
with piglit gl-3.0-multidrawarrays-vertexid -indirect
fixes piglit test ./gl-3.0-multidrawarrays-vertexid -indirect
Fixes: 1cd455b17b ("gallium: extend draw_vbo to support multi draws")
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9656 >
2021-03-18 02:09:45 +00:00
Mauro Rossi
1b9d8d7fdf
android: util: create some standalone compression helpers
...
Fixes the following building errors:
FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/vulkan.android-x86_intermediates/LINKED/vulkan.radv.so
...
ld.lld: error: undefined symbol: util_compress_inflate
>>> referenced by disk_cache_os.c:459 (external/mesa/src/util/disk_cache_os.c:459)
...
ld.lld: error: undefined symbol: util_compress_max_compressed_len
>>> referenced by disk_cache_os.c:614 (external/mesa/src/util/disk_cache_os.c:614)
...
ld.lld: error: undefined symbol: util_compress_deflate
>>> referenced by disk_cache_os.c:622 (external/mesa/src/util/disk_cache_os.c:622)
Fixes: d7ecbd5bf8 ("util: create some standalone compression helpers")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9613 >
2021-03-18 01:31:31 +00:00
Neha Bhende
edbbf4537b
mesa: set states in fast path for restoring light attributes
...
Since states were not updated in fast path for restoring light attributes,
seen darker images in solidworks2012_viewprt.trace
Fixes regression seen with solidworks2012_viewport.trace
Fixes: 7fa9d9d06c ("mesa: add a fast path for restoring light attributes")
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9657 >
2021-03-18 01:06:39 +00:00
Jordan Justen
df5607d2ef
anv: Use fallback paths if DRM_I915_QUERY_ENGINE_INFO fails
...
Anvil can handle if this call fails, but not if we assert. :)
Reported-by: Brian Paul <brianp@vmware.com >
Fixes: 5d84c764fd ("anv: Gather engine info from i915 if available")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9664 >
2021-03-18 00:54:29 +00:00
Jason Ekstrand
91192696e6
intel/fs: Add support for 16-bit A64 float and integer atomics
...
The messages for those 16-bit operations still use 32-bit sources and
destinations, so expand them accordingly when building the payload.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8750 >
2021-03-18 00:13:40 +00:00
Jason Ekstrand
a572471edc
spirv: Add support for SPV_EXT_shader_atomic_float_min_max
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8750 >
2021-03-18 00:13:40 +00:00
Jason Ekstrand
1ba9c262fd
nir: Add image atomic_fmin/fmax intrinsics
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8750 >
2021-03-18 00:13:40 +00:00
Caio Marcelo de Oliveira Filho
302183d635
nir: Handle deref_atomic_fadd in a couple of passes
...
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8750 >
2021-03-18 00:13:40 +00:00
Caio Marcelo de Oliveira Filho
ba8ef1df9b
spirv: Update headers and metadata from latest Khronos commit
...
This corresponds to bcf55210f13a4fa3c3d0963b509ff1070e434c79
("Merge pull request #178 from orbea/datadir") in
https://github.com/KhronosGroup/SPIRV-Headers .
Acked-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8750 >
2021-03-18 00:13:40 +00:00
Dave Airlie
23100f3b65
lavapipe: bump maxMemoryAllocationCount
...
not sure why this was so low
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9644 >
2021-03-18 00:01:08 +00:00
Marek Olšák
0bbae3139e
st/mesa: add a driconf option to transcode ETC2 to DXTC
...
for performance analysis
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9357 >
2021-03-17 23:33:09 +00:00
Lionel Landwerlin
8b6d22109f
intel/fs/vec4: add missing dependency in write-on-write fixed GRFs
...
If we load constant data using pull constant SENDS, and we later load
that register with some other data, we can end up in a situation where
we don't track the initial fixed register write and therefore end up
using uninitialized registers.
This tracks write-on-write of fixed GRFs like we do for normal virtual
GRFs.
v2: Fix post_alloc_reg case (Jason)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Cc: <mesa-stable@lists.freedesktop.org >
Reviewed-by: Francisco Jerez <currojerez@riseup.net >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9667 >
2021-03-17 23:25:02 +00:00
Adam Jackson
3c72c86742
zink: Wire up ARB_post_depth_coverage
...
Just a matter of passing the bits through in the right place.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9637 >
2021-03-17 23:15:12 +00:00
Marek Olšák
c49d88f6b2
mesa: fix parameter reservation size
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9360 >
2021-03-17 22:43:01 +00:00
Marek Olšák
94f41b8a09
mesa: clear reserved parameter storage because it's stored in the shader cache
...
The elements might not be initialized and we don't want random bytes
in the shader cache.
Discovered by valgrind.
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9360 >
2021-03-17 22:43:01 +00:00
Marek Olšák
bcc61a01d4
mesa: don't overallocate ParameterValues 4 times (v2)
...
The additional memory was never used.
v2: rework
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9360 >
2021-03-17 22:43:01 +00:00
Marek Olšák
e91dec36bc
mesa: fix a oldNum typo in reallocation in _mesa_reserve_parameter_storage
...
oldNum was incorrect. oldValNum is the correct number of elements
to copy inside realloc. (oldNum is for Parameters, not ParameterValues)
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9360 >
2021-03-17 22:43:01 +00:00
Marek Olšák
aa748ef7e5
mesa: add assertions for buffer reference counts
...
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9360 >
2021-03-17 22:43:01 +00:00
Marek Olšák
ae0ce3e3ba
mesa: fix Blender crash due to optimizations in buffer reference counting
...
The problem was that I assumed that deleted zombie buffers can't have any
references in the context, so buffers were released sooner than they should
have been.
The fix is to count the non-atomic references in the new field
gl_buffer_object::CtxRefCount. When we detach the context from the buffer,
we can just add CtxRefCount to RefCount to re-enable atomic reference
counting. This also allows removing code that was doing a similar thing.
Fixes: e014e3b6be "mesa: don't count buffer references for the context that created them"
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4259
Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9360 >
2021-03-17 22:43:01 +00:00
Marek Olšák
a94bd9033d
radeonsi: use pipe_sampler_state::border_color_is_integer to simplify stuff
...
We don't need the separate integer sampler state if we know the border
color type.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9577 >
2021-03-17 22:36:42 +00:00
Michel Dänzer
1f8e4ec7d1
ci: Don't run meson tests in strace for meson-mingw32-x86_64 job
...
There have been repeated timeouts:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/3437#note_842273
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9648 >
2021-03-17 21:11:09 +00:00
Axel Davy
ff6f11acdc
radeonsi: fix leak when the in-memory cache is full
...
When the hw_binary is not put in the in-memory
cache it must be freed.
Fixes: 8283ed65cf ("radeonsi: Limit the size of the in-memory shader cache")
Signed-off-by: Axel Davy <davyaxel0@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9587 >
2021-03-17 21:05:06 +00:00
Simon Ser
0c4ac28957
gbm: remove fprintf calls in gbm_dri_bo_create
...
These errors can be handled by the caller. The caller can't guess
whether the GBM implementation supports modifiers, for instance.
Signed-off-by: Simon Ser <contact@emersion.fr >
References: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7601#note_778845
Reviewed-by: Daniel Stone <daniel@fooishbar.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8715 >
2021-03-17 20:47:52 +00:00
Simon Ser
00dad26ce2
gbm: fail early when modifier list only contains INVALID
...
The current check only accomodates for a list with a single INVALID
item. However the driver won't be able to pick any modifier if the
list only contains INVALID. This includes the following cases:
- The modifier list is empty (count == 0)
- The modifier list contains more than a single item, but all items
are INVALID
In these cases, also fail early.
Signed-off-by: Simon Ser <contact@emersion.fr >
References: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7601#note_778845
Reviewed-by: Daniel Stone <daniel@fooishbar.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8715 >
2021-03-17 20:47:52 +00:00
Mike Blumenkrantz
d85d780202
zink: switch to deqp-runner for piglit jobs
...
There's a few changes in the expected results. First of all, there's a
few failures that are now interpreted as crashes. These test are:
- glx@glx-visuals-depth
- glx@glx-visuals-depth -pixmap
- glx@glx-visuals-stencil
- glx@glx-visuals-stencil -pixmap
Secondly, and more surprisingly, there's three tests that were
previously passing, but are now failing. These are all EGL-related, so
it's likely that there's some EGL interaction that is different with the
new runner. These tests are:
- spec@egl 1.4@eglterminate then unbind context
- spec@egl_khr_surfaceless_context@viewport
- spec@egl_mesa_configless_context@basic
commit log and skiplist by Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9630 >
2021-03-17 20:15:02 +00:00
Eric Anholt
a917cafdd7
ci/freedreno: Mark the rest of the glx_arb_sync_control@timing as flakes.
...
IIRC I've seen -msc-delta 2 flake set, so just complete the set.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9660 >
2021-03-17 18:10:44 +00:00
Eric Anholt
2b8a73f949
ci/freedreno: Mark an a630 piglit flake from async shader compiling.
...
It seems that right around when we enabled piglit, some timing also
changed so this one started flaking.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9660 >
2021-03-17 18:10:44 +00:00
Jason Ekstrand
4079279051
anv/apply_pipeline_layout: Add support for A64 descriptor access
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
b704d03efd
anv: Do UBO loads with global addresses for bindless
...
This makes UBO loads in the variable pointers or bindless case work just
like SSBO loads in the sense that they use A64 messages and 64-bit
global addresses. The primary difference is that we have an
optimization in anv_nir_lower_ubo_loads which uses a (possibly
predicated) block load message when the offset is constant so we get
roughly the same performance as we would from plumbing load_ubo all the
way to the back-end.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
61749b5a15
anv: Add a pass for lowering A64 UBO access
...
Instead of load_global_constant_offset/bounded, we want to use the
Intel-specific block load intrinsic whenever we can. This way we get
the same wide block loads that we usually use for constant offset UBO
pulls with a binding table.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
c8748771bb
nir/lower_io: Support global addresses for UBOs in nir_lower_explicit_io
...
For nir_address_format_64bit_global_32bit_offset and
nir_address_format_64bit_bounded_global, we use a new intrinsics which
take the base address and offset as separate parameters. For bounds-
checked access, the bound is also included in the intrinsic. This gives
the drive more control over the bounds checking so that UBOs don't
suddenly become massively more expensive.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
bd65e4d199
anv/apply_pipeline_layout: Use the new helpers for images
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
4113a3750c
anv/apply_pipeline_layout: Use the new helpers for early lowering
...
This also means that some of the newly added helpers need to grow a bit
to support VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_DATA_EXT.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
93126b641c
anv/apply_pipeline_layout: Rework the desc_addr_format helper
...
We're about to add a new helper which is more detailed.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
f95134a0fe
anv/apply_pipeline_layout: Refactor all our descriptor address builders
...
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
42de744155
anv/apply_pipeline_layout: Apply dynamic offsets in load_ssbo_descriptor
...
This function has exactly two call sites. The first is where we had
these calculations before. The second only cares about the size of the
SSBO so all the extra code we emit will be dead. However, NIR should
easily clean that up and this lets us consolidate things a bit better.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
8a61e3a0c0
anv: Zero out the last dword of UBO/SSBO descriptors in the shader
...
This way, NIR can constant fold it.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00
Jason Ekstrand
422798caef
anv: Rework the 64bit_bounded_global resource index format
...
Instead of packing the descriptor offset into the packed portion, use
that unused channel we have lying around. This potentially allows for
larger descriptor sets. We also re-arrange the components a bit to make
it more like the 64bit_bounded_global memory address format.
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8635 >
2021-03-17 17:49:59 +00:00