compute-runtime/shared/source/helpers
Kamil Kopryk dd3d294f87 performance: cache MOCS values
This change caches the most used MOCS values:

* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CONST);
* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER);
* getMOCS(GMM_RESOURCE_USAGE_OCL_BUFFER_CACHELINE_MISALIGNED);
inside gmmHelper class during initialization to avoid repeated
calls of virtual functions, branches and/or gmm lib access.

and adds more readably corresponding getters:
* getL1EnabledMOCS
* getL3EnabledMOCS
* getUncachedMOCS

If force all resources uncached is called,
these 3 cached mocs values are reinitialized

It also changes the order of gmmHelper members, to avoid
not needed padding after addressWidth
and simplifies logic in getMocsIndex function
for xehp and later products.

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2025-04-14 14:12:48 +02:00
..
aarch64 fix: to always use grfs count in calculateNumThreadsPerThreadGroup 2024-03-22 11:03:18 +01:00
definitions performance: update igc indirect detection version 2025-01-07 13:25:12 +01:00
linux Revert "refactor: remove excess cast to C-string and add const reference" 2025-01-15 02:43:40 +01:00
windows fix: move pathExists out of sys calls and do not mock it 2024-09-10 19:24:45 +02:00
x86_64 fix: to always use grfs count in calculateNumThreadsPerThreadGroup 2024-03-22 11:03:18 +01:00
CMakeLists.txt feature: add internal interfaces to manage all dispatch models of command lists 2025-02-28 12:02:22 +01:00
abort.cpp
abort.h
address_patch.h refactor: correct naming of enum class constants 8/n 2023-12-19 08:18:18 +01:00
addressing_mode_helper.cpp fix(ocl): Force rebuild if binary contains bindless kernel 2024-05-20 14:15:17 +02:00
addressing_mode_helper.h fix(ocl): Force rebuild if binary contains bindless kernel 2024-05-20 14:15:17 +02:00
affinity_mask.h refactor: two engineInstanced-methods removed 2024-10-11 18:34:06 +02:00
aligned_memory.h performance: Correct alignment checks 2024-09-10 08:43:36 +02:00
allow_deferred_deleter.cpp refactor: rename global debug manager to debugManager 2023-11-30 13:00:59 +01:00
api_gfx_core_helper.h
api_specific_config.h refactor: add setupTimestampPacketFlushL3 function 2025-03-24 13:10:03 +01:00
app_resource_defines.h refactor: correct variable namings 2023-11-29 23:49:03 +01:00
app_resource_helper.cpp fix: create and use new allocation type for syncBuffer 2024-09-06 14:11:33 +02:00
app_resource_helper.h
append_operations.h feature: add internal interfaces to manage all dispatch models of command lists 2025-02-28 12:02:22 +01:00
array_count.h refactor: correct variable naming 2023-12-04 13:45:53 +01:00
aux_translation.h refactor: correct naming of enum class constants 8/n 2023-12-19 08:18:18 +01:00
basic_math.h refactor: correct variable namings 2023-11-29 23:49:03 +01:00
bcs_ccs_dependency_pair_container.h fix: cache flush dependency for queue blocked 2024-05-20 11:55:24 +02:00
bindless_heaps_helper.cpp fix: Set vmbind user fence when makeMemoryResident 2025-02-10 14:20:09 +01:00
bindless_heaps_helper.h fix: Add asserts to ensure NonCopyable and NonMovable 3/n 2025-02-18 17:16:03 +01:00
bit_helpers.h fix: Correct logic to select internal BCS engine 2024-07-18 12:02:50 +02:00
blit_commands_helper.h fix: Fix copying with blitter 2025-02-06 14:11:23 +01:00
blit_commands_helper_base.inl fix: Fix copying with blitter 2025-02-06 14:11:23 +01:00
blit_commands_helper_pvc_and_later.inl performance: cache MOCS values 2025-04-14 14:12:48 +02:00
blit_commands_helper_xe2_and_later.inl refactor: unify blit mem set functions 2025-01-27 18:34:48 +01:00
blit_commands_helper_xehp_and_later.inl performance: cache MOCS values 2025-04-14 14:12:48 +02:00
blit_helper.cpp refactor: move blit post sync data to BlitProperties 2025-01-22 18:35:21 +01:00
blit_helper.h refactor: correct naming of enum class constants 9/n 2023-12-19 10:36:25 +01:00
blit_properties.cpp fix: Copy tiled 1D array per array element with BLT 2025-03-07 17:29:04 +01:00
blit_properties.h fix: Copy tiled 1D array per array element with BLT 2025-03-07 17:29:04 +01:00
blit_properties_container.h
cache_flush.inl refactor: remove not used usings/typedefs/variables 2024-11-28 16:19:39 +01:00
cache_flush_xehp_and_later.inl
cache_policy.cpp performance: enable staging for reads from image 2025-02-13 18:15:59 +01:00
cache_policy.h performance: enable staging for reads from image 2025-02-13 18:15:59 +01:00
cache_policy_base.inl refactor: rename global debug manager to debugManager 2023-11-30 13:00:59 +01:00
cache_policy_dg2_and_later.inl refactor: Adjust RENDER_SURFACE_STATE structures naming 2024-11-29 09:43:11 +01:00
cache_policy_tgllp_and_later.inl refactor: adjust file names after pre-gen12 removal 1/3 2025-01-22 22:47:24 +01:00
casts.h
common_types.h feature: support L2 cache reservation 2025-03-17 19:41:55 +01:00
compiler_aot_config_tgllp_and_later.inl refactor: adjust file names after pre-gen12 removal 2/3 2025-02-03 15:31:51 +01:00
compiler_options_parser.cpp refactor: refactor logic for querying atomic FP capabilities 2024-03-28 15:27:45 +01:00
compiler_options_parser.h fix: Append extra extensions when FP64 emulation is enabled 2023-06-22 08:38:53 +02:00
compiler_product_helper.cpp refactor: rename global debug manager to debugManager 2023-11-30 13:00:59 +01:00
compiler_product_helper.h feature: Add ftrHeaplessMode flag 2025-04-02 21:06:05 +02:00
compiler_product_helper_base.inl feature: Add ftrHeaplessMode flag 2025-04-02 21:06:05 +02:00
compiler_product_helper_before_xe_hp.inl refactor: move number of threads per eu to release helper 2023-11-20 12:16:33 +01:00
compiler_product_helper_before_xe_hpc.inl fix: Remove pragma once from inl files 2025-02-18 20:19:15 +01:00
compiler_product_helper_disable_subgroup_local_block_io.inl refactor: move extensions support logic to compiler product helper 2023-03-14 12:09:26 +01:00
compiler_product_helper_enable_subgroup_local_block_io.inl refactor: move extensions support logic to compiler product helper 2023-03-14 12:09:26 +01:00
compiler_product_helper_mtl_and_later.inl feature: Add default ip version values to helper 2023-06-02 12:10:21 +02:00
compiler_product_helper_product_config_default.inl feature: Add default ip version values to helper 2023-06-02 12:10:21 +02:00
compiler_product_helper_tgllp_and_later.inl fix: Remove pragma once from inl files 2025-02-18 20:19:15 +01:00
compiler_product_helper_xe_hp_and_later.inl refactor: move number of threads per eu to release helper 2023-11-20 12:16:33 +01:00
compiler_product_helper_xe_hpc_and_later.inl fix: Remove pragma once from inl files 2025-02-18 20:19:15 +01:00
completion_stamp.h performance: add skeleton method to cmdlist immediate flush task 2023-06-30 10:46:20 +02:00
constants.h fix: untrusted input 2025-02-10 14:54:03 +01:00
debug_helpers.cpp Revert "feature: extend TBX page fault manager from CPU implementation" 2024-12-12 12:30:22 +01:00
debug_helpers.h performance: Correct alignment checks 2024-09-10 08:43:36 +02:00
deferred_deleter_helper.h
device_bitfield.h
device_hierarchy_mode.h refactor: use enum class instead of enum for DeviceHierarchyMode 2025-01-16 15:49:44 +01:00
dirty_state_helpers.cpp fix: use correct gpu address when bindless heaps helper is enabled 2024-08-05 15:09:57 +02:00
dirty_state_helpers.h fix: use correct gpu address when bindless heaps helper is enabled 2024-08-05 15:09:57 +02:00
driver_model_type.h refactor: correct naming of enum class constants 8/n 2023-12-19 08:18:18 +01:00
enable_product.inl refactor: add method to get hw config from CompilerProductHelper 2023-03-02 08:25:50 +01:00
engine_control.cpp
engine_control.h
engine_node_helper.cpp feature: add support for HP copy engine context 2024-07-19 12:23:03 +02:00
engine_node_helper.h refactor: engineInstancedType removed 2024-10-09 16:30:48 +02:00
extendable_enum.h
file_io.cpp test: improve unit tests - use virtual file system 2024-03-08 13:34:19 +01:00
file_io.h refactor: Mock file system in ULTs 2025-04-09 19:51:46 +02:00
file_io_load.cpp refactor: Mock file system in ULTs 2025-04-09 19:51:46 +02:00
flat_batch_buffer_helper.cpp refactor: correct naming of enum class constants 8/n 2023-12-19 08:18:18 +01:00
flat_batch_buffer_helper.h
flat_batch_buffer_helper_hw.h
flat_batch_buffer_helper_hw.inl feature: add out cmd pointer to store data imm encoder 2024-03-07 12:52:08 +01:00
flush_stamp.cpp
flush_stamp.h
get_info.h refactor: correct naming of enum class constants 6/n 2023-12-13 14:48:52 +01:00
get_info_status.h refactor: correct naming of enum class constants 6/n 2023-12-13 14:48:52 +01:00
gfx_core_helper.cpp refactor: unify device hierarchy mode 2025-01-14 21:08:44 +01:00
gfx_core_helper.h feature: allow removal of heapful code paths 2025-03-27 01:34:35 +01:00
gfx_core_helper_base.inl performance: cache MOCS values 2025-04-14 14:12:48 +02:00
gfx_core_helper_bdw_to_dg2.inl refactor: engineInstancedType removed 2024-10-09 16:30:48 +02:00
gfx_core_helper_bdw_to_icllp.inl fix: BCS MMIO programming 2024-05-07 14:08:28 +02:00
gfx_core_helper_dg2_and_later.inl refactor: rename global debug manager to debugManager 2023-11-30 13:00:59 +01:00
gfx_core_helper_pvc_and_later.inl performance: Do not create global fence allocation on integrated 2025-04-07 11:22:04 +02:00
gfx_core_helper_tgllp_and_later.inl fix: BCS MMIO programming 2024-05-07 14:08:28 +02:00
gfx_core_helper_xe2_and_later.inl performance: enable compression on PTL 2025-04-11 17:26:29 +02:00
gfx_core_helper_xe3_and_later.inl feature: add support for Panther Lake platform 2025-01-07 11:39:56 +01:00
gfx_core_helper_xehp_and_later.inl performance: cache MOCS values 2025-04-14 14:12:48 +02:00
gpu_page_fault_helper.cpp fix: print to stdout for disable scratch page 2024-05-16 15:05:07 +02:00
gpu_page_fault_helper.h fix: print to stdout for disable scratch page 2024-05-16 15:05:07 +02:00
hardware_context_controller.cpp feature: switch to new aubstream createHardwareContext2 interface 2024-08-26 14:10:53 +02:00
hardware_context_controller.h
hash.h
heap_assigner.cpp refactor: correct naming of HeapIndex enum values 2023-12-12 11:46:17 +01:00
heap_assigner.h feature: heapAssigner per root device 2023-10-19 19:52:24 +02:00
heap_base_address_model.h refactor: correct naming of enum class constants 4/n 2023-12-13 08:08:51 +01:00
heap_helper.cpp fix: add missing AlignLocalMemoryVaTo2MB flag support 2024-08-01 13:54:51 +02:00
heap_helper.h
hw_info.cpp fix: use release helper to get ftrXe2Compression value 2024-12-23 13:28:06 +01:00
hw_info.h refactor: remove cl pipe related logic 2025-02-25 17:56:53 +01:00
hw_info_helper.cpp refactor: Create function to check if OCL2.1 caps are enabled or enforced 2024-02-06 08:27:09 +01:00
hw_info_helper.h refactor: Create function to check if OCL2.1 caps are enabled or enforced 2024-02-06 08:27:09 +01:00
hw_ip_version.h Correct scope of WA for pipecontrol before nonpipelined state 2023-02-24 09:27:12 +01:00
hw_mapper.h feature: allow removal of heapful code paths 2025-03-27 01:34:35 +01:00
hw_walk_order.h refactor: correct variable naming 2023-12-01 08:34:19 +01:00
in_order_cmd_helpers.cpp fix: return correct allocation from InOrderExecInfo getter 2025-02-13 17:35:54 +01:00
in_order_cmd_helpers.h feature: disable counter caching for external storage Events 2025-02-20 11:11:29 +01:00
kernel_helpers.cpp feature: add debug print with global memory size 2025-02-27 23:11:19 +01:00
kernel_helpers.h fix: get minimal offset size for region barrier 2025-01-13 22:56:25 +01:00
kmd_notify_properties.cpp fix: dont download tbx allocations on heapless first device submission 2024-08-06 14:03:42 +02:00
kmd_notify_properties.h performance: debug key for adjust ULLS on battery 2024-03-22 14:24:00 +01:00
l3_range.h refactor: remove not used function 2024-10-02 16:14:40 +02:00
local_id_gen.h fix: to always use grfs count in calculateNumThreadsPerThreadGroup 2024-03-22 11:03:18 +01:00
local_id_gen.inl
local_id_gen_special.inl
local_id_gen_sse4.cpp
local_memory_access_modes.h refactor: correct naming of enum class constants 10/n 2023-12-19 11:30:39 +01:00
local_work_size.cpp refactor: rename global debug manager to debugManager 2023-11-30 13:00:59 +01:00
local_work_size.h
map_operation_type.h refactor: correct naming of enum class constants 8/n 2023-12-19 08:18:18 +01:00
memory_properties_helpers.cpp
memory_properties_helpers.h
memory_properties_helpers_base.inl refactor: rename global debug manager to debugManager 2023-11-30 13:00:59 +01:00
mt_helpers.h
neo_driver_version.h
non_copyable_or_moveable.h fix: Add asserts to ensure NonCopyable and NonMovable 1/n 2025-02-18 09:41:20 +01:00
options.h Revert "performance: improve pool handling" 2024-08-06 13:04:02 +02:00
path.h fix: move pathExists out of sys calls and do not mock it 2024-09-10 19:24:45 +02:00
pause_on_gpu_properties.h refactor: rename global debug manager to debugManager 2023-11-30 13:00:59 +01:00
per_thread_data.h fix: to always use grfs count in calculateNumThreadsPerThreadGroup 2024-03-22 11:03:18 +01:00
pipe_control_args.h feature: store cpu pointer of command buffer pointing to post sync command 2024-02-23 13:12:15 +01:00
pipeline_select_args.h
pipeline_select_helper.h
populate_factory.h
preamble.h feature: allow removal of heapful code paths 2025-03-27 01:34:35 +01:00
preamble_base.inl fix: don't setup preemption surface when debugger is active 2024-10-08 13:58:11 +02:00
preamble_xe2_hpg.inl refactor: Update CFE_STATE 2024-12-23 14:31:20 +01:00
preamble_xe3_and_later.inl feature: allow removal of heapful code paths 2025-03-27 01:34:35 +01:00
preamble_xe_hpg_and_xe_hpc.inl fix: program RenderTargetCacheFlush in PC prior to PIPELINE_SELECT 2024-10-09 16:59:43 +02:00
preamble_xehp_and_later.inl feature: allow removal of heapful code paths 2025-03-27 01:34:35 +01:00
preprocessor.h
product_config_helper.cpp feature: add support for generic id acronyms in ocloc 2024-06-06 10:06:44 +02:00
product_config_helper.h refactor: adjust code to compile with c++20 2024-11-29 10:27:29 +01:00
ptr_math.h feature: New allocators for opaque arrays 2025-03-20 21:59:44 +01:00
ray_tracing_helper.h refactor: Change wording from NonCopyableOrMovable to NonCopyableAndNonMovable 2025-02-17 14:19:10 +01:00
register_offsets.h refactor: include reg_configs_common using full path 2024-07-03 13:30:46 +02:00
registered_method_dispatcher.h
simd_helper.h refactor: correct matchers and typenames for non-heapless ults 2025-02-13 19:47:57 +01:00
sleep.cpp fix: don't wait on condition in unit tests 2023-10-10 15:14:30 +02:00
sleep.h performance: don't wait for paging fence on user thread 2024-08-07 08:30:51 +02:00
state_base_address.h feature: allow removal of heapful code paths 2025-03-27 01:34:35 +01:00
state_base_address_base.inl performance: change usage for ringBuffer on integrated devices 2025-04-14 12:25:38 +02:00
state_base_address_bdw.inl Refactor state base address programing 1/n 2023-02-22 15:17:29 +01:00
state_base_address_helper.h fix: correclty program StateBaseAddress in global bindless mode 2024-09-20 11:57:05 +02:00
state_base_address_icllp_and_later.inl refactor: adjust file names after pre-gen12 removal 2/3 2025-02-03 15:31:51 +01:00
state_base_address_skl.inl feature: bindless addressing for images 2023-08-18 15:59:20 +02:00
state_base_address_tgllp_and_later.inl refactor: adjust file names after pre-gen12 removal 2/3 2025-02-03 15:31:51 +01:00
state_base_address_xehp_and_later.inl performance: cache MOCS values 2025-04-14 14:12:48 +02:00
stdio.h Refactor of IO functions 2023-04-13 10:46:47 +02:00
string.h
string_helpers.h
surface_format_info.h Revert "performance: align structures for 64-bit platforms" 2025-01-15 09:02:01 +01:00
timestamp.h refactor: add timestamps to xe logs 2024-10-07 11:42:55 +02:00
timestamp_packet.cpp fix: add cache flush as dependency for bcs ccs synchronization 2024-05-09 13:43:39 +02:00
timestamp_packet.h fix: clear all TS packets for combined CB event 2025-02-20 19:24:15 +01:00
timestamp_packet_constants.h refactor: define initial value for TimestampPacket 2023-05-30 12:09:05 +02:00
timestamp_packet_container.h fix: add cache flush as dependency for bcs ccs synchronization 2024-05-09 13:43:39 +02:00
topology_map.h
uint16_avx2.h refactor: use common indirectDataAlignment static constexpr value 2024-02-16 13:55:00 +01:00
uint16_sse4.h Apply CamelCase for class and struct names 2/2 2023-04-25 13:10:23 +02:00
validators.h fix: handle single storage USM in gtpin helpers 2023-04-19 14:26:25 +02:00
vec.h refactor: adjust code to compile with c++20 2024-11-29 10:27:29 +01:00