/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #include #include namespace AZ { namespace RHI { const char* ToString(HeapAllocationStrategy type) { switch (type) { case HeapAllocationStrategy::Fixed: return "Fixed"; case HeapAllocationStrategy::Paging: return "Paging"; case HeapAllocationStrategy::MemoryHint: return "MemoryHint"; default: return "Invalid"; } } const char* ToString(AliasedResourceType type) { switch (type) { case AliasedResourceType::Buffer: return "Buffer"; case AliasedResourceType::Image: return "Image"; case AliasedResourceType::RenderTarget: return "Rendertarget"; default: return "Invalid"; } } void HeapPagingParameters::Reflect(AZ::ReflectContext* context) { if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class() ->Version(0) ->Field("m_pageSizeInBytes", &HeapPagingParameters::m_pageSizeInBytes) ->Field("m_initialAllocationPercentage", &HeapPagingParameters::m_initialAllocationPercentage) ->Field("m_collectLatency", &HeapPagingParameters::m_collectLatency) ; } } void HeapMemoryHintParameters::Reflect(AZ::ReflectContext* context) { if (auto* serializeContext = azrtti_cast(context)) { serializeContext->Class() ->Version(0) ->Field("m_minHeapSizeInBytes", &HeapMemoryHintParameters::m_minHeapSizeInBytes) ->Field("m_collectLatency", &HeapMemoryHintParameters::m_collectLatency) ->Field("m_heapSizeScaleFactor", &HeapMemoryHintParameters::m_heapSizeScaleFactor) ->Field("m_maxHeapWastedPercentage", &HeapMemoryHintParameters::m_maxHeapWastedPercentage) ; } } } }