mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-04 15:53:45 +08:00
Check IndirectStatelessCount from igc
If kernel has no stateless indirect accesses don't set the kernelHasIndirectAccess flag. Don't make resident or migrate if kernel has no indirect accesses. Changed initial values in KernelAttributes. Related-To: NEO-6597 Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
8a0a556d16
commit
63f406a58c
@@ -317,6 +317,9 @@ DecodeError readZeInfoExperimentalProperties(const NEO::Yaml::YamlParser &parser
|
||||
ConstStringRef context,
|
||||
std::string &outErrReason, std::string &outWarning) {
|
||||
bool validExperimentalProperty = true;
|
||||
outExperimentalProperties.hasNonKernelArgLoad = true;
|
||||
outExperimentalProperties.hasNonKernelArgStore = true;
|
||||
outExperimentalProperties.hasNonKernelArgAtomic = true;
|
||||
for (const auto &experimentalPropertyNd : parser.createChildrenRange(node)) {
|
||||
for (const auto &experimentalPropertyMemberNd : parser.createChildrenRange(experimentalPropertyNd)) {
|
||||
auto key = parser.readKey(experimentalPropertyMemberNd);
|
||||
|
||||
@@ -156,9 +156,9 @@ struct KernelDescriptor {
|
||||
uint16_t numArgsToPatch = 0U;
|
||||
uint16_t numGrfRequired = 0U;
|
||||
uint8_t barrierCount = 0u;
|
||||
bool hasNonKernelArgLoad = true;
|
||||
bool hasNonKernelArgStore = true;
|
||||
bool hasNonKernelArgAtomic = true;
|
||||
bool hasNonKernelArgLoad = false;
|
||||
bool hasNonKernelArgStore = false;
|
||||
bool hasNonKernelArgAtomic = false;
|
||||
|
||||
AddressingMode bufferAddressingMode = BindfulAndStateless;
|
||||
AddressingMode imageAddressingMode = Bindful;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2019-2020 Intel Corporation
|
||||
* Copyright (C) 2019-2022 Intel Corporation
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
@@ -21,4 +21,8 @@ struct UnifiedMemoryControls {
|
||||
bool indirectDeviceAllocationsAllowed = false;
|
||||
bool indirectHostAllocationsAllowed = false;
|
||||
bool indirectSharedAllocationsAllowed = false;
|
||||
|
||||
bool anyIndirectAllocationsAllowed() const {
|
||||
return indirectDeviceAllocationsAllowed || indirectHostAllocationsAllowed || indirectSharedAllocationsAllowed;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user