Alyssa Rosenzweig
24d072fd6a
pan/bi: Don't use funny round modes in tests
...
To prepare for defeaturing round modes, replace uses of round-to-positive with
round-to-even in our unit tests. This doesn't meaningfully impact test coverage;
there is no way to generate that round mode.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15187 >
2022-04-07 18:03:57 +00:00
Alyssa Rosenzweig
b5026c3d7c
panfrost: Use track_image_access on Bifrost
...
Equivalent logic, as previously extracted.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:38 +00:00
Alyssa Rosenzweig
8689a88d10
panfrost: Add helpers to emit Valhall data structures
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:38 +00:00
Alyssa Rosenzweig
0d48a57452
panfrost: Adapt viewport/scissor to Valhall
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:38 +00:00
Alyssa Rosenzweig
e4edb1a53f
panfrost: Hide some Bifrost-specific functions
...
Pertains to data structures removed in Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:38 +00:00
Alyssa Rosenzweig
58934dd666
panfrost: Add valhall_has_blend_shader field
...
Required in a hot path for silly historical reasons, so add a field to save a
pre-computed value thereof.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:38 +00:00
Alyssa Rosenzweig
fed04de481
panfrost: Add Valhall fields to panfrost_batch
...
There are new data structures that we need to (dirty) track. Add the
corresponding fields so we can proceed as with Bifrost dirty tracking.
Trivial increase in memory usage, but that should not matter as batches are
few.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:38 +00:00
Alyssa Rosenzweig
270e3e02f2
panfrost: Split out allow_fpk helper
...
For sharing between Bifrost's renderer state descriptor and Valhall's draw call
descriptor, which require the same logic in different places.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:38 +00:00
Alyssa Rosenzweig
ba395fc94c
panfrost: Split out panfrost_get_blend_shaders
...
The same logic is useful on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:38 +00:00
Alyssa Rosenzweig
c408f7551c
panfrost: Specialize vertex state for Valhall
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:37 +00:00
Alyssa Rosenzweig
0795f3d7e4
panfrost: Add a pool to sampler_view
...
So we can allocate temporary sampler views for writeable images on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:37 +00:00
Alyssa Rosenzweig
0299565f72
panfrost: Adapt panfrost_rasterizer for v9
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:37 +00:00
Alyssa Rosenzweig
9a521433ae
panfrost: Don't set a default for blend count
...
Unnecessary.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:37 +00:00
Alyssa Rosenzweig
7d1d7cdf57
panfrost: Don't check alpha test in fs_required on Bifrost+
...
Alpha testing is only native on Midgard. Saves a few instructions.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15797 >
2022-04-07 17:43:37 +00:00
Ian Romanick
c08302670b
intel/compiler: Fix sample_d messages on DG2
...
DG2 can only do sample_d and sample_d_c on 1D and 2D surfaces. The
maximum number of gradient components and coordinate components should
be 2. In spite of this limitation, the Bspec lists a mysterious R
component before the min_lod, so the maximum coordinate components is 3.
Fixes the following Vulkan CTS failures on DG2:
dEQP-VK.glsl.texture_functions.texturegradclamp.isampler1d_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.isampler2d_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.sampler1d_fixed_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.sampler1d_float_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.sampler2d_fixed_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.sampler2d_float_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.usampler1d_fragment
dEQP-VK.glsl.texture_functions.texturegradclamp.usampler2d_fragment
The Fixes: tag below is a bit misleading. This commit fixes some test
cases similar to ones fixed by the Fixes: commit. I just want to make
sure this commit gets applied everywhere that commit was also applied.
Fixes: 635ed58e52
("intel/compiler: Lower txd for 3D samplers on XeHP.")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15781 >
2022-04-07 17:09:28 +00:00
Boris Brezillon
07af51da9d
dzn: Pass a NULL ralloc context to dxil_create_validator()
...
instance is not allocated with ralloc, we can't pass it as a ralloc
context to dxil_create_validator().
Fixes: 09c2016d6b
("dzn: use dxil_validator")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15787 >
2022-04-07 16:55:02 +00:00
Jason Ekstrand
5d198782a0
vulkan,docs: Add documentation for Vulkan dispatch
...
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15472 >
2022-04-07 16:32:21 +00:00
Jason Ekstrand
dd340ce1a1
vulkan,docs: Document vk_device
...
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15472 >
2022-04-07 16:32:21 +00:00
Jason Ekstrand
6073610d7a
vulkan,docs: Document vk_physical_device
...
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15472 >
2022-04-07 16:32:21 +00:00
Jason Ekstrand
f6d4641433
vulkan,docs: Document vk_instance
...
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15472 >
2022-04-07 16:32:21 +00:00
Jason Ekstrand
f06fa8f7e0
vulkan,docs: Document vk_object_base
...
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15472 >
2022-04-07 16:32:21 +00:00
Jason Ekstrand
0ca8b95824
vulkan: vk_object_base_init/finish have no unused parameters
...
Acked-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15472 >
2022-04-07 16:32:21 +00:00
Jason Ekstrand
13fc698cef
anv/formats: Relax usage checks if EXTENDED_USAGE_BIT is set
...
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Connor Abbott <cwabbott0@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14153 >
2022-04-07 15:56:33 +00:00
Roman Stratiienko
9b28b76e85
android: Set max platform-sdk-version to 10000
...
platform-sdk-version::max require updating every time new Android releases.
It makes sense to set this value to some unreachable maximum value to avoid
such patches. Such approach will allow to use stable mesa3d without any
changes with newest Android as well.
As was suggested by Yiwei Zhang we can use value 10000 that corresponds to
CUR_DEVELOPMENT [1] definition which may be used by AOSP/master in between
of Android major releases.
[1]: https://developer.android.com/reference/android/os/Build.VERSION_CODES#CUR_DEVELOPMENT
Signed-off-by: Roman Stratiienko <r.stratiienko@gmail.com >
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15747 >
2022-04-07 15:33:48 +00:00
Alyssa Rosenzweig
0510e2373e
panfrost: Split out image access tracking
...
This logic is not device-specific. It is pulled from our existing Bifrost image
implementation and will be reused for Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:05 +00:00
Alyssa Rosenzweig
5d187e9cad
panfrost: Add helpers to set batch masks
...
This logic is not device specific and will be used for both Bifrost and Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
30c14f54cf
panfrost: Disable PIPE_CAP_PRIMITIVE_RESTART on v9
...
Valhall removed the ability to set an explicit primitive restart index as
required by desktop OpenGL, in favour of fixed primitive restart indices only as
required by OpenGL ES.
Set the CAPs accordingly so that mesa/st lowers unusual primitive restart
indices at draw call time.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
dd735bcb69
panfrost: Make alpha=0 NOP / 1 store Bifrost only
...
These fields were removed in Valhall in favour of a simpler overdraw mechanism.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
bb8a9038ff
panfrost: Move assign_vertex_buffer to pan_helpers
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
e39f9aa883
panfrost: Hide AFBC on Valhall
...
The relevant data structures have been shuffled a bit. We need to wire up AFBC
for Valhall; however, that's out of scope for the initial bring up. Just hide it
so we can build.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
76e0a7c49e
panfrost: Adapt pan_shader.h for Valhall
...
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
4d04437a3b
panfrost: Add shader_stage helper
...
For Valhall, which specifies these in the shader program descriptor.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
783d27645c
panfrost: Add panfrost_make_resource_table helper
...
For Valhall drivers.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
3baceb0ca4
panfrost: Hide parts of pan_encoder.h for Valhall
...
These pertain to data structures that no longer exist.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
d11351c616
panfrost: Control tiler memory usage
...
Ensure we don't hit OOM when rendering at 8192x8192 on Valhall by disabling
the smallest bin size of the hierarchy mask.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
586c3b9e35
panfrost: Handle stencil texturing on Valhall
...
Use a Bifrost compatible path. It's not clear this is optimal but it passes the
tests and is no worse than what we do on Bifrost.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Alyssa Rosenzweig
db20152c8a
panfrost: Handle Valhall texturing
...
Surface descriptors have been replaced by plane descriptors, which facilitate
the intermediate layout of textures. This allows for more sophisticated handling
of texture compressions, of particular to interest to copy_image. However, it
requires a considerable amount of new logic to handle.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15795 >
2022-04-07 15:11:04 +00:00
Krunal Patel
f21d6e18bc
frontend/va: Create decoder once the max_references is updated
...
Issue: When a video is decoded where the max_references is updated the
decoder keeps using same old value. This results into green patches and
decoding is not proper.
Root Cause: The max_references is updated only once when the instance is
created for the first time.
Fix: Added a check along with the context->decoder to check if the
context->templat.max_references has changed. If yes, then we go ahead
and create the decoder again.
Reviewed-by: Leo Liu <leo.liu@amd.com >
Signed-off-by: Krunal Patel <krunalkumarmukeshkumar.patel@amd.corp-partner.google.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15750 >
2022-04-07 14:48:37 +00:00
Mike Blumenkrantz
2f8d11463f
zink: ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
527deb91ff
zink: export PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
dac830b5ad
zink: run the cubemap -> array compiler pass if the shader key is set
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
f97014c3da
zink: handle nonseamless cube sampler binding
...
now when a cube is sampled with a nonseamless sampler, the relevant shader
stage is flagged for a variant update, the
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
be6d4b8583
zink: create an array view for all cube samplerviews
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
55f90c5fa4
zink: set nonseamless hint for sampler states
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
5b2d0cca17
zink: handle shader key variants that have nonseamless cubemaps
...
this is just the program-based handling, which means finding the right
variant and/or creating new ones based on matching a 32bit mask indicating
which textures must be rewritten
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
a06b0e0d21
zink: specify struct member name when copying inline uniforms for gfx variants
...
avoid memory mismatch if inline uniform values aren't first member of struct
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
be1b36d631
zink: support nir_op_imod
...
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
2d745904ca
zink: add a gently mangled version of the d3d12 cubemap -> array compiler pass
...
this differs in that it doesn't handle images and also doesn't filter
based on sampler type, instead using a 32bit mask for determining which
samplers to rewrite
also zink doesn't use sampler derefs
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Mike Blumenkrantz
dc3f62e0c2
zink: rename a variable
...
no functional changes
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15536 >
2022-04-07 14:36:25 +00:00
Alyssa Rosenzweig
813d355e9e
pan/va: Add LD_TILE.v3.f16 packing test
...
This tests the staging register behaviour.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15793 >
2022-04-07 14:20:45 +00:00