1
0
mirror of https://github.com/EduApps-CDG/OpenDX synced 2024-12-30 09:45:37 +01:00
OpenDX/src/dxvk/dxvk_resource.h

40 lines
724 B
C
Raw Normal View History

2017-10-10 23:32:13 +02:00
#pragma once
#include "dxvk_include.h"
namespace dxvk {
enum class DxvkAccess {
Read = 0,
Write = 1,
};
using DxvkAccessFlags = Flags<DxvkAccess>;
2017-10-10 23:32:13 +02:00
/**
* \brief DXVK resource
*
* Keeps track of whether the resource is currently in use
* by the GPU. As soon as a command that uses the resource
* is recorded, it will be marked as 'in use'.
*/
class DxvkResource : public RcObject {
public:
virtual ~DxvkResource();
bool isInUse() const {
2018-03-22 11:01:54 +01:00
return m_useCount.load() != 0;
2017-10-10 23:32:13 +02:00
}
void acquire() { m_useCount += 1; }
void release() { m_useCount -= 1; }
2017-10-10 23:32:13 +02:00
private:
std::atomic<uint32_t> m_useCount = { 0u };
};
}