2021-05-18 10:46:21 +08:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2021 Intel Corporation
|
|
|
|
*
|
|
|
|
* SPDX-License-Identifier: MIT
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "shared/source/command_stream/stream_property.h"
|
|
|
|
|
|
|
|
namespace NEO {
|
|
|
|
|
|
|
|
struct StateComputeModeProperties {
|
|
|
|
StreamProperty isCoherencyRequired{};
|
2021-07-07 21:34:46 +08:00
|
|
|
StreamProperty largeGrfMode{};
|
2021-11-19 21:38:23 +08:00
|
|
|
StreamProperty zPassAsyncComputeThreadLimit{};
|
|
|
|
StreamProperty pixelAsyncComputeThreadLimit{};
|
2021-05-18 10:46:21 +08:00
|
|
|
|
2021-06-18 19:29:03 +08:00
|
|
|
void setProperties(bool requiresCoherency, uint32_t numGrfRequired, uint32_t threadArbitrationPolicy);
|
2021-05-26 21:51:11 +08:00
|
|
|
void setProperties(const StateComputeModeProperties &properties);
|
2021-05-18 10:46:21 +08:00
|
|
|
bool isDirty();
|
|
|
|
void clearIsDirty();
|
|
|
|
};
|
|
|
|
|
|
|
|
struct FrontEndProperties {
|
2021-07-29 01:17:51 +08:00
|
|
|
StreamProperty disableOverdispatch{};
|
2021-08-13 22:48:13 +08:00
|
|
|
StreamProperty singleSliceDispatchCcsMode{};
|
2021-07-29 01:17:51 +08:00
|
|
|
|
2021-09-04 02:09:25 +08:00
|
|
|
void setProperties(bool isCooperativeKernel, bool disableOverdispatch, int32_t engineInstancedDevice, const HardwareInfo &hwInfo);
|
2021-05-26 21:51:11 +08:00
|
|
|
void setProperties(const FrontEndProperties &properties);
|
|
|
|
bool isDirty();
|
|
|
|
void clearIsDirty();
|
2021-05-18 10:46:21 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
} // namespace NEO
|