27 lines
849 B
C++
27 lines
849 B
C++
#include "Resources.h"
|
|
#include "Graphics.h"
|
|
#include "Material/Material.h"
|
|
#include "Resources.h"
|
|
|
|
|
|
using namespace Seele;
|
|
using namespace Seele::Gfx;
|
|
|
|
QueueOwnedResource::QueueOwnedResource(QueueFamilyMapping mapping, QueueType startQueueType)
|
|
: currentOwner(startQueueType), mapping(mapping) {}
|
|
|
|
QueueOwnedResource::~QueueOwnedResource() {}
|
|
|
|
void QueueOwnedResource::transferOwnership(QueueType newOwner) {
|
|
if (mapping.needsTransfer(currentOwner, newOwner)) {
|
|
executeOwnershipBarrier(newOwner);
|
|
}
|
|
currentOwner = newOwner;
|
|
}
|
|
|
|
void QueueOwnedResource::pipelineBarrier(SeAccessFlags srcAccess, SePipelineStageFlags srcStage, SeAccessFlags dstAccess,
|
|
SePipelineStageFlags dstStage) {
|
|
// maybe add some checks
|
|
executePipelineBarrier(srcAccess, srcStage, dstAccess, dstStage);
|
|
}
|