Gert Wollny
edabd5cd84
r600/sfn: check used channels when evaluating allowed mask
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7878
v2: Fix ws in comment (iorn10)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20283 >
2022-12-13 09:04:53 +00:00
Martin Roukala (né Peres)
8c30cf4443
ci/test-vk: uprev vkd3d
...
This commit uprevs vkd3d, which flags
test_primitive_restart_list_topology_stream_output as being a flake on
RADV / NAVI21.
Suggested-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20278 >
2022-12-13 06:48:10 +00:00
Qiang Yu
d2ac1b18df
ac/nir: add ac_nir_lower_legacy_gs
...
For legacy (non-NGG) GS to lower outputs to memory stores and add
shader query when required.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20158 >
2022-12-13 11:43:53 +08:00
Qiang Yu
0e52a4faf0
ac/nir: move ngg_gs_shader_query to a common function
...
To be shared by NGG GS and legacy GS. Legacy GS need this when
GFX10 which mix use NGG and legacy GS. For example when streamout
is enabled, it uses legacy GS, otherwise uses NGG GS. So legacy
GS also need to update query emulation which is a sum of NGG and
legacy GS results.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20158 >
2022-12-13 11:43:49 +08:00
Qiang Yu
9a6416b374
nir,ac/llvm,radv: add stream id index to nir_load_ring_gsvs_amd
...
For used by legacy GS to store output to different ring according
to stream id.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20158 >
2022-12-13 11:43:45 +08:00
Qiang Yu
0ea589ec69
ac/llvm,radv,radeonsi: pass instruction to intrinsic_load abi
...
For simple intrinsic which also need other fields to translate
to LLVM like stream_id.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20158 >
2022-12-13 11:43:40 +08:00
Qiang Yu
796a150196
nir: add nir_load_ring_gs2vs_offset_amd
...
Used by legacy GS output lowering.
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20158 >
2022-12-13 11:42:33 +08:00
Qiang Yu
603e68ba36
ac/nir,radeonsi: replace llvm ngg gs invocation query with nir
...
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20156 >
2022-12-13 01:26:42 +00:00
Qiang Yu
fd240f759f
nir,radv,radeonsi: add nir_atomic_add_gs_invocation_count_amd
...
For shader query emulation.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Signed-off-by: Qiang Yu <yuq825@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20156 >
2022-12-13 01:26:42 +00:00
Emma Anholt
17c18a492a
freedreno/registers: Add some docs for PM4 events.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19733 >
2022-12-12 23:29:53 +00:00
Emma Anholt
378f83917c
doc/freedreno: Add a bunch of docs of the hardware and drivers.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19733 >
2022-12-12 23:29:53 +00:00
Emma Anholt
e284e6ad3c
freedreno: Clarify that CACHE_FLUSH is pre-5xx.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19733 >
2022-12-12 23:29:53 +00:00
Emma Anholt
5d37f6b16c
ci/docs: Always expose the built docs.
...
When testing my docs changes outside of an MR, there was no way to look at
the result.
Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19733 >
2022-12-12 23:29:53 +00:00
Peng Huang
7642f3b99c
intel: Fix crashes for importing drm buffer
...
image_aspect_to_binding() converts aspect to index by subrracting
VK_IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT, however these enum values
are bitfields, not consecutive numbers, so comparing and subtracting
them won't work.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20269 >
2022-12-12 23:02:38 +00:00
Iván Briano
68b546ec3d
hasvk: pipelineStageCreationFeedbackCount is allowed to be 0
...
Fixes: 6601e5d6fc ("anv: implement VK_EXT_pipeline_creation_feedback")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20216 >
2022-12-12 22:32:42 +00:00
Jan Palus
8560ce28c2
vdpau: allow building vdpau st with virgl only
...
Fixes: 6b5aecb195 ("virgl: add support for hardware video acceleration")
Signed-off-by: Jan Palus <jpalus@fastmail.com >
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20108 >
2022-12-12 22:01:27 +00:00
Timothy Arceri
9e9b8dc7f8
glsl: fix function inlining for images
...
Here we skip replacing parameters with their actual values for
images as glsl_to_nir() expects them to be copied to temps first.
Tree grafting has a similiar rule to avoid this happening also.
Fixes: 8d10a6835f ("glsl: dont create temps for builtin function inputs")
Tested-by: Martin Roukala <martin.roukala@mupuf.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20274 >
2022-12-12 21:28:44 +00:00
Bas Nieuwenhuizen
92959061a9
radv: Improved export conflict bug workaround.
...
Based on f129db911b ("radeonsi/gfx11: use a better workaround for the export conflict bug")
which claims better performance.
I couldn't be bothered to do the refactor to check the sample count with
dynamic sample counts, so this is just conservative there.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20273 >
2022-12-12 19:59:13 +00:00
Marek Olšák
3a294ff01f
mesa: move the _mesa_set_varying_vp_inputs call to where the state changes
...
This removes the _mesa_update_vao_state() call from all glDraw* functions
where it was executed unconditionally.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
fe1d533553
mesa: move _DrawVAOEnabledAttribs determination into st_update_array
...
This can just be computed where it's used.
Now the non-glDraw paths like glRasterPos, glBegin/End, and the slow
display list path have to save and restore _VPModeInputFilter, which
is the only field that's different from the glDraw* path.
_VPModeInputFilter is a bitmask of VP inputs that might have to be bound.
The only difference with glBegin/End and the slow display list path is
that they also add VERT_BIT_MAT_ALL to the bitmask, whereas the glDraw* path
doesn't have that.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
01ef28f1af
mesa: inline _mesa_draw_array_bits & _mesa_draw_current_bits
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
a2cda5ba09
mesa: don't AND with VERT_BIT_ALL because it's ~0u
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
b1b4f1e185
mesa: simplify VBO state flagging in _mesa_update_vao_state
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
b57d56d754
mesa: remove VAO::NewVertexBuffers/Elements, set the dirty flags directly
...
These intermediate dirty flags are unnecessary now.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
0fbd82bdc4
mesa: move calling _mesa_update_vao_derived_arrays into st_update_array
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
76a214f390
mesa: remove the NewVAO flag, set directly what we need to set
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
ee308fb9ae
st/mesa: move st_atom.c contents into st_context.c
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
ae2b911217
st/mesa: inline st_validate_state and remove redundant checking in callers
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
eb97f624c7
st/mesa: remove the switch from st_validate_state by passing state mask directly
...
Instead of passing the enum that represents which states should be updated
to st_validate_state, pass the state bitmask to st_validate_state directly.
This removes the switch statement over the enums.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
ae8147dd5a
st/mesa: remove st_context::dirty, use gl_context::NewDirtyState instead
...
We stored the same state in 2 different variables, and then we OR'd them.
This changes the st_validate_state logic slightly, but should be identical.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
33c3e429fe
mesa: remove per_vertex_edgeflags parameter from DrawGalliumVertexState
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
a5851ca8b1
mesa: completely rewrite the edge flag state update logic
...
This removes the edge flag logic from st_validate_state, which was always
executed and added overhead there. Now it's done only when needed.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
b6e800af7d
mesa: don't call _mesa_set_varying_vp_inputs in set_vertex_processing_mode
...
It's redundant because it's always called in _mesa_update_draw_vao.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
c2557a5652
mesa: don't call _mesa_update_vao_derived_arrays for dynamic VAOs
...
This just moves the exit into the caller. There is nothing else in
_mesa_update_vao_derived_arrays that dynamic VAOs care about.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
dcad210d12
mesa: merge 2 switch statements into one in _mesa_get_derived_vao_masks
...
_mesa_vao_enable_to_vp_inputs has a switch statement and we call it twice.
Let's inline it.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
d5187dbc07
mesa: remove derived _EffEnabled* fields and compute them at their only use
...
We were passing the fields to their only use and used them only once,
so let's just compute them there.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
888463b173
mesa: merge _mesa_draw_(user_array,nonzero_divisor)_bits into one helper
...
preparation for the next change
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
e6375f95bb
mesa: remove unused inline functions from arrayobj.h
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
50a367f8f7
mesa: keep the current VAO also set as _DrawVAO
...
This removes setting _DrawVAO from all glDraw* functions that draw
primitives because now _DrawVAO is always equal to the current VAO.
glEnd, glRasterPos, and the slow display list path now have to save
_DrawVAO before changing it, and restore it after they are done.
This also removes _EmptyVAO, which becomes unused because we no longer
bind "no VAO" into _DrawVAO.
Rules:
- only glBindVertexArray and non-glDraw* paths should call
_mesa_set_draw_vao, other places shouldn't
- only draws should call _mesa_update_vao_state, other places shouldn't
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Marek Olšák
b205d7663b
mesa: split _mesa_set_draw_vao into set and update functions
...
This is the beginning of splitting _mesa_set_draw_vao and moving pieces
of it out of draw functions.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19953 >
2022-12-12 19:15:34 +00:00
Friedrich Vock
568fa71ef8
radv: Handle NULL miss shaders
...
Fixes reflections in DOOM Eternal.
Fixes: 85580faa ("radv: Add ray traversal loop.")
Closes : #6210
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20270 >
2022-12-12 18:52:59 +00:00
Friedrich Vock
276236ed6d
radv: Change shaderGroupBaseAlignment to RADV_RT_HANDLE_SIZE
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20270 >
2022-12-12 18:52:59 +00:00
Konstantin Seurer
5751ae45ec
radv: Force non uniform texture sampling with NV Remix
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20243 >
2022-12-12 18:18:32 +00:00
Konstantin Seurer
9492b84a68
radv: Add a driconf option to force non uniform texture sampling
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20243 >
2022-12-12 18:18:32 +00:00
Konstantin Seurer
7a994d92ff
spirv: Add a debug option to force non uniform texture sampling
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20243 >
2022-12-12 18:18:32 +00:00
Konstantin Seurer
cdd68cbafd
radv/rt: Hash the pipeline key
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20243 >
2022-12-12 18:18:32 +00:00
Konstantin Seurer
48ae92ceea
radv/rt: Propagate radv_pipeline_key
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20243 >
2022-12-12 18:18:32 +00:00
Konstantin Seurer
7b5ac0ae2a
radv/rt: Work around incorrect NOT_DEFERRED handling in Portal RTX
...
Allows Portal RTX to reach the main menu.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20243 >
2022-12-12 18:18:32 +00:00
Connor Abbott
cb3872f2cd
tu: Implement VK_EXT_descriptor_buffer
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19849 >
2022-12-12 17:38:19 +00:00
Connor Abbott
b28899a261
vk/descriptor_set_layout: Add optional destructor
...
Drivers implementing descriptor buffers will want to allocate and free
descriptors with the layout for embedded samplers, so we need a hook to
allow them to free any GPU buffers.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19849 >
2022-12-12 17:38:19 +00:00