/* * Copyright (C) 2021-2023 Intel Corporation * * SPDX-License-Identifier: MIT * */ #pragma once #include #include namespace NEO { template struct StreamPropertyType { static constexpr Type initValue = static_cast(-1); Type value = initValue; bool isDirty = false; void set(Type newValue) { if constexpr (fullStateProperty) { if ((value != newValue) && (newValue != initValue)) { value = newValue; isDirty = true; } } else { if (newValue != initValue) { value = newValue; } } } }; using StreamProperty32 = StreamPropertyType; using StreamProperty64 = StreamPropertyType; using StreamPropertySizeT = StreamPropertyType; using StreamProperty = StreamProperty32; } // namespace NEO