Gert Wollny
a03e24aa7f
gallium + mesa/st: Add PIPE_CAP_NIR_ATOMICS_AS_DEREF and use it
...
This cap is useful for drivers that support hardware atomics and need
special handling to resolve their addresses.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6025 >
2020-08-09 13:45:32 +00:00
Eric Engestrom
dd003abd2f
meson: bump required glvnd version
...
https://github.com/KhronosGroup/EGL-Registry/pull/95 has moved
a couple of extensions defines and functions to the upstream `eglext.h`,
but when 9a74746bd1 sync'ed these files we broke compilation
of apps that require these symbols on systems that don't have the
updated Khronos headers.
On non-GLVND builds, we still provide these headers, so everything's
fine, but on GLVND builds the Khronos headers are external so we need to
make sure we have a libglvnd version that's recent enough.
Fixes: 9a74746bd1 ("EGL: sync headers with Khronos")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Acked-by: Daniel Stone <daniels@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6069 >
2020-08-08 17:15:25 +02:00
Eric Engestrom
7fbadfc385
driconf: fix force_gl_vendor description
...
The option is not a toggle to "allow GPU vendor to be overridden", it
*is* the override.
Fixes: dca119f12c ("mesa/gallium: add dric option to allow overriding GL vendor string")
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6207 >
2020-08-08 14:26:08 +00:00
Eric Engestrom
800816d70b
egl/entrypoint-check: add check that GLVND and plain EGL have the same entrypoints
...
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4448 >
2020-08-08 13:45:06 +00:00
Eric Engestrom
351d513e30
egl/entrypoint-check: split sort-check into a function
...
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Reviewed-by: Emil Velikov <emil.velikov@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4448 >
2020-08-08 13:45:06 +00:00
Felix Yan
04bd58ff79
Correct a typo in threads_win32.h
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6238 >
2020-08-08 12:55:33 +00:00
Eric Engestrom
e3069c4257
pick-ui: specify git commands in "resolve cherry pick" message
...
Cc: mesa-stable
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6134 >
2020-08-08 12:27:48 +00:00
Joshua Ashton
b238d17a02
zink: Fix 32-bit compilation
...
`sizeof(void*) != sizeof(VkShaderModule)` on x86 hence this fails with `-Werror=int-conversion`
Fixes: 0f059d550b "zink: split up creating zink_shader objects and VkShaderModule objects"
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6239 >
2020-08-08 12:46:51 +01:00
Timothy Arceri
08f3dcf2f6
i965: add support for force_gl_vendor
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3363
Reviewed-by: Danylo Piliaiev <danylo.piliaiev@globallogic.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6198 >
2020-08-08 01:05:53 +00:00
Rob Clark
ab92c11780
freedreno/ir3: don't install ir3_compiler cmdline tool
...
It is mostly just useful to us.. and it is big since it links in nir and
most of the rest of gallium.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6234 >
2020-08-07 23:20:38 +00:00
Rob Clark
3b6e8670f8
freedreno/registers: add some missing regs to build
...
Needed for installed version of crashdec/cffdump.
Fixes: 9c33c53898 ("freedreno/registers: install gzip'd register database")
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6234 >
2020-08-07 23:20:38 +00:00
Dylan Baker
1e28745bc0
meson/freedreno: Fix lua requirement
...
Freedreno needs at least Lua 5.2, but the current code will report found
for 5.1, which doesn't actually work.
Fixes: caa107cb8d
("freedreno/decode: move dependencies up a level")
Reviewed-by: Rob Clark <robclark@freedesktop.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6229 >
2020-08-07 17:27:00 +00:00
Marek Olšák
0cdd411b6d
radeonsi: various fixes for gfx10.3
...
The magic numbers fix sample shading.
The bypass flag is optional.
Fixes: a23802bcb9 - ac,radeonsi: start adding support for gfx10.3
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:22 -04:00
Marek Olšák
e2e700f605
radeonsi: remove the NGG hack decreasing LDS usage to deal with overflows
...
The LDS size can't overflow anymore, so we can use the correct max LDS size.
Fixes: a23802bcb9 - ac,radeonsi: start adding support for gfx10.3
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:22 -04:00
Marek Olšák
97456e847e
radeonsi: add a common function for getting the size of gs_ngg_scratch
...
The next commit will use it.
Fixes: a23802bcb9 - ac,radeonsi: start adding support for gfx10.3
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:22 -04:00
Marek Olšák
68b3e92fef
radeonsi: don't count unusable vertices to the NGG LDS size
...
Now we get optimal LDS usage.
Fixes: a23802bcb9 - ac,radeonsi: start adding support for gfx10.3
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:22 -04:00
Marek Olšák
64c741ffb7
radeonsi: fix applying the NGG minimum vertex count requirement
...
The code applied the restriction too late, which could overflow LDS size,
which started happening more often after the minimum vertex count was
increased for Sienna.
Incorporate the clamping into the previous code for rounding up the counts.
Now the LDS size can never overflow, but it may use vector lanes less
efficiently (max_gsprims can be decreased more), which will be addressed
in the next commit.
Fixes: 4ecc39e1aa ("radeonsi/gfx10: NGG geometry shader PM4 and upload")
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:21 -04:00
Marek Olšák
7a468fc0f6
radeonsi: increase minimum NGG vertex count requirement per workgroup on gfx 10.3
...
Fixes: a23802bcb9 - ac,radeonsi: start adding support for gfx10.3
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:21 -04:00
Marek Olšák
633d2aa915
radeonsi: use the same units for esgs_ring_size and ngg_emit_size
...
for consistency
Fixes: a23802bcb9 - ac,radeonsi: start adding support for gfx10.3
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:21 -04:00
Marek Olšák
b6fb09fd84
radeonsi: use correct wave size in gfx10_ngg_calculate_subgroup_info
...
Fixes: 88efb63caf ("radeonsi/gfx10: implement Wave32")
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:21 -04:00
Marek Olšák
61c671c97e
Revert "radeonsi: honor a user-specified pitch on gfx10.3"
...
This reverts commit c4b5fd9ab0 .
It breaks mipmapping. This is only meant to be used by OpenCL, which allows
setting a user pitch for linear images. In all other cases, don't support
a custom pitch.
Fixes: c4b5fd9ab0 "radeonsi: honor a user-specified pitch on gfx10.3"
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:21 -04:00
Marek Olšák
15bd3f3712
ac/gpu_info: set num_tiles_pipes on gfx10+ too
...
Based on PAL.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6137 >
2020-08-07 11:22:21 -04:00
Marek Olšák
9333a8570d
radeonsi: enable ETC2 hw acceleration on Raven2
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6213 >
2020-08-07 11:04:05 -04:00
Antonio Caggiano
1185b3f32d
zink: pre-hash gfx-pipeline-state
...
Store a hash in `zink_gfx_pipeline_state` to keep track of state
changes and avoid to recompute it when the state has not changed.
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com >
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6061 >
2020-08-07 15:57:59 +02:00
Mike Blumenkrantz
7be12df5e6
zink: rename zink_gfx_program::stages to 'modules'
...
we've been confusing 'stages' and 'shaders' over and over for a long time,
so maybe having a totally different name will help here
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5970 >
2020-08-07 12:36:59 +00:00
Mike Blumenkrantz
6196f2aa93
zink: always compile shaders in pipeline order
...
in order to accurately perform slot/location mapping that's consistent across
stages, we need to go through the stages in order so that we can pass each successive
slot map allocation along to the next compiled stage
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5970 >
2020-08-07 12:36:59 +00:00
Mike Blumenkrantz
c312299316
zink: start using per-stage flags for new shaders, refcount shader modules
...
we don't want to recompile shaders if we don't have to, so we can set bitflags
upon receiving new shader states and then compile only the stages that have
changed while refcounting the unchanged stages
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5970 >
2020-08-07 12:36:59 +00:00
Mike Blumenkrantz
76d3645dd2
zink: use ZINK_SHADER_COUNT instead of PIPE_SHADER_TYPES - 1 everywhere
...
this is just for convenience and consistency
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5970 >
2020-08-07 12:36:59 +00:00
Mike Blumenkrantz
0f059d550b
zink: split up creating zink_shader objects and VkShaderModule objects
...
the actual VkShaderModule is only needed when we're creating a program to
draw with, so this can be split off for "uncompiled" and "compiled" shader
objects which will facilitate implementing shader keys
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5970 >
2020-08-07 12:36:59 +00:00
Mike Blumenkrantz
a03d17ede7
zink: refcount zink_gfx_program objects
...
now that we're tracking these by shader, we want to ensure that they live through
each render pass successfully if there's no flush regardless of the timing when the
shader objects are destroyed. this becomes useful when we split up shader create and compile
functionality in future patches, at which point program refcounts can be changed
during successive draw calls, potentially resulting in a program being destroyed at that
point when it shouldn't be
with this patch, each shader used by the program gets a reference, with the renderpass
batch itself becoming the owner of the program such that it will be deleted
when the draw state gets invalidated and a new program is created
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5970 >
2020-08-07 12:36:58 +00:00
Mike Blumenkrantz
8772c693c5
zink: adjust zink_shader struct to contain full streamout info
...
move remapped register_index -> slot into a separate value on the struct
in order to preserve the register_index value
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5970 >
2020-08-07 12:36:58 +00:00
Mike Blumenkrantz
e481d3e2ed
zink: move shader state methods for pipe_context into zink_program.c
...
just moving these so all the shader code can be in one place
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5970 >
2020-08-07 12:36:58 +00:00
Lionel Landwerlin
d83be29a53
intel/dump_gpu: add an option to capture a single frame
...
We use the driver identifier buffer to get the information about the
current frame.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2201 >
2020-08-07 11:27:54 +00:00
Lionel Landwerlin
a6a5b0e52e
intel/dump_gpu: fix --platform option
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2201 >
2020-08-07 11:27:54 +00:00
Lionel Landwerlin
9f0db069d3
anv: track the current frame and write it into the driver identifier BO
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2201 >
2020-08-07 11:27:54 +00:00
Lionel Landwerlin
42cb068d9f
intel/dump_gpu: only map in GTT buffers not previously mapped
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2201 >
2020-08-07 11:27:54 +00:00
Lionel Landwerlin
22b512ea5b
intel/dump_gpu: add an only-capture option
...
This option allows for smaller aub files to be generated by only
storing the BOs flagged with EXEC_OBJECT_CAPTURE.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2201 >
2020-08-07 11:27:54 +00:00
Lionel Landwerlin
f0e13827aa
intel/dump_gpu: set default device_override
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2201 >
2020-08-07 11:27:54 +00:00
Lionel Landwerlin
c4bfa6dfbb
intel/dump_gpu: further track mapping of BOs
...
We can go further in tracking what BOs are written to by the driver by
tracking when a buffer in unmapped. A BO could be mmap, written, unmap
and never be written to again. In such case we can just write the BO's
content on the first exec buf after unmap and never write it again.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2201 >
2020-08-07 11:27:54 +00:00
Lionel Landwerlin
63c90acc9e
intel/dump_gpu: only write BOs mapped by the driver
...
Track what BOs are mapped by the driver and only write those. We can
safely assume that when not mapped there is no data to save.
v2: Don't forget to return the ret (Rafael)
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2201 >
2020-08-07 11:27:54 +00:00
Mike Blumenkrantz
54c68498d4
zink: set primitive restart cap
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5912 >
2020-08-07 11:17:04 +00:00
Mike Blumenkrantz
5959178381
zink: use util_draw_vbo_without_prim_restart for unsupported prim modes
...
this fixes up primitive restart functionality for the primitive types that
vulkan doesn't support using primitive restart with
fixes #2873
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5912 >
2020-08-07 11:17:04 +00:00
Mike Blumenkrantz
f4583b4086
zink: move 8bit index handling out of u_primconvert path
...
putting this through util_translate_prim_restart_ib reduces our reliance on
u_primconvert, which ideally we don't want to be using
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5912 >
2020-08-07 11:17:04 +00:00
Mike Blumenkrantz
5edaf081cd
zink: basic primitive restart support for strip/fan topologies
...
this conditionally handles rewriting the index buffer to use vk-compatible
restart indexes and then enables it in the pipeline for supported draw
modes
fixes #3174
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5912 >
2020-08-07 11:17:04 +00:00
Bas Nieuwenhuizen
8531830038
radv: Add ETC2 support on RAVEN2.
...
I did a whole bunch of validation and it essentially works.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6215 >
2020-08-07 10:54:58 +00:00
Samuel Pitoiset
bea8930468
radv: allow to force-enable LLVM internally for a specific shader stage
...
For ACO debugging purposes, developers only.
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/6208 >
2020-08-07 07:45:06 +00:00
Christian Gmeiner
e63a7882a0
etnaviv: call nir_lower_bool_to_bitsize
...
Starting with commit 6f394343b1 ("nir/algebraic: i2f(f2i()) -> trunc()")
dEQP-GLES2.functional.shaders.operator.binary_operator.div.lowp_int_vertex
ends with an unsuppored flt instruction. Use nir_lower_bool_to_bitsize to
convert this flt to a flt32 which is supported. This fixes the introduced
regression.
Cc: 20.2 <mesa-stable@lists.freedesktop.org >
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6182 >
2020-08-07 03:25:36 +00:00
Alyssa Rosenzweig
c5b2319628
panfrost: Drop compiler cmdstream deps
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6196 >
2020-08-06 23:54:24 +00:00
Alyssa Rosenzweig
1d0b3ef051
panfrost: Treat texture dimension as first-class
...
Instead of hiding behind a cmdstream enum. The raw values have a very
simple interpretation as dimension.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6196 >
2020-08-06 23:54:24 +00:00
Alyssa Rosenzweig
5a3088e85f
panfrost: Inline max rt into compilers
...
Another dep.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6196 >
2020-08-06 23:54:24 +00:00