1 #ifndef DALI_GRAPHICS_RENDERPASS_CREATE_INFO_H
2 #define DALI_GRAPHICS_RENDERPASS_CREATE_INFO_H
5 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include "graphics-render-pass.h"
23 #include "graphics-types.h"
25 namespace Dali::Graphics
29 * @brief Interface class for RenderPassCreateInfo types in the graphics API.
31 * This class describes RenderPass properties (TBD)
33 struct RenderPassCreateInfo
36 * @brief Sets pointer to the extension
38 * The pointer to the extension must be set either to nullptr
39 * or to the valid structure. The structures may create
40 * a chain. The last structure in a chain must point at
43 * @param[in] value pointer to the valid extension structure
44 * @return reference to this structure
46 auto& SetNextExtension(ExtensionCreateInfo* value)
48 nextExtension = value;
53 * @brief Sets array of attachment descriptions
55 * The attachment descriptions should be ordered as for the framebuffer
56 * or (in case of swapchain), color attachment preceeds depth/stencil.
58 * @param[in] value pointer valid array of attachment descriptions
59 * @return reference to this structure
61 auto& SetAttachments(const std::vector<AttachmentDescription>& value)
68 * @brief Sets allocation callbacks which will be used when object is created
71 * @param[in] value Valid reference to AllocationCallbacksStructure
72 * @return reference to this structure
74 auto& SetAllocationCallbacks(const AllocationCallbacks& value)
76 allocationCallbacks = &value;
80 GraphicsStructureType type{GraphicsStructureType::RENDERPASS_CREATE_INFO_STRUCT};
81 ExtensionCreateInfo* nextExtension{nullptr};
82 const std::vector<AttachmentDescription>* attachments{nullptr};
83 const AllocationCallbacks* allocationCallbacks{nullptr};
86 } // namespace Dali::Graphics
88 #endif // DALI_GRAPHICS_FRAMEBUFFER_FACTORY_H