#include "libANGLE/renderer/vulkan/vk_ref_counted_event.h"
#include "libANGLE/renderer/vulkan/vk_helpers.h"
#include "libANGLE/renderer/vulkan/vk_renderer.h"
namespace rx
{
namespace vk
{
namespace
{
constexpr angle::PackedEnumMap<EventStage, VkPipelineStageFlags>
kEventStageAndPipelineStageFlagsMap = …;
void DestroyRefCountedEvents(VkDevice device, RefCountedEventCollector &events)
{ … }
}
void InitializeEventAndPipelineStagesMap(
angle::PackedEnumMap<EventStage, VkPipelineStageFlags> *map,
VkPipelineStageFlags supportedVulkanPipelineStageMask)
{ … }
bool RefCountedEvent::init(Context *context, EventStage eventStage)
{ … }
void RefCountedEvent::release(Context *context)
{ … }
void RefCountedEvent::release(Renderer *renderer)
{ … }
template <typename RecyclerT>
void RefCountedEvent::releaseImpl(Renderer *renderer, RecyclerT *recycler)
{ … }
void RefCountedEvent::destroy(VkDevice device)
{ … }
void RefCountedEventsGarbage::destroy(Renderer *renderer)
{ … }
bool RefCountedEventsGarbage::releaseIfComplete(Renderer *renderer,
RefCountedEventsGarbageRecycler *recycler)
{ … }
bool RefCountedEventsGarbage::moveIfComplete(Renderer *renderer,
std::deque<RefCountedEventCollector> *releasedBucket)
{ … }
void RefCountedEventRecycler::destroy(VkDevice device)
{ … }
void RefCountedEventRecycler::resetEvents(Context *context,
const QueueSerial queueSerial,
PrimaryCommandBuffer *commandbuffer)
{ … }
void RefCountedEventRecycler::cleanupResettingEvents(Renderer *renderer)
{ … }
bool RefCountedEventRecycler::fetchEventsToReuse(RefCountedEventCollector *eventsToReuseOut)
{ … }
RefCountedEventsGarbageRecycler::~RefCountedEventsGarbageRecycler()
{ … }
void RefCountedEventsGarbageRecycler::destroy(Renderer *renderer)
{ … }
void RefCountedEventsGarbageRecycler::cleanup(Renderer *renderer)
{ … }
bool RefCountedEventsGarbageRecycler::fetch(Renderer *renderer, RefCountedEvent *outObject)
{ … }
void EventBarrier::addDiagnosticsString(std::ostringstream &out) const
{ … }
void EventBarrier::execute(PrimaryCommandBuffer *primary)
{ … }
void EventBarrierArray::addAdditionalStageAccess(const RefCountedEvent &waitEvent,
VkPipelineStageFlags dstStageMask,
VkAccessFlags dstAccess)
{ … }
void EventBarrierArray::addMemoryEvent(Renderer *renderer,
const RefCountedEvent &waitEvent,
VkPipelineStageFlags dstStageMask,
VkAccessFlags dstAccess)
{ … }
void EventBarrierArray::addImageEvent(Renderer *renderer,
const RefCountedEvent &waitEvent,
VkPipelineStageFlags dstStageMask,
const VkImageMemoryBarrier &imageMemoryBarrier)
{ … }
void EventBarrierArray::execute(Renderer *renderer, PrimaryCommandBuffer *primary)
{ … }
void EventBarrierArray::addDiagnosticsString(std::ostringstream &out) const
{ … }
}
}