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
2017-11-26 13:24:01 +01:00

40 lines
749 B
C++

#pragma once
#include "dxvk_include.h"
namespace dxvk {
enum class DxvkResourceAccessType {
Read = 0,
Write = 1,
};
using DxvkResourceAccessTypes = Flags<DxvkResourceAccessType>;
/**
* \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 {
return m_useCount != 0;
}
void acquire() { m_useCount += 1; }
void release() { m_useCount -= 1; }
private:
std::atomic<uint32_t> m_useCount = { 0u };
};
}