Caio Oliveira
3b48b7df1f
intel/blorp: Use a Meson dependency for blorp
...
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27643 >
2024-02-16 00:08:42 +00:00
Sagar Ghuge
f55f9272e4
intel/compiler: Fix disassembly of URB message descriptor on Xe2+
...
URB messages follow the LSC message descriptor so we are already
disassembling the descriptor/extended descriptor, we don't have to
duplicate it.
Without this change:
urb MsgDesc: ( store, a32, d32, V4, L1UC_L3WB dst_len = 0, src0_len = 2, src1_len = 8 flat ) mlen 2 ex_mlen 8 rlen 0 { align1 1H $1 };
with this change:
urb MsgDesc: ( store, a32, d32, V4, L1UC_L3WB dst_len = 0, src0_len = 2, src1_len = 8 flat ) base_offset 0 { align1 1H $1 };
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27498 >
2024-02-15 19:46:55 +00:00
Lionel Landwerlin
f733215c12
anv: enable query clear/copy using shaders on MTL/ARL
...
It seems like an L3 setting is different between DG2 & MTL, breaking
the L3 coherency with CS.
We can apply the same tile cache flush as we do on TGL for now until
we figure out how to configure L3 properly to avoid this.
Tested with :
$ query_clear_with_blorp_threshold=0 query_copy_with_shader_threshold=0 ./deqp-vk -n dEQP-VK.query_pool.*
to force the shader optimizations.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27597 >
2024-02-15 17:25:37 +00:00
Caio Oliveira
62a8de99ac
intel/blorp: Move brw_compiler.h include to where is needed
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
f4df4be7e7
intel/blorp: Avoid brw types in blorp_priv.h
...
Abuse void* here so there's one less file dependent on specific brw
types. We can revisit if there's a need later, if we ever end up with
a common type for prog_data.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
b28cf9123b
intel/blorp: Move brw_blorp_get_urb_length helper
...
Moving to blorp_genX_exec.h to help make blorp_priv.h independent of brw
types.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
b34df9f801
intel/blorp: Remove outdated reference in comment
...
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
9377dc417d
intel/blorp: Use a struct to return blorp_compile_*() results
...
Allocate the prog_data instead of expecting one from the user, also
explicitly return both kernel and prog_data size, so that the
plumbing code isn't required to use the exact prog_data type.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
82ecc219e0
intel/blorp: Simplify blorp_compile_cs() interface
...
No need to take brw_prog_cs_key.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:19 +00:00
Caio Oliveira
cfad85eed0
intel/blorp: Simplify blorp_compile_fs() interface
...
Take multisample_fbo parameter instead of a brw_wm_key.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:18 +00:00
Caio Oliveira
16ba2478fa
intel/blorp: Remove brw_ prefix when not applicable
...
Remove the brw_ prefix from some blorp functions and structs to avoid
confusion with what's related to brw and what's not. Some of those will
become independent of brw in upcoming patches.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:18 +00:00
Caio Oliveira
c8fda63378
intel/blorp: Don't require specific prog_data type in callback
...
Make interface less dependent on brw types. If we care, later
might make sense to add a tagged union for the possible types here.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27581 >
2024-02-15 10:29:18 +00:00
Caio Oliveira
0b751a2134
intel: Rename i965_{asm,disasm} tools to brw_{asm,disasm}
...
And move them inside the compiler since they (especially asm) rely on
a bunch of internal types.
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Caio Oliveira
5992185c8d
intel/compiler: Merge intel_disasm.[ch] into corresponding brw files
...
Rename the functions to match the existing ones.
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Caio Oliveira
468a0ffe9c
intel/compiler: Include brw_disasm_info.h where its used
...
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Caio Oliveira
ff95f00883
intel/compiler: Move disassemble functions to own header file
...
Acked-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27579 >
2024-02-15 09:26:46 +00:00
Caio Oliveira
5732c9d269
intel/compiler: Rename brw_cs_dispatch_info to intel_cs_dispatch_info
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
c5b80de583
intel/compiler: Rename brw_vue_map to intel_vue_map
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
7d85d2c7fd
intel/compiler: Rename DISPATCH_MODE_* enums to INTEL_DISPATCH_MODE_*
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
aeda865b6d
intel/compiler: Rename BRW_TESS_* enums to INTEL_TESS_*
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
26dd1f0bba
intel/compiler: Rename BRW_WM_MSAA_* enums to INTEL_MSAA_*
...
And move to the intel_shader_enums.h file.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Caio Oliveira
a88084f8be
intel/compiler: Rename brw_image_param to isl_image_param
...
And move them to ISL.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27475 >
2024-02-14 22:31:23 -08:00
Jordan Justen
c6e855b64b
intel/compiler: Verify SIMD16 is used for xe2 BTD/RT dispatch
...
Ref: HSD 14011192593
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27529 >
2024-02-14 20:07:13 +00:00
Jordan Justen
820e04ead4
intel/compiler: Implement nir_intrinsic_load_topology_id_intel for xe2
...
Rework:
* Sagar: Rework BRW_TOPOLOGY_ID_DSS, BRW_TOPOLOGY_ID_EU_THREAD_SIMD
calculations
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27529 >
2024-02-14 20:07:13 +00:00
Sagar Ghuge
8f880d0ad7
intel/dev: Update max_subslices_per_slice comment
...
Mention that max_subslices_per_slice relates to GT_SS_PER_SLICE in SKU.
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27529 >
2024-02-14 20:07:13 +00:00
Jordan Justen
b533bf7361
intel/compiler: Set branch shader required-width as 16 for xe2
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27529 >
2024-02-14 20:07:13 +00:00
José Roberto de Souza
4423454daa
intel/common: Implement xe_engines_is_guc_semaphore_functional()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
dff96257da
intel/common: Implement i915_engines_is_guc_semaphore_functional()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
29ee85c203
anv: Use intel_engines_supported_count()
...
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
fe2982278f
intel/common: Add intel_engines_supported_count()
...
This function is intented to check for KMD, platform or debug options
and return the number of engines that can actually be used.
Next patches will implement i915/xe_engines_is_guc_semaphore_functional()
functions.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
ffca423472
intel: Remove circular dependency between intel/dev and intel/common
...
intel/common has a build dependency on intel/dev so the later should
not have any dependendies on the first.
So here moving the definition of intel_engine_class to
intel_device_info.h because it is used in intel_device_info struct
and then including intel_device_info.h in intel_engine.h.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
6b5c446556
intel/common: Fix location of C++ support macro in intel_gem.h
...
'extern "C" {' must be added before any includes otherwise the braces
would not match when 'extern "C" {' is defined in other headers.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
José Roberto de Souza
398bdb46ba
anv: Drop include to common/i915/intel_gem.h
...
Common code should not directly include KMD specific files.
At least there was no usage from symbols defined in this file.
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25233 >
2024-02-14 17:29:54 +00:00
Lionel Landwerlin
e54638ddf5
anv: fix buffer marker cache flush issues on MTL
...
For some yet unknown reason the CS L3 coherency setting is different
on MTL than DG2.
Fixes issues in tests from the subgroup :
dEQP-VK.api.buffer_marker.*
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: c8e122a738 ("anv: Implement rudimentary VK_AMD_buffer_marker support")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27613 >
2024-02-14 13:45:46 +00:00
Lionel Landwerlin
34078b67ed
anv: don't allocate aux padded BOs with host pointers
...
We can't allocate additional space with host pointers anyway. These
are already allocated pieces of memory by the application.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Fixes: 646a7c864d ("anv: re-introduce BO CCS allocations")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10608
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27612 >
2024-02-14 11:51:33 +00:00
Lionel Landwerlin
feb7cf82dc
anv: remove redundant asserts
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27611 >
2024-02-14 11:07:10 +00:00
Mark Janes
2143da6d5a
intel/dev: improve meson invocation for intel_device_info gen
...
Review for related code-generation commits advised that the use of an
--outdir parameter was undesirable.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557 >
2024-02-13 19:38:36 +00:00
Mark Janes
f95b87a3dc
intel/tools: load json device info in drm_shim
...
Enable drm_shim to parse a serialized intel_device_info structure from
json. When overriding the gpu hardware, drm_shim provides the stubbed
intel_device_info structure to mesa through an unused ioctl.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557 >
2024-02-13 19:38:36 +00:00
Mark Janes
56da473b6f
intel/dev/tools: add json as an output format for intel_dev_info
...
intel_dev_info prints out struct intel_device_info in a user-friendly
format. Json format enables this information to be used as input for
tools.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557 >
2024-02-13 19:38:36 +00:00
Mark Janes
1f725a222a
intel/dev: implement json serialization for intel_device_info
...
Generate intel_device_serialize.c from a mako template, providing
functions to dump and parse intel_device_info.
intel_device_info.py declares python objects representing all type
declarations associated with intel_device_info. It is used as a data
source for intel_device_serialize_c.py
intel_device_serialize_c.py emits a c++ file with routines to dump
or load all struct members to/from json. The json format is a direct
translation of the c structure, with 2 exceptions:
- When parsing json, the no_hw member is always set to true to
indicate that the driver's intel_device_info does not correspond to
the current platform.
- When dumping to json, devinfo_type_sha1 is calculated to be a
checksum which changes whenever intel_device_info is updated. This
checksum is encoded in json. When parsing json, the driver verifies
that the checksum matches before loading data into
intel_device_info. This verifies compatibility.
Reviewed-by: Dylan Baker <dylan@pnwbakers.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27557 >
2024-02-13 19:38:36 +00:00
Mark Janes
e56f810316
intel/tools: add intel device meson dependencies
...
idep_intel_dev ensures that headers are generated before dependent
source files are compiled. Some tools have been building without that
dependency, and encounter intermittent compilation errors on
sufficiently parallel builds.
Any target which depends on idep_intel_dev will link with
libintel_dev. Redundant link instructions can be removed.
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10604
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27600 >
2024-02-13 18:37:19 +00:00
José Roberto de Souza
d0fba810b3
intel: Fix intel_get_mesh_urb_config()
...
The round up in 'next_address_8kb = DIV_ROUND_UP(push_constant_kb, 8)'
was not decreasing the amount of URB available for Mesh and Task, what
could cause an over allocation of URB.
There was also no minimum entries enforcement for Mesh and Task, what
could cause 0 r.mesh_entries to be set in a case where tue_size_dw is
90% > than mue_size_dw. Same for r.task_entries when Task is enabled.
Also adding a few more asserts to help debug.
This fixes at least dEQP-VK.mesh_shader.ext.properties.mesh_payload_size
in LNL but it has potential to fixes other Mesh tests as well.
Cc: mesa-stable
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27555 >
2024-02-13 15:06:32 +00:00
Tapani Pälli
29a6beb36e
anv: revert cache flushing changes for indirect commands
...
This reverts commit d699600da1 .
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10600
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/27591 >
2024-02-13 09:47:32 +00:00
Lionel Landwerlin
f192ea630a
intel/shaders: enable gfx8 support
...
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/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
76c3d97c84
intel/shaders: add iris variant of indirect draws generation shader
...
Iris does not use Gfx11+ SGVS extended parameters, so we have to rely
on the old Gfx9 method of providing the parameters through vertex
buffers.
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/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
b52e25d3a8
anv: rewrite internal shaders using OpenCL
...
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/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
1e31fd5f42
meson: add option to install intel-clc
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
a26c7b0b03
intel/ds: new tracepoints for generated commands
...
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/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
472f49ef43
genxml: remove NDEBUG_UNUSED
...
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/26797 >
2024-02-13 00:06:45 +00:00
Lionel Landwerlin
41b2ed65e2
genxml: generate opencl packing headers
...
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/26797 >
2024-02-13 00:06:45 +00:00