Skip to content

Commit a6ed31b

Browse files
ichenkaiigcbot
authored andcommitted
ZEBinary: Add hasLscStoresWithNonDefaultL1CacheControls flag into zeinfo
3D clients want the info of LSC stores with non-default L1 cache policy in order to determine if the resource barriers should flush UAV coherency.
1 parent ed13c2c commit a6ed31b

File tree

5 files changed

+10
-6
lines changed

5 files changed

+10
-6
lines changed

IGC/ZEBinWriter/zebin/source/autogen/ZEInfo.hpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*========================== begin_copyright_notice ============================
22
3-
Copyright (C) 2020-2024 Intel Corporation
3+
Copyright (C) 2020-2025 Intel Corporation
44
55
SPDX-License-Identifier: MIT
66
@@ -47,7 +47,7 @@ struct zeInfoExecutionEnv
4747
{
4848
bool operator==(const zeInfoExecutionEnv& other) const
4949
{
50-
return barrier_count == other.barrier_count && disable_mid_thread_preemption == other.disable_mid_thread_preemption && grf_count == other.grf_count && has_4gb_buffers == other.has_4gb_buffers && has_device_enqueue == other.has_device_enqueue && has_dpas == other.has_dpas && has_fence_for_image_access == other.has_fence_for_image_access && has_global_atomics == other.has_global_atomics && has_multi_scratch_spaces == other.has_multi_scratch_spaces && has_no_stateless_write == other.has_no_stateless_write && has_stack_calls == other.has_stack_calls && require_disable_eufusion == other.require_disable_eufusion && indirect_stateless_count == other.indirect_stateless_count && inline_data_payload_size == other.inline_data_payload_size && offset_to_skip_per_thread_data_load == other.offset_to_skip_per_thread_data_load && offset_to_skip_set_ffid_gp == other.offset_to_skip_set_ffid_gp && required_sub_group_size == other.required_sub_group_size && required_work_group_size == other.required_work_group_size && simd_size == other.simd_size && slm_size == other.slm_size && private_size == other.private_size && spill_size == other.spill_size && subgroup_independent_forward_progress == other.subgroup_independent_forward_progress && thread_scheduling_mode == other.thread_scheduling_mode && work_group_walk_order_dimensions == other.work_group_walk_order_dimensions && eu_thread_count == other.eu_thread_count && has_sample == other.has_sample && has_rtcalls == other.has_rtcalls && generate_local_id == other.generate_local_id;
50+
return barrier_count == other.barrier_count && disable_mid_thread_preemption == other.disable_mid_thread_preemption && grf_count == other.grf_count && has_4gb_buffers == other.has_4gb_buffers && has_device_enqueue == other.has_device_enqueue && has_dpas == other.has_dpas && has_fence_for_image_access == other.has_fence_for_image_access && has_global_atomics == other.has_global_atomics && has_multi_scratch_spaces == other.has_multi_scratch_spaces && has_no_stateless_write == other.has_no_stateless_write && has_stack_calls == other.has_stack_calls && require_disable_eufusion == other.require_disable_eufusion && indirect_stateless_count == other.indirect_stateless_count && inline_data_payload_size == other.inline_data_payload_size && offset_to_skip_per_thread_data_load == other.offset_to_skip_per_thread_data_load && offset_to_skip_set_ffid_gp == other.offset_to_skip_set_ffid_gp && required_sub_group_size == other.required_sub_group_size && required_work_group_size == other.required_work_group_size && simd_size == other.simd_size && slm_size == other.slm_size && private_size == other.private_size && spill_size == other.spill_size && subgroup_independent_forward_progress == other.subgroup_independent_forward_progress && thread_scheduling_mode == other.thread_scheduling_mode && work_group_walk_order_dimensions == other.work_group_walk_order_dimensions && eu_thread_count == other.eu_thread_count && has_sample == other.has_sample && has_rtcalls == other.has_rtcalls && generate_local_id == other.generate_local_id && has_lsc_stores_with_non_default_l1_cache_controls == other.has_lsc_stores_with_non_default_l1_cache_controls;
5151
}
5252
zeinfo_int32_t barrier_count = 0;
5353
zeinfo_bool_t disable_mid_thread_preemption = false;
@@ -78,6 +78,7 @@ struct zeInfoExecutionEnv
7878
zeinfo_bool_t has_sample = false;
7979
zeinfo_bool_t has_rtcalls = false;
8080
zeinfo_bool_t generate_local_id = false;
81+
zeinfo_bool_t has_lsc_stores_with_non_default_l1_cache_controls = false;
8182
};
8283
struct zeInfoPayloadArgument
8384
{
@@ -291,7 +292,7 @@ struct zeInfoContainer
291292
KernelsCostInfoTy kernels_cost_info;
292293
};
293294
struct PreDefinedAttrGetter{
294-
static zeinfo_str_t getVersionNumber() { return "1.50"; }
295+
static zeinfo_str_t getVersionNumber() { return "1.52"; }
295296

296297
enum class ArgThreadSchedulingMode {
297298
age_based,

IGC/ZEBinWriter/zebin/source/autogen/ZEInfoYAML.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*========================== begin_copyright_notice ============================
22
3-
Copyright (C) 2020-2024 Intel Corporation
3+
Copyright (C) 2020-2025 Intel Corporation
44
55
SPDX-License-Identifier: MIT
66
@@ -87,6 +87,7 @@ void MappingTraits<zeInfoExecutionEnv>::mapping(IO& io, zeInfoExecutionEnv& info
8787
io.mapOptional("has_sample", info.has_sample, false);
8888
io.mapOptional("has_rtcalls", info.has_rtcalls, false);
8989
io.mapOptional("generate_local_id", info.generate_local_id, false);
90+
io.mapOptional("has_lsc_stores_with_non_default_l1_cache_controls", info.has_lsc_stores_with_non_default_l1_cache_controls, false);
9091
}
9192
void MappingTraits<zeInfoPayloadArgument>::mapping(IO& io, zeInfoPayloadArgument& info)
9293
{

IGC/ZEBinWriter/zebin/source/autogen/ZEInfoYAML.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*========================== begin_copyright_notice ============================
22
3-
Copyright (C) 2020-2024 Intel Corporation
3+
Copyright (C) 2020-2025 Intel Corporation
44
55
SPDX-License-Identifier: MIT
66

IGC/ZEBinWriter/zebin/spec/version.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ SPDX-License-Identifier: MIT
77
============================= end_copyright_notice ==========================-->
88

99
# ZEBIN Version
10-
Version 1.51
10+
Version 1.52
1111
=======
1212

1313
## Versioning
@@ -16,6 +16,7 @@ Format: \<_Major number_\>.\<_Minor number_\>
1616
- Minor number: Increase when backward-compatible features are added. For example, add new attributes.
1717

1818
## Change Note
19+
- **Version 1.52**: Add has_lsc_stores_with_non_default_l1_cache_controls flag in zeinfo environment.
1920
- **Version 1.51**: Attribute size in payload_arguments now shows the the number of bytes needed for allocating the argument. It is no longer aligned to 4.
2021
- **Version 1.50**: Add generateLocalID flag.
2122
- **Version 1.49**: Internal changes.

IGC/ZEBinWriter/zebin/spec/zeinfo.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ If an attribute is **Required**, it must be present in exection_env. If it's **O
145145
| has_sample | bool | Optional | false | |
146146
| has_rtcalls | bool | Optional | false | |
147147
| generate_local_id | bool | Optional | false | Flag of HW local ID capable info in cross-thread-payload. |
148+
| has_lsc_stores_with_non_default_l1_cache_controls | bool | Optional | false | Flag of HasLscStoresWithNonDefaultL1CacheControls to determine if the resource barriers should flush UAV coherency. |
148149
<!--- ExecutionEnv -->
149150

150151
### Supported thread scheduling mode:

0 commit comments

Comments
 (0)