Commit Graph

171 Commits

Author SHA1 Message Date
Mateusz Jablonski
54bda0e986 fix: In Linux CL/GL sharing
- always issue flush request before export

Apparently it's expected to flush the object (which might convert them
from one format to another for export, or remove aux buffer uses or
anything not supported by export).

- use modifier to select tiling mode

Previously we just assumed that whatever tiling mode was picked by mesa
will match the one picked by GMMLIB but that's not always the case
and in particular on Arc and Xe it doesn't work ... Mesa picks Tile4
and GMMLIB picks Tile64 ...

Fixes: #761
Fixes: #736

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-06 21:40:18 +02:00
Mateusz Jablonski
579af57161 refactor: don't call OsLibrary::load directly, use function pointer
this allows mocking this call in ULT

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-20 08:59:26 +02:00
Lukasz Jobczyk
b0a5f2cced fix: Stop direct submission before signal GL event
Related-To: NEO-10556

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-07-11 13:45:42 +02:00
Dominik Dabek
76e8be5c39 fix(ocl): handle gl sharing displayable textures
Displayable textures always need dc flush.

Related-To: NEO-11694

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2024-06-27 13:43:20 +02:00
Lukasz Jobczyk
ce0047de39 fix: Use proper GA object to check shared handle in debug break
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2024-06-19 11:08:37 +02:00
Jaroslaw Warchulski
daec249430 refactor: remove not needed createGraphicsAllocationFromNTHandle method
Related-To: NEO-11498
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-18 14:25:00 +02:00
Jaroslaw Warchulski
76a05c1cab refactor: pass arrayIndex to Wddm::openNTHandle function
Related-To: NEO-11498
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-12 12:11:35 +02:00
Jaroslaw Warchulski
0ac1be7669 refactor: pass arrayIndex to Wddm::openSharedHandle function
Related-To: NEO-11498
Signed-off-by: Jaroslaw Warchulski <jaroslaw.warchulski@intel.com>
2024-06-07 09:51:26 +02:00
Mateusz Jablonski
bcaa62bed3 build: refactor linux kernel headers
Add cmake flags to provide path to headers to drm / i915 /i915 prelim / xe

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-28 14:48:09 +01:00
Mateusz Jablonski
78a4a92b44 refactor: reorder members to reduce internal padding in structs
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-25 15:50:00 +01:00
Filip Hazubski
07b9117b44 refactor: Explicitly delete copy c-tor and copy assignment of GlBuffer
Comply with the rule of three.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-03-25 10:55:02 +01:00
Maciej Plewka
f0281202bf feature: Signal to OGL creating/destroying shared buffer
Related-To: NEO-9151
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-03-06 16:28:28 +01:00
Mateusz Jablonski
bfbe5a048c fix: verify retVal from poll function in gl sharing sync on Linux
unify logic of synchronization objects
add default iniialization of gl context guard members

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-05 11:26:27 +01:00
Mateusz Jablonski
8c55dd91a6 fix: don't use poll/close syscalls in gl sharing tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-04 14:09:46 +01:00
Sylvain Munaut
e2c511bc00 feature(ocl): Improve Linux CL/GL sharing support
This commit is aimed at drastically improving the support for the CL/GL
sharing
extension on linux. The current support is not really usable as it only
supports a few texture format, and only on EGL contexts. It is also
pretty
buggy since it requires the texture to be bound when placing the CL call
to
share it which is just plain wrong and will not work in many
applications.
This new version makes used of the "official" interop extension from
MESA
which is available for GLX and EGL contexts, allows sharing of buffers
and
not just texture and supports many more formats.
This is still far from being a fully compliant / full featured version
of
the extension, but it's a big step forward in my opinion and allows to
run
some real applications.
I've tested gr-fosphor (SDR spectrum display) and Davinci Resolve as
examples.
Both of theses don't work without theses improvements.

Fixes: https://github.com/intel/compute-runtime/issues/659
Fixes: https://github.com/intel/compute-runtime/issues/667

https://github.com/intel/compute-runtime/pull/673

Related-To: NEO-3599

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-01 13:38:56 +01:00
Mateusz Jablonski
a4888b39c6 build: add clang-tidy restriction for Enum case
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-21 08:58:51 +01:00
Mateusz Jablonski
138fb65401 refactor: correct naming of enum class constants 11/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 14:52:57 +01:00
Mateusz Jablonski
dd1b9d6abc refactor: correct naming of enum class constants 8/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-19 08:18:18 +01:00
Mateusz Jablonski
b182917d9d refactor: correct naming of allocation types
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-11 16:23:37 +01:00
Mateusz Jablonski
552c129c0b refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-04 15:14:02 +01:00
Mateusz Jablonski
c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Mateusz Jablonski
e301418423 fix: correct issues with clang tidy
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-31 12:23:42 +01:00
Mateusz Jablonski
9c7f31620a refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-31 10:29:15 +01:00
Mateusz Jablonski
d56abe6f60 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-30 17:26:20 +01:00
Mateusz Jablonski
036d1e4814 refactor: correct variable naming
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-30 12:48:51 +01:00
Jablonski, Mateusz
8b682a6bcb fix: fix compilation error in clang on Windows (3/n)
Related-To: NEO-9248
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2023-10-25 17:38:56 +02:00
Jablonski, Mateusz
ac5f64f5c6 fix: fix compilation error in clang on Windows (2/n)
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2023-10-24 15:59:06 +02:00
Baj, Tomasz
e10f39017d fix: Add ImageInfo to createGraphicsAllocation on Linux
Related-To: NEO-6757

Signed-off-by: Baj, Tomasz <tomasz.baj@intel.com>
2023-09-14 12:58:59 +02:00
Maciej Plewka
09c1d474c9 fix: adjust depth limitations for images
Related-To: NEO-8239, HSD-14019991752

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2023-09-08 13:05:49 +02:00
Artur Harasimiuk
b578e4ad57 refactor: cmake cleanup
Related-To: NEO-8256, NEO-8257

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-08-28 11:40:48 +02:00
Compute-Runtime-Validation
5114988f34 Revert "refactor: cmake cleanup"
This reverts commit 9da3960123.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-28 03:05:49 +02:00
Artur Harasimiuk
9da3960123 refactor: cmake cleanup
Related-To: NEO-8256, NEO-8257

Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2023-08-25 18:07:48 +02:00
Wang, Elaine
c4728b312c feature: Add ARGB support for openCL VA surface
Support VA surface format VA_FOURCC_ARGB

Related-To: HSD-22018705184

Signed-off-by: Wang, Elaine <elaine.wang@intel.com>
2023-08-24 08:37:28 +02:00
Jaroslaw Chodor
023fe38448 fix: Use correct dimensions for UV plane
For image view mapped directly to UV plane,
the dimensions should 2 times smaller than
dimensions of the source image.
(1 raw UV pair maps to 2x2 block of original image)

Related-To: NEO-7936

Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2023-06-28 23:34:50 +02:00
Neil R Spruit
ded9d7bff2 feature: Get Peer Allocation with specified base Pointer
Related-To: LOCI-4176

- Given a Base Pointer passed into Get Peer Allocation, then the base
pointer is used in the map of the new allocation to the virtual memory.
- Enables users to use the same pointer for all devices in Peer To Peer.
- Currently unsupported on reserved memory due to mapped and exec
resiedency of Virtual addresses.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2023-05-24 20:41:20 +02:00
Mateusz Jablonski
b1543289d2 fix: get gmm resource type using ResourceInfo interface
GMM_RESOURCE_INFO interface should be used only within ResourceInfo class

Related-To: NEO-7951
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-05-11 17:51:14 +02:00
Warchulski, Jaroslaw
9e44344419 feature: implementation for creating image with external memory
Related-To: NEO-6757
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-04-28 16:04:19 +02:00
Fabian Zwolinski
e351a90f81 refactor: Rename member variables to camelCase 2/n
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-04-27 20:39:22 +02:00
Diedrich, Kamil
e9ebe2ebf8 Add redescribing for YUYV format
Related-To: NEO-7245

Signed-off-by: Diedrich, Kamil <kamil.diedrich@intel.com>
2023-03-24 15:59:25 +01:00
Mateusz Jablonski
4919c7c9fb feature: add experimental support for cl-gl sharing on Linux
based on 'clgl-fork' branch from https://github.com/kallaballa/compute-runtime

EGL headers taken from https://github.com/KhronosGroup/EGL-Registry
revision: 57b4876de0f33677ece92dd9de0ef105ce69139d

Related-To: NEO-3599

Fixes https://github.com/intel/compute-runtime/issues/166

Co-authored-by: Jacek Danecki <jacek.danecki@intel.com>
Co-authored-by: Amir Hassan <amir@viel-zu.org>

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-20 12:49:52 +01:00
Compute-Runtime-Validation
e118e35290 Revert "feature: add experimental support for cl-gl sharing on Linux"
This reverts commit 9b35ba5e50.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-03-19 07:54:11 +01:00
Mateusz Jablonski
9b35ba5e50 feature: add experimental support for cl-gl sharing on Linux
based on 'clgl-fork' branch from https://github.com/kallaballa/compute-runtime

EGL headers taken from https://github.com/KhronosGroup/EGL-Registry
revision: 57b4876de0f33677ece92dd9de0ef105ce69139d

Related-To: NEO-3599

Fixes https://github.com/intel/compute-runtime/issues/166

Co-authored-by: Jacek Danecki <jacek.danecki@intel.com>
Co-authored-by: Amir Hassan <amir@viel-zu.org>

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-17 08:58:29 +01:00
Kamil Kopryk
fa8579602f refactor: rename product helper files n/n
Related-To: NEO-7703
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-10 13:24:38 +01:00
Warchulski, Jaroslaw
8c17313c8b Cleanup includes 53
Cleaned up files:
opencl/source/mem_obj/image.inl
shared/offline_compiler/source/decoder/zebin_manipulator.h
shared/source/aub_mem_dump/aub_alloc_dump.h
shared/source/compiler_interface/intermediate_representations.h
shared/source/helpers/blit_commands_helper_base.inl
shared/source/utilities/debug_file_reader.h
shared/source/utilities/software_tags.h
shared/source/xe_hpc_core/hw_cmds_pvc.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-15 13:21:14 +01:00
Warchulski, Jaroslaw
d1b2311207 Cleanup includes 49
Cleaned up files:
opencl/source/command_queue/command_queue_hw.h
opencl/source/gtpin/gtpin_defs.h
opencl/source/mem_obj/mem_obj_helper.h
opencl/source/memory_manager/mem_obj_surface.h
opencl/source/sharings/unified/unified_sharing.h
opencl/test/unit_test/api/cl_enqueue_migrate_mem_objects_tests.inl
opencl/test/unit_test/aub_tests/fixtures/unified_memory_fixture.h
opencl/test/unit_test/command_queue/command_queue_fixture.h

Related-To: NEO-5548

Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-10 17:26:49 +01:00
Warchulski, Jaroslaw
64f735481d Cleanup includes 48
Cleaned up files:
shared/source/command_container/command_encoder.inl
shared/source/os_interface/hw_info_config.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-10 17:23:02 +01:00
Warchulski, Jaroslaw
a2e6a8284b Cleanup includes 47
Cleaned up files:
level_zero/tools/source/debug/windows/debug_session.h
level_zero/tools/source/sysman/memory/windows/os_memory_imp.h
level_zero/tools/source/sysman/windows/kmd_sys_manager.h
opencl/test/unit_test/aub_tests/command_stream/copy_engine_aub_tests_xehp_and
shared/source/command_container/command_encoder.inl
shared/source/command_stream/command_stream_receiver_hw_xehp_and_later.inl
shared/source/helpers/blit_commands_helper_base.inl
shared/test/unit_test/image/image_surface_state_fixture.h
shared/test/unit_test/os_interface/windows/os_interface_win_tests.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-02-10 17:07:30 +01:00
Kamil Kopryk
2484c7ceb2 refactor: rename hw_helper files to gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 19:37:51 +01:00
Warchulski, Jaroslaw
414dbed5d9 Cleanup includes 46
Cleaned up files:
opencl/source/api/api.h
opencl/source/os_interface/windows/d3d_sharing_functions.h
opencl/test/unit_test/aub_tests/command_stream/aub_mem_dump_tests.h
opencl/test/unit_test/fixtures/ult_command_stream_receiver_fixture.h
shared/source/os_interface/linux/device_time_drm.h
shared/source/os_interface/linux/os_time_linux.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-27 14:31:05 +01:00
Warchulski, Jaroslaw
fe8a6d98ad Cleanup includes 45
Cleaned up files:
opencl/source/api/api.h
shared/source/command_stream/csr_deps.h
shared/source/helpers/engine_node_helper.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-26 11:12:15 +01:00