Commit Graph

168886 Commits

Author SHA1 Message Date
Samuel Pitoiset 8a5106f91a radv: move RADV_HASH_SHADER_xxx flags to radv_pipeline.c
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26713>
2023-12-19 09:48:34 +00:00
Samuel Pitoiset 9d15390635 radv: move meta declarations to radv_meta.h
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26713>
2023-12-19 09:48:34 +00:00
Samuel Pitoiset 939936a328 radv: remove radv_get_tess_output_topology() declaration
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26713>
2023-12-19 09:48:34 +00:00
Jesse Natalie 51bf1b26d0 libgl-gdi: Update wgl test to set debug flags needed for tests
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26744>
2023-12-18 23:49:28 +00:00
Jesse Natalie 8c88cc8630 libgl-gdi: Update wgl test to use a 32bit framebuffer
Otherwise, the d3d12 driver doesn't use a DXGI swapchain

Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26744>
2023-12-18 23:49:28 +00:00
Jesse Natalie 325fb6e26b d3d12: Only destroy the winsys during screen destruction, not reset
Fixes: 81c8e89f ("d3d12: Fix screen->winsys leak in d3d12_screen")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26744>
2023-12-18 23:49:28 +00:00
Jesse Natalie ff9868c569 d3d12: Add a debug flag to opt out of singleton behavior
For testing, it can be useful to observe behaviors on the singleton
device by just having the test also just use D3D12CreateDevice

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26744>
2023-12-18 23:49:28 +00:00
Jesse Natalie bed69133cd util: Re-implement getenv for Windows
On Windows, the C runtime maintains an environment variable cache for
getenv. But apps and drivers are free to statically link the C runtime,
so you might get different environment variable caches between components.
Specifically, a test trying to putenv to update the environment won't have
its update reflected by the driver if the CRT is statically linked, unless
we go to the Win32 API directly.

Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26744>
2023-12-18 23:49:28 +00:00
Yonggang Luo a0b7ae859f osmesa: Fixes building osmesa.c on windows
Fixes: 5bf68ab701 ("osmesa: Make osmesa.h compatible with Windows SDK's GL.h")

Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Ack-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26674>
2023-12-18 23:35:17 +00:00
Ruijing Dong 8bcf33cdc1 radeonsi/vcn: ROI capability value initialization.
It needs to initialize the cap value to
avoid causing confusion.

Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com>
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26741>
2023-12-18 23:07:25 +00:00
David Heidelberg 148230db05 ci/freedreno: downgrade whole Adreno 6xx series, incl. zink-a618 jobs
Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26745>
2023-12-18 21:32:48 +01:00
Konstantin Seurer 662f86c533 radv/bvh: Stop emitting leaf nodes inside the encoder
Avoids unnecessary copies.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26725>
2023-12-18 19:17:21 +00:00
Konstantin Seurer 8fca54a754 radv: Add more offsets acceleration_structure_layout
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26725>
2023-12-18 19:17:21 +00:00
Michel Dänzer f0594915e6 glx: Handle IGNORE_GLX_SWAP_METHOD_OML regardless of GLX_USE_APPLEGL
Avoids tons of

 WARNING: unknown fbconfig attribute from server: tag 0x8060 value 0x8063

messages with LIBGL_DEBUG=verbose.

Fixes: e64ab3e4a9 ("glx: Delete support for GLX_OML_swap_method.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26685>
2023-12-18 17:52:09 +00:00
Michel Dänzer 9548f969bd gallium/dri: Return __DRI_ATTRIB_SWAP_UNDEFINED for _SWAP_METHOD
In contrast to __DRI_ATTRIB_SWAP_EXCHANGE, this is compatible with Mesa
< 23.3 on the client side.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10080
Fixes: e64ab3e4a9 ("glx: Delete support for GLX_OML_swap_method.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26685>
2023-12-18 17:52:09 +00:00
Faith Ekstrand 290d958c63 nak/nir: Set nir_lower_io_lower_64bit_to_32 for varyings
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:29 +00:00
Faith Ekstrand a9fb7b0280 nak: Implement b2f64
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:29 +00:00
Faith Ekstrand 26d649f120 nak: Fix nir_op_f2f64
We were only allocating one register

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:29 +00:00
Faith Ekstrand 7ced1d3648 nak: Wire up 64-bit nir_op_fadd/ffma/fmul and comparisons
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand 995eea8d04 nak: Split fmul/ffma handling from fmulz/ffmaz
They're enough of a special case that things are going to get confusing
when we start adding bit sizes to fmul/ffma.  Let's make them a special
case so they can assert all their things.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand 1236c5d4f1 nak: Add the rest of the double-precision ops
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand 2f899f44eb nak: Rework encoding of ALU instructions on SM70+
The main change here is that we match on src2 first and then src1.  This
lets make some of the src2 code common because src2 never moves around
if it's a register.  This change also has another subtle effect: None
sources now work everywhere.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand c53f562d1a nak: OpDAdd doesn't have saturate
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand ada338bfcc nak/sm70: Allow src2 of 3src ops to be an immediate
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand 8b2232906e nak: Pass SrcTypes around instead of RegFile in legalize
We need to be able to tell the difference between `F64` and other GPR
source types.  In order for this to work, we also have to tighten up
some of the requirements round GPR and SSA sources.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand d24eb539c5 nak: Make OpAtom::cmpr a GPR source
We set it to Zero for atomics other than CmpExch.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand 3b6e6e985e nak: Copy propagate and constant fold OpPrmt
This comes up fairly frequently in int64 and fp64 use-cases.  In
particular, we see a lot of `prmt rZ 0x4444 rZ` which is just zero.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand 9ad5b544d8 nak: Fix copy-prop for fp64
For propagating OpDAdd, we need to check for negative zero because
negative zero is the no-op, not add with zero.  We were also propagating
the upper and lower halves of fp64 sources wrong.  While we're here, use
`let ... else` instead of an `if let` pattern a couple places.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Faith Ekstrand d41b0a2bf5 nak: Move the copy detection part of opt_copy_prop to a helper
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26743>
2023-12-18 17:35:28 +00:00
Connor Abbott 0b2e48f432 freedreno/afuc: Fix gen autodetection for a7xx
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26691>
2023-12-18 17:01:35 +00:00
Connor Abbott ae9604c29e freedreno/afuc: README updates for a7xx
Mention the introduction of LPAC/BR/BV, and explain the shared control
reg space.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26691>
2023-12-18 17:01:35 +00:00
Connor Abbott 5ca347e727 freedreno: Update more control/pipe registers for a7xx
Copy over control registers that are mostly the same from a6xx and add a
definition of the EVENT_CMD pipe register, which is updated for a7xx
events.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26691>
2023-12-18 17:01:35 +00:00
Connor Abbott d01be55340 freedreno/afuc: Decode (sdsN) modifier
This removes the last unknown flag from read/write instructions.

Because we now handle the write in CP_SET_DRAW_STATE more correctly when
emulating, we also have to update the control register definitions and
draw state emulation code to adjust.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26691>
2023-12-18 17:01:35 +00:00
Connor Abbott 55985b7301 freedreno/afuc: Add syntax for pre-increment addressing
This is inspired by the ARM syntax.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26691>
2023-12-18 17:01:35 +00:00
Connor Abbott 579227e028 freedreno/afuc: Use SQE registers for call stack
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26691>
2023-12-18 17:01:35 +00:00
Connor Abbott da3cf26564 freedreno/afuc: Add separate "SQE registers"
It seems like starting with a6xx, the SQE has a special register space
for reading/writing the state of the processor itself, mainly used for
saving/restoring its state in preemption. Add support for disassembling
it, removing one of the unknown flags bits.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26691>
2023-12-18 17:01:35 +00:00
Connor Abbott 7c919f0406 freedreno/afuc: Handle store instruction on a5xx
Turns out a5xx already had store, although not load. It was using the
high bit of the unknown flags for this.

Note that a6xx does use the high bit, and we fall back to not decoding
it at all here before properly decoding it in the next commit. Splitting
up the commits seems worth this small breakage.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26691>
2023-12-18 17:01:35 +00:00
Dudemanguy cef345129f vulkan/wsi/wayland: fix wl_event_queue memory leak
When creating the swapchain, this queue is created, but it was never
freed in wsi_wl_swapchain_free along with the rest of the resources.

Signed-off-by: Dudemanguy <random342@airmail.cc>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26052>
2023-12-18 16:28:53 +00:00
Jordan Justen 30faa7a483 anv, iris, intel/genxml: Update 3DSTATE_HS for xe2
Update 3DSTATE_HS programming for xe2

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:31 +00:00
Jordan Justen 8ba9988858 anv, iris, intel/genxml: Update 3DSTATE_GS for xe2
Update 3DSTATE_GS programming for xe2

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:31 +00:00
Jordan Justen 1bc7c966f4 intel/batch_decoder: Update 3DSTATE_PS decoding for xe2
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:31 +00:00
Jordan Justen a659b1f0c0 anv, blorp, iris, intel/genxml: Update 3DSTATE_PS_EXTRA for xe2
Update 3DSTATE_PS_EXTRA programming for xe2

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:31 +00:00
Jordan Justen 5548e6a478 anv, blorp, iris, intel/genxml: Update 3DSTATE_VS for xe2
Update 3DSTATE_VS programming for xe2

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:31 +00:00
Jordan Justen f170995e66 anv, blorp, iris: Update 3DSTATE_PS programming for xe2
Rework:
 * Jordan: Move code into intel_update_ps_state()

Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:30 +00:00
Zhang, Jianxun 80d9294d2d intel/isl: update 3DSTATE_STENCIL_BUFFER (xe2)
Update xml file and adjust driver code to compile.

Signed-off-by: Zhang, Jianxun <jianxun.zhang@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:30 +00:00
Zhang, Jianxun 2a49a598ce intel/genxml: update 3DSTATE_DEPTH_BUFFER instruction (xe2)
Signed-off-by: Zhang, Jianxun <jianxun.zhang@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:30 +00:00
Jordan Justen 99eadc2ecb intel/genxml: Add UNIFIED_COMPRESSION_FORMAT enum for xe2
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:30 +00:00
Zhang, Jianxun 2c41811808 intel/genxml: update 3DSTATE_WM_HZ_OP instruction (xe2)
The depth clear value is provided from 3DSTATE_WM_HZ_OP now.

Signed-off-by: Zhang, Jianxun <jianxun.zhang@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:30 +00:00
Zhang, Jianxun 5d4a995294 intel/genxml: Remove 3DSTATE_CLEAR_PARAMS instruction (xe2)
Signed-off-by: Zhang, Jianxun <jianxun.zhang@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:30 +00:00
Rohan Garg 9512f61cd8 iris,isl: Adjust driver for several commands of clear color (xe2)
The xe2 xml will be updated in following commits. Commit message
has been updated by Jianxun.

Signed-off-by: Rohan Garg <rohan.garg@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26600>
2023-12-18 15:41:30 +00:00