
Some checks failed
eden-license / license-header (pull_request) Has been cancelled
- Track framebuffer images, subresource ranges, and intended layouts in the Vulkan scheduler so render passes enter/leave attachment feedback loop layouts correctly - Surface VK_EXT_attachment_feedback_loop_layout through device feature filtering, render-pass construction, pipeline create flags, image usage bits, and descriptor/image layout selection - Teach the texture cache runtime to tag render targets with their feedback layouts, expose the runtime to descriptor helpers, and skip legacy feedback barriers when the extension is active - Add shader read barriers and generalized layout transitions to blit/conversion paths so recently written attachments can be safely sampled or converted by subsequent shaders
36 lines
1.1 KiB
C++
36 lines
1.1 KiB
C++
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#define VK_NO_PROTOTYPES
|
|
#ifdef _WIN32
|
|
#define VK_USE_PLATFORM_WIN32_KHR
|
|
#elif defined(__APPLE__)
|
|
#define VK_USE_PLATFORM_METAL_EXT
|
|
#elif defined(__ANDROID__)
|
|
#define VK_USE_PLATFORM_ANDROID_KHR
|
|
#else
|
|
#define VK_USE_PLATFORM_XLIB_KHR
|
|
#define VK_USE_PLATFORM_WAYLAND_KHR
|
|
#endif
|
|
|
|
#include <vulkan/vulkan.h>
|
|
|
|
#ifndef VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
|
|
#define VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
|
|
#endif
|
|
#ifndef VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
|
|
#define VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
|
|
#endif
|
|
#ifndef VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
|
|
#define VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
|
|
#endif
|
|
|
|
// Sanitize macros
|
|
#undef CreateEvent
|
|
#undef CreateSemaphore
|
|
#undef Always
|
|
#undef False
|
|
#undef None
|
|
#undef True
|