Bas Nieuwenhuizen
ff4f6202be
radv: Fix assert that is too strict.
...
The added assert fails on MSAA images if we disable FMASK ....
Reordered things.
Fixes: c6aadbae71 "radv: Don't use both DCC and CMASK for single sample images."
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3385
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6232 >
2020-08-10 09:34:49 +00:00
Louis Li
f7e7cf637e
radeon/radeon_vce: fix out of target bitrate in CBR mode (H.264)
...
StoneyRidge may not comply to required target bitrate
when generating H.264 stream in CBR mode.
Signed-off-by: Louis Li <Ching-shih.Li@amd.com >
Reviewed-by: Leo Liu <leo.liu@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4384 >
2020-08-10 01:39:18 +00:00
Gert Wollny
4975b3ec55
r600: Enable compute shaders for NIR code path
...
There are still regessions compared to TGSI, but there are also many
fixes.
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:36 +00:00
Gert Wollny
834a61df4e
r600/sfn: Force a minimum of 4 GPRs, it seems to fix atomics
...
This fixes spec@arb_compute_shader@execution@atomic-counter on
HD 5450
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:36 +00:00
Gert Wollny
3e3068a76a
r600/sfn: handle querying SSBO size
...
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:35 +00:00
Gert Wollny
ac87cc2205
r600/sfn: Correct ssbo instruction handling
...
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:35 +00:00
Gert Wollny
11a861c78a
r600/sfn: correct allocating and emitting of atomics
...
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:34 +00:00
Gert Wollny
702619c412
r600/sfn: Add a mapping table for atomics
...
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:34 +00:00
Gert Wollny
56dedf052f
r600/sfn: add r600 specific lowering pass for atomics and use it
...
v2: rebase to use global variable lists
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:34 +00:00
Gert Wollny
df2acf8e26
r600/sfn: Sort uniforms by binding and offset
...
This is required to get atomics right.
v2: rebase to use global variable lists
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:33 +00:00
Gert Wollny
a828f6c513
r600: Set PIPE_CAP_NIR_ATOMICS_AS_DEREF to true
...
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:33 +00:00
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