Marek Olšák
9fdb0ce755
gallium: use PIPE_CONTEXT_* flags instead of ST_CONTEXT_FLAG_*
...
where PIPE_CONTEXT_* flags are available
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
0122a67c81
gallium: move st function declarations from api.h into st_context.h
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
be8f1d685e
gallium: remove enum st_texture_type
...
just use GLenum
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
59c9e62f48
st/mesa: remove st_context callbacks for dri/glx/wgl frontends
...
Use direct calls.
Other changes:
- kopper called thread_finish twice in the same function.
Remove the second call.
- Context creation had no-op initializations of cso_context and pipe.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
263dc7b605
gallium: remove st_context_iface, use st_context directly
...
st_context_iface was the base class that st_context inherited.
Just use st_context.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
c61aa8fa81
gallium/pp: don't use st_context_iface, use an explicit callback
...
st_context_iface will be removed.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
fdec352903
gallium/hud: don't use st_context_iface, use an explicit callback
...
st_context_iface will be removed.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
64ee8d2430
gallium: rename st_context_iface::st_manager_private to frontend_context
...
It's really dri_context for DRI.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
ec564cf043
gallium: remove duplicated st_context_iface::st_context_private
...
It's equal to fscreen, which is almost next to it.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
cf2d71ec06
gallium: rename st_manager to pipe_frontend_screen (think dri_screen)
...
st_manager is really the base class of dri_screen, so let's call it
pipe_frontend_screen. That's a much better name than the vague "st_manager".
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Erik Faye-Lund
597b2648d2
zink: do not leave needless shader temps around
...
This used to not matter, but since we started emitting shader-temps
properly, this causes issues where we end up with samplers and images as
shader-temps. That causes asserts while emitting them.
So let's remove the unused vars as well.
This fixes a piglit regression that somehow went unnoticed on CI.
Fixes: 85964945e7 ("zink: emit vars with nir_var_shader_temp mode")
Tested-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20227 >
2022-12-09 12:47:26 +00:00
Kenneth Graunke
8c2448d4e6
intel/compiler: Delete sampler key handling for planar format stuff
...
i965 used these, but Gallium drivers do this lowering via a separate
nir_lower_tex call from st/mesa. Vulkan drivers don't use these at all.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223 >
2022-12-09 10:18:25 +00:00
Kenneth Graunke
88918baf5c
intel/compiler: Delete key->msaa_16
...
None of the drivers have used this since we dropped i965, and BLORP
no longer uses it as of the previous commit. We can also drop the
former compressed_multisample_tex_mask (now padding) field so that
things remain 64-bit aligned.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223 >
2022-12-09 10:18:25 +00:00
Kenneth Graunke
5d2a290cc7
intel/blorp: Set key->msaa_16 unconditionally on Gfx9+
...
This will result in us using the TXF_CMS_W message rather than the
TXF_CMS message on Skylake through Tigerlake for 2/4/8x MSAA blits,
which is technically slightly worse. However, it shouldn't be that
much worse: the TXF_CMS message was removed altogether on Alchemist.
iris and anv set key->msaa_16 unconditionally, to avoid paying the
cost of shader recompiles for a miniscule gain. crocus and hasvk
don't need to set it as they don't support 16x MSAA. BLORP already
recompiles based on the sample count, so it could easily keep doing
this for the minor benefit. But avoiding it will let us drop the
entire msaa_16 key field out of the compiler, which is nice.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223 >
2022-12-09 10:18:25 +00:00
Kenneth Graunke
584e18863e
intel: Drop compressed_multisample_layout_mask from the compiler keys
...
The compiler looks at this key field to determine whether to perform
an MCS fetch for a txf_ms or samples_identical texture message, if a
nir_tex_src_ms_mcs_intel source wasn't provided. If it isn't set,
it instead uses constant 0 (nothing is compressed).
All of the drivers (iris, crocus, anv, hasvk) unconditionally set this
to ~0 because we don't want to pay for costly shader recompiles (which
can cause nasty stuttering). Most textures are compressed anyway, and
the hardware ignores the l2dms MCS parameter if MCS is disabled.
The only user was BLORP, which sets the key field based on whether the
texture's aux usage has MCS. But if it has MCS, it also does the MCS
fetch itself and supplies it directly. Otherwise, it relies on the
compiler to fill in the 0 value. But it could easily just provide the
0 value itself in that case and not rely on the compiler at all.
With that fixed, we can just drop the key fields entirely. We leave
them as padding for now to avoid repacking structures; we won't need
to after the next commits anyway.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223 >
2022-12-09 10:18:25 +00:00
Jianxun Zhang
5c62f526a4
intel/common: use format struct in aux mapping
...
Refactor aux mapping with the new format struct and helpers.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Jianxun Zhang
8ad9549677
intel/common: initialize format of aux mapping on GFX12
...
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Jianxun Zhang
cf3ee73f8f
intel/common: fix style of some comments in intel_aux_map.h
...
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Jianxun Zhang
d0520430aa
intel/common: Add a new struct to describe AUX mapping format
...
The new struct and some helper functions are for further
refactoring.
Reworks:
* Jordan: Refactor code around aux format array
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Jianxun Zhang
6b3740f359
intel/common: Add an enum of formats of AUX mapping
...
The new enum allows us to support multiple formats in the future.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Lionel Landwerlin
90c86fe63e
intel: add MTL performance metrics
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20228 >
2022-12-09 09:13:02 +00:00
Väinö Mäkelä
d4bcfed422
hasvk: Allow aliasing with modifiers for WSI images
...
Ignore ALIAS_BIT when format comes from WSI because
we have the ability to bind the MEMORY_BINDING_PRIVATE
from the other WSI image.
This commit is the same as f350b78b but for hasvk.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19840 >
2022-12-09 08:35:02 +00:00
Gert Wollny
586ba9c223
r600/sfn: implement GDS op channel mask evaluation
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
4d4411588b
r600/sfn: allocate pinned registers as SSA
...
Don't allocate the helper_invocation register as pinned, because it is
not an SSA value.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
b623e1a0ef
r600/sfn: nir_op_vec results don't need channel pinning
...
This will be handled by the op that uses the vector
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
9b34969459
r600/sfn: implement TF allowed channel mask override
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
219854a864
r600/sfn: clean up TF emission in TCS
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
18a8d148d8
r600/sfn: Cleanup copy-prop into vec4 source values
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
38da65c445
r600/sfn: scheduler allow more lookahead on ALU instr
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
fcafe1ffc8
r600/sfn: Make use of variable length DOT
...
This frees some alu slots for better group scheduling.
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
906c5efc37
r600/sfn: Don't require assignemnt in same block to copy-propagate
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
5f82b4cf5b
r600/sfn: No need to pin LDS dests to chan
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:31 +00:00
Gert Wollny
6d93139061
r600/sfn: allow copy propagation to LDS read dest
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:30 +00:00
Gert Wollny
d7d07d0d32
r600/sfn: allow more copy-propagate with dest chan fixed.
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:30 +00:00
Gert Wollny
5dc35cf1d1
r600/sfn: Allow copy prop into GDS sources values
...
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20205 >
2022-12-09 08:26:30 +00:00
Tapani Pälli
68ef0d8448
anv: emit sample mask state independent of fragment stage
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7861
Fixes: 9f6af43743 ("anv: dynamic multisample sample mask")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20221 >
2022-12-09 08:00:42 +00:00
Samuel Pitoiset
25a5d7ac0d
radv: fix re-emitting the RB+ state when dynamic color write mask change
...
Found by inspection.
Fixes: a92d1d13c5 ("radv: add support for dynamic color write mask")
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/20204 >
2022-12-09 07:37:00 +00:00
Konstantin Seurer
4c83a96f16
radv/rt: Discard metadata after lowering intersection shaders
...
We inserted some enstructions and control flow. Therefore, metadata is
not valid anymore.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19866 >
2022-12-09 07:07:10 +00:00
Konstantin Seurer
79b7ed61a8
radv/rt: Lower hit attributes to registers
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19866 >
2022-12-09 07:07:10 +00:00
Konstantin Seurer
a598263800
radv/rt: Move load_hit_attrib_amd to the top
...
Make sure to load hit attributes before a trace_ray call can overwrite them.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19866 >
2022-12-09 07:07:10 +00:00
Konstantin Seurer
36125598c8
nir: Add intrinsics for hit attribute io
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19866 >
2022-12-09 07:07:10 +00:00
Konstantin Seurer
5bfc4c293f
nir/split_vars: Handle ray hit attributes
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19866 >
2022-12-09 07:07:10 +00:00
Konstantin Seurer
9f03e9c286
radv: Add nir_foreach_variable_with_modes to .clang-format
...
Yet another loop macro.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19866 >
2022-12-09 07:07:10 +00:00
Emma Anholt
433c6f5d3a
egl: Drop backwards compat for missing __DRI_ATTRIB_*_SHIFT.
...
The only implementation supports it.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20171 >
2022-12-09 05:32:18 +00:00
Emma Anholt
a145a8301e
gbm: Don't look up the DRI2_FENCE extension.
...
It's optional, and nothing references it.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20171 >
2022-12-09 05:32:18 +00:00
Emma Anholt
5ff8edaa2a
egl: Replace sRGB support check with a pscreen query.
...
This drops the remaining use of rendererQuery from EGL.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20171 >
2022-12-09 05:32:18 +00:00
Emma Anholt
eb2dcda50c
egl: Move common eglCreateContext() error checks from backends to core.
...
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20171 >
2022-12-09 05:32:18 +00:00
Emma Anholt
e6285ea55f
egl: Replace the robustness DRI2 ext check with a pipe cap query.
...
This means that swkms will now report it with llvmpipe. drisw reported it
with llvmpipe, and it appears to have been an oversight that got
refactored into an obvious "if !swkms" check later.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20171 >
2022-12-09 05:32:18 +00:00
Emma Anholt
f4b2f9cff2
egl: Remove silly robustness support checks.
...
The EGL frontend checks for the extension's presence before allowing the
user to set these values.
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20171 >
2022-12-09 05:32:18 +00:00
Brian Paul
83b0f10941
gallivm: s/unsigned/enum util_format_type/ in lp_build_sample_common()
...
Use the actual type here for easier debugging.
Signed-off-by: Brian Paul <brianp@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20233 >
2022-12-09 05:04:37 +00:00