mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-27 13:54:16 +01:00
[general] Removed TRACE calls for now
This commit is contained in:
parent
c82bddb932
commit
f924931d2d
@ -8,12 +8,12 @@ namespace dxvk {
|
|||||||
const D3D11_BUFFER_DESC& desc)
|
const D3D11_BUFFER_DESC& desc)
|
||||||
: m_device(device), m_desc(desc),
|
: m_device(device), m_desc(desc),
|
||||||
m_buffer(this->createBuffer()) {
|
m_buffer(this->createBuffer()) {
|
||||||
TRACE(this, device);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
D3D11Buffer::~D3D11Buffer() {
|
D3D11Buffer::~D3D11Buffer() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,12 +8,12 @@ namespace dxvk {
|
|||||||
Rc<DxvkDevice> device)
|
Rc<DxvkDevice> device)
|
||||||
: m_parent(parent),
|
: m_parent(parent),
|
||||||
m_device(device) {
|
m_device(device) {
|
||||||
TRACE(this, parent, device);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
D3D11DeviceContext::~D3D11DeviceContext() {
|
D3D11DeviceContext::~D3D11DeviceContext() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -226,8 +226,6 @@ namespace dxvk {
|
|||||||
void D3D11DeviceContext::Draw(
|
void D3D11DeviceContext::Draw(
|
||||||
UINT VertexCount,
|
UINT VertexCount,
|
||||||
UINT StartVertexLocation) {
|
UINT StartVertexLocation) {
|
||||||
TRACE(this, VertexCount, StartVertexLocation);
|
|
||||||
|
|
||||||
m_context->draw(
|
m_context->draw(
|
||||||
VertexCount, 1,
|
VertexCount, 1,
|
||||||
StartVertexLocation, 0);
|
StartVertexLocation, 0);
|
||||||
@ -238,8 +236,6 @@ namespace dxvk {
|
|||||||
UINT IndexCount,
|
UINT IndexCount,
|
||||||
UINT StartIndexLocation,
|
UINT StartIndexLocation,
|
||||||
INT BaseVertexLocation) {
|
INT BaseVertexLocation) {
|
||||||
TRACE(this, IndexCount, StartIndexLocation, BaseVertexLocation);
|
|
||||||
|
|
||||||
m_context->drawIndexed(
|
m_context->drawIndexed(
|
||||||
IndexCount, 1,
|
IndexCount, 1,
|
||||||
StartIndexLocation,
|
StartIndexLocation,
|
||||||
@ -252,9 +248,6 @@ namespace dxvk {
|
|||||||
UINT InstanceCount,
|
UINT InstanceCount,
|
||||||
UINT StartVertexLocation,
|
UINT StartVertexLocation,
|
||||||
UINT StartInstanceLocation) {
|
UINT StartInstanceLocation) {
|
||||||
TRACE(this, VertexCountPerInstance, InstanceCount,
|
|
||||||
StartVertexLocation, StartInstanceLocation);
|
|
||||||
|
|
||||||
m_context->draw(
|
m_context->draw(
|
||||||
VertexCountPerInstance,
|
VertexCountPerInstance,
|
||||||
InstanceCount,
|
InstanceCount,
|
||||||
@ -269,9 +262,6 @@ namespace dxvk {
|
|||||||
UINT StartIndexLocation,
|
UINT StartIndexLocation,
|
||||||
INT BaseVertexLocation,
|
INT BaseVertexLocation,
|
||||||
UINT StartInstanceLocation) {
|
UINT StartInstanceLocation) {
|
||||||
TRACE(this, IndexCountPerInstance, InstanceCount,
|
|
||||||
StartIndexLocation, BaseVertexLocation, StartInstanceLocation);
|
|
||||||
|
|
||||||
m_context->drawIndexed(
|
m_context->drawIndexed(
|
||||||
IndexCountPerInstance,
|
IndexCountPerInstance,
|
||||||
InstanceCount,
|
InstanceCount,
|
||||||
@ -299,8 +289,6 @@ namespace dxvk {
|
|||||||
UINT ThreadGroupCountX,
|
UINT ThreadGroupCountX,
|
||||||
UINT ThreadGroupCountY,
|
UINT ThreadGroupCountY,
|
||||||
UINT ThreadGroupCountZ) {
|
UINT ThreadGroupCountZ) {
|
||||||
TRACE(this, ThreadGroupCountX, ThreadGroupCountY, ThreadGroupCountZ);
|
|
||||||
|
|
||||||
m_context->dispatch(
|
m_context->dispatch(
|
||||||
ThreadGroupCountX,
|
ThreadGroupCountX,
|
||||||
ThreadGroupCountY,
|
ThreadGroupCountY,
|
||||||
|
@ -15,14 +15,12 @@ namespace dxvk {
|
|||||||
m_featureFlags(featureFlags),
|
m_featureFlags(featureFlags),
|
||||||
m_dxvkDevice (m_dxgiDevice->GetDXVKDevice()),
|
m_dxvkDevice (m_dxgiDevice->GetDXVKDevice()),
|
||||||
m_dxvkAdapter (m_dxvkDevice->adapter()) {
|
m_dxvkAdapter (m_dxvkDevice->adapter()) {
|
||||||
TRACE(this, dxgiDevice, featureLevel, featureFlags);
|
|
||||||
m_dxgiDevice->SetDeviceLayer(this);
|
m_dxgiDevice->SetDeviceLayer(this);
|
||||||
m_context = new D3D11DeviceContext(this, m_dxvkDevice);
|
m_context = new D3D11DeviceContext(this, m_dxvkDevice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
D3D11Device::~D3D11Device() {
|
D3D11Device::~D3D11Device() {
|
||||||
TRACE(this);
|
|
||||||
m_dxgiDevice->SetDeviceLayer(nullptr);
|
m_dxgiDevice->SetDeviceLayer(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,11 +19,6 @@ extern "C" {
|
|||||||
ID3D11Device **ppDevice,
|
ID3D11Device **ppDevice,
|
||||||
D3D_FEATURE_LEVEL *pFeatureLevel,
|
D3D_FEATURE_LEVEL *pFeatureLevel,
|
||||||
ID3D11DeviceContext **ppImmediateContext) {
|
ID3D11DeviceContext **ppImmediateContext) {
|
||||||
TRACE(pAdapter, DriverType, Software,
|
|
||||||
Flags, pFeatureLevels, FeatureLevels,
|
|
||||||
SDKVersion, ppDevice, pFeatureLevel,
|
|
||||||
ppImmediateContext);
|
|
||||||
|
|
||||||
Com<IDXGIAdapter> dxgiAdapter = pAdapter;
|
Com<IDXGIAdapter> dxgiAdapter = pAdapter;
|
||||||
Com<IDXVKAdapter> dxvkAdapter = nullptr;
|
Com<IDXVKAdapter> dxvkAdapter = nullptr;
|
||||||
|
|
||||||
@ -147,11 +142,6 @@ extern "C" {
|
|||||||
ID3D11Device **ppDevice,
|
ID3D11Device **ppDevice,
|
||||||
D3D_FEATURE_LEVEL *pFeatureLevel,
|
D3D_FEATURE_LEVEL *pFeatureLevel,
|
||||||
ID3D11DeviceContext **ppImmediateContext) {
|
ID3D11DeviceContext **ppImmediateContext) {
|
||||||
TRACE(pAdapter, DriverType, Software,
|
|
||||||
Flags, pFeatureLevels, FeatureLevels,
|
|
||||||
SDKVersion, pSwapChainDesc, ppSwapChain,
|
|
||||||
ppDevice, pFeatureLevel, ppImmediateContext);
|
|
||||||
|
|
||||||
// Try to create a device first.
|
// Try to create a device first.
|
||||||
HRESULT status = D3D11CreateDevice(pAdapter, DriverType,
|
HRESULT status = D3D11CreateDevice(pAdapter, DriverType,
|
||||||
Software, Flags, pFeatureLevels, FeatureLevels,
|
Software, Flags, pFeatureLevels, FeatureLevels,
|
||||||
|
@ -12,12 +12,12 @@ namespace dxvk {
|
|||||||
const Rc<DxvkAdapter>& adapter)
|
const Rc<DxvkAdapter>& adapter)
|
||||||
: m_factory (factory),
|
: m_factory (factory),
|
||||||
m_adapter (adapter) {
|
m_adapter (adapter) {
|
||||||
TRACE(this, factory, adapter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxgiAdapter::~DxgiAdapter() {
|
DxgiAdapter::~DxgiAdapter() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -52,8 +52,6 @@ namespace dxvk {
|
|||||||
HRESULT DxgiAdapter::EnumOutputs(
|
HRESULT DxgiAdapter::EnumOutputs(
|
||||||
UINT Output,
|
UINT Output,
|
||||||
IDXGIOutput **ppOutput) {
|
IDXGIOutput **ppOutput) {
|
||||||
TRACE(this, Output, ppOutput);
|
|
||||||
|
|
||||||
if (ppOutput == nullptr)
|
if (ppOutput == nullptr)
|
||||||
return DXGI_ERROR_INVALID_CALL;
|
return DXGI_ERROR_INVALID_CALL;
|
||||||
|
|
||||||
|
@ -5,13 +5,12 @@ namespace dxvk {
|
|||||||
|
|
||||||
DxgiDevice::DxgiDevice(IDXVKAdapter* adapter)
|
DxgiDevice::DxgiDevice(IDXVKAdapter* adapter)
|
||||||
: m_adapter(adapter) {
|
: m_adapter(adapter) {
|
||||||
TRACE(this, adapter);
|
|
||||||
m_device = m_adapter->GetDXVKAdapter()->createDevice();
|
m_device = m_adapter->GetDXVKAdapter()->createDevice();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxgiDevice::~DxgiDevice() {
|
DxgiDevice::~DxgiDevice() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -79,7 +78,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
void DxgiDevice::SetDeviceLayer(IUnknown* layer) {
|
void DxgiDevice::SetDeviceLayer(IUnknown* layer) {
|
||||||
TRACE(this, layer);
|
|
||||||
m_layer = layer;
|
m_layer = layer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,12 +6,12 @@ namespace dxvk {
|
|||||||
DxgiFactory::DxgiFactory()
|
DxgiFactory::DxgiFactory()
|
||||||
: m_instance(new DxvkInstance()),
|
: m_instance(new DxvkInstance()),
|
||||||
m_adapters(m_instance->enumAdapters()) {
|
m_adapters(m_instance->enumAdapters()) {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxgiFactory::~DxgiFactory() {
|
DxgiFactory::~DxgiFactory() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -47,8 +47,6 @@ namespace dxvk {
|
|||||||
IUnknown* pDevice,
|
IUnknown* pDevice,
|
||||||
DXGI_SWAP_CHAIN_DESC* pDesc,
|
DXGI_SWAP_CHAIN_DESC* pDesc,
|
||||||
IDXGISwapChain** ppSwapChain) {
|
IDXGISwapChain** ppSwapChain) {
|
||||||
TRACE(this, pDevice, pDesc, ppSwapChain);
|
|
||||||
|
|
||||||
if (ppSwapChain == nullptr || pDesc == nullptr)
|
if (ppSwapChain == nullptr || pDesc == nullptr)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
@ -65,8 +63,6 @@ namespace dxvk {
|
|||||||
HRESULT DxgiFactory::EnumAdapters(
|
HRESULT DxgiFactory::EnumAdapters(
|
||||||
UINT Adapter,
|
UINT Adapter,
|
||||||
IDXGIAdapter** ppAdapter) {
|
IDXGIAdapter** ppAdapter) {
|
||||||
TRACE(this, Adapter, ppAdapter);
|
|
||||||
|
|
||||||
if (ppAdapter == nullptr)
|
if (ppAdapter == nullptr)
|
||||||
return DXGI_ERROR_INVALID_CALL;
|
return DXGI_ERROR_INVALID_CALL;
|
||||||
|
|
||||||
@ -89,7 +85,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
HRESULT DxgiFactory::MakeWindowAssociation(HWND WindowHandle, UINT Flags) {
|
HRESULT DxgiFactory::MakeWindowAssociation(HWND WindowHandle, UINT Flags) {
|
||||||
TRACE(this, WindowHandle, Flags);
|
|
||||||
Logger::warn("DxgiFactory::MakeWindowAssociation: Ignoring flags");
|
Logger::warn("DxgiFactory::MakeWindowAssociation: Ignoring flags");
|
||||||
m_associatedWindow = WindowHandle;
|
m_associatedWindow = WindowHandle;
|
||||||
return S_OK;
|
return S_OK;
|
||||||
|
@ -5,14 +5,11 @@ namespace dxvk {
|
|||||||
|
|
||||||
struct SdlInstance {
|
struct SdlInstance {
|
||||||
SdlInstance() {
|
SdlInstance() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE))
|
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE))
|
||||||
Logger::err("Instance::init: Failed to initialize SDL");
|
Logger::err("Instance::init: Failed to initialize SDL");
|
||||||
}
|
}
|
||||||
|
|
||||||
~SdlInstance() {
|
~SdlInstance() {
|
||||||
TRACE(this);
|
|
||||||
SDL_Quit();
|
SDL_Quit();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -20,8 +17,6 @@ namespace dxvk {
|
|||||||
SdlInstance sdl;
|
SdlInstance sdl;
|
||||||
|
|
||||||
HRESULT createDxgiFactory(REFIID riid, void **ppFactory) {
|
HRESULT createDxgiFactory(REFIID riid, void **ppFactory) {
|
||||||
TRACE(riid, ppFactory);
|
|
||||||
|
|
||||||
if (riid != __uuidof(IDXGIFactory)) {
|
if (riid != __uuidof(IDXGIFactory)) {
|
||||||
Logger::err("CreateDXGIFactory: Requested version of IDXGIFactory not supported");
|
Logger::err("CreateDXGIFactory: Requested version of IDXGIFactory not supported");
|
||||||
return DXGI_ERROR_UNSUPPORTED;
|
return DXGI_ERROR_UNSUPPORTED;
|
||||||
|
@ -14,12 +14,12 @@ namespace dxvk {
|
|||||||
UINT display)
|
UINT display)
|
||||||
: m_adapter (adapter),
|
: m_adapter (adapter),
|
||||||
m_display (display) {
|
m_display (display) {
|
||||||
TRACE(this, adapter);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxgiOutput::~DxgiOutput() {
|
DxgiOutput::~DxgiOutput() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -90,8 +90,6 @@ namespace dxvk {
|
|||||||
UINT Flags,
|
UINT Flags,
|
||||||
UINT *pNumModes,
|
UINT *pNumModes,
|
||||||
DXGI_MODE_DESC *pDesc) {
|
DXGI_MODE_DESC *pDesc) {
|
||||||
TRACE(this, EnumFormat, Flags, pNumModes, pDesc);
|
|
||||||
|
|
||||||
if (pNumModes == nullptr)
|
if (pNumModes == nullptr)
|
||||||
return DXGI_ERROR_INVALID_CALL;
|
return DXGI_ERROR_INVALID_CALL;
|
||||||
|
|
||||||
|
@ -13,7 +13,6 @@ namespace dxvk {
|
|||||||
: m_instance (instance),
|
: m_instance (instance),
|
||||||
m_vki (instance->vki()),
|
m_vki (instance->vki()),
|
||||||
m_handle (handle) {
|
m_handle (handle) {
|
||||||
TRACE(this, instance, handle);
|
|
||||||
uint32_t numQueueFamilies = 0;
|
uint32_t numQueueFamilies = 0;
|
||||||
m_vki->vkGetPhysicalDeviceQueueFamilyProperties(
|
m_vki->vkGetPhysicalDeviceQueueFamilyProperties(
|
||||||
m_handle, &numQueueFamilies, nullptr);
|
m_handle, &numQueueFamilies, nullptr);
|
||||||
@ -25,7 +24,7 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkAdapter::~DxvkAdapter() {
|
DxvkAdapter::~DxvkAdapter() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -95,8 +94,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
Rc<DxvkDevice> DxvkAdapter::createDevice() {
|
Rc<DxvkDevice> DxvkAdapter::createDevice() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
auto enabledExtensions = this->enableExtensions();
|
auto enabledExtensions = this->enableExtensions();
|
||||||
auto enabledFeatures = this->enableFeatures();
|
auto enabledFeatures = this->enableFeatures();
|
||||||
|
|
||||||
|
@ -45,8 +45,6 @@ namespace dxvk {
|
|||||||
const Rc<DxvkBuffer>& buffer,
|
const Rc<DxvkBuffer>& buffer,
|
||||||
const DxvkBufferViewCreateInfo& info)
|
const DxvkBufferViewCreateInfo& info)
|
||||||
: m_vkd(vkd), m_buffer(buffer), m_info(info) {
|
: m_vkd(vkd), m_buffer(buffer), m_info(info) {
|
||||||
TRACE(this, buffer);
|
|
||||||
|
|
||||||
VkBufferViewCreateInfo viewInfo;
|
VkBufferViewCreateInfo viewInfo;
|
||||||
viewInfo.sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
|
viewInfo.sType = VK_STRUCTURE_TYPE_BUFFER_VIEW_CREATE_INFO;
|
||||||
viewInfo.pNext = nullptr;
|
viewInfo.pNext = nullptr;
|
||||||
@ -62,7 +60,7 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkBufferView::~DxvkBufferView() {
|
DxvkBufferView::~DxvkBufferView() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -6,8 +6,6 @@ namespace dxvk {
|
|||||||
const Rc<vk::DeviceFn>& vkd,
|
const Rc<vk::DeviceFn>& vkd,
|
||||||
uint32_t queueFamily)
|
uint32_t queueFamily)
|
||||||
: m_vkd(vkd), m_descAlloc(vkd) {
|
: m_vkd(vkd), m_descAlloc(vkd) {
|
||||||
TRACE(this, queueFamily);
|
|
||||||
|
|
||||||
VkCommandPoolCreateInfo poolInfo;
|
VkCommandPoolCreateInfo poolInfo;
|
||||||
poolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
|
poolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
|
||||||
poolInfo.pNext = nullptr;
|
poolInfo.pNext = nullptr;
|
||||||
@ -30,7 +28,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkCommandList::~DxvkCommandList() {
|
DxvkCommandList::~DxvkCommandList() {
|
||||||
TRACE(this);
|
|
||||||
m_resources.reset();
|
m_resources.reset();
|
||||||
|
|
||||||
m_vkd->vkDestroyCommandPool(
|
m_vkd->vkDestroyCommandPool(
|
||||||
@ -39,8 +36,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
void DxvkCommandList::beginRecording() {
|
void DxvkCommandList::beginRecording() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
VkCommandBufferBeginInfo info;
|
VkCommandBufferBeginInfo info;
|
||||||
info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
|
info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
|
||||||
info.pNext = nullptr;
|
info.pNext = nullptr;
|
||||||
@ -56,22 +51,17 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
void DxvkCommandList::endRecording() {
|
void DxvkCommandList::endRecording() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
if (m_vkd->vkEndCommandBuffer(m_buffer) != VK_SUCCESS)
|
if (m_vkd->vkEndCommandBuffer(m_buffer) != VK_SUCCESS)
|
||||||
throw DxvkError("DxvkCommandList::endRecording: Failed to record command buffer");
|
throw DxvkError("DxvkCommandList::endRecording: Failed to record command buffer");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DxvkCommandList::trackResource(const Rc<DxvkResource>& rc) {
|
void DxvkCommandList::trackResource(const Rc<DxvkResource>& rc) {
|
||||||
TRACE(this, rc);
|
|
||||||
m_resources.trackResource(rc);
|
m_resources.trackResource(rc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DxvkCommandList::reset() {
|
void DxvkCommandList::reset() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
m_descAlloc.reset();
|
m_descAlloc.reset();
|
||||||
m_resources.reset();
|
m_resources.reset();
|
||||||
}
|
}
|
||||||
|
@ -6,8 +6,6 @@ namespace dxvk {
|
|||||||
const Rc<vk::DeviceFn>& vkd,
|
const Rc<vk::DeviceFn>& vkd,
|
||||||
const Rc<DxvkShader>& shader)
|
const Rc<DxvkShader>& shader)
|
||||||
: m_vkd(vkd), m_shader(shader) {
|
: m_vkd(vkd), m_shader(shader) {
|
||||||
TRACE(this, shader);
|
|
||||||
|
|
||||||
std::vector<VkDescriptorSetLayoutBinding> bindings;
|
std::vector<VkDescriptorSetLayoutBinding> bindings;
|
||||||
|
|
||||||
// TODO re-implement shader slots and bindings
|
// TODO re-implement shader slots and bindings
|
||||||
@ -58,7 +56,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkComputePipeline::~DxvkComputePipeline() {
|
DxvkComputePipeline::~DxvkComputePipeline() {
|
||||||
TRACE(this);
|
|
||||||
this->destroyObjects();
|
this->destroyObjects();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,19 +9,17 @@ namespace dxvk {
|
|||||||
const Rc<DxvkPipelineManager>& pipeMgr)
|
const Rc<DxvkPipelineManager>& pipeMgr)
|
||||||
: m_device (device),
|
: m_device (device),
|
||||||
m_pipeMgr (pipeMgr) {
|
m_pipeMgr (pipeMgr) {
|
||||||
TRACE(this, device);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkContext::~DxvkContext() {
|
DxvkContext::~DxvkContext() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void DxvkContext::beginRecording(
|
void DxvkContext::beginRecording(
|
||||||
const Rc<DxvkRecorder>& recorder) {
|
const Rc<DxvkRecorder>& recorder) {
|
||||||
TRACE(this, recorder);
|
|
||||||
|
|
||||||
m_cmd = recorder;
|
m_cmd = recorder;
|
||||||
m_cmd->beginRecording();
|
m_cmd->beginRecording();
|
||||||
|
|
||||||
@ -44,8 +42,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
void DxvkContext::endRecording() {
|
void DxvkContext::endRecording() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
this->renderPassEnd();
|
this->renderPassEnd();
|
||||||
|
|
||||||
m_cmd->endRecording();
|
m_cmd->endRecording();
|
||||||
@ -55,8 +51,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
void DxvkContext::bindFramebuffer(
|
void DxvkContext::bindFramebuffer(
|
||||||
const Rc<DxvkFramebuffer>& fb) {
|
const Rc<DxvkFramebuffer>& fb) {
|
||||||
TRACE(this, fb);
|
|
||||||
|
|
||||||
if (m_state.om.framebuffer != fb) {
|
if (m_state.om.framebuffer != fb) {
|
||||||
m_state.om.framebuffer = fb;
|
m_state.om.framebuffer = fb;
|
||||||
this->renderPassEnd();
|
this->renderPassEnd();
|
||||||
@ -76,8 +70,6 @@ namespace dxvk {
|
|||||||
void DxvkContext::bindShader(
|
void DxvkContext::bindShader(
|
||||||
VkShaderStageFlagBits stage,
|
VkShaderStageFlagBits stage,
|
||||||
const Rc<DxvkShader>& shader) {
|
const Rc<DxvkShader>& shader) {
|
||||||
TRACE(this, stage, shader);
|
|
||||||
|
|
||||||
DxvkShaderStageState* stageState = this->getShaderStage(stage);
|
DxvkShaderStageState* stageState = this->getShaderStage(stage);
|
||||||
|
|
||||||
if (stageState->shader != shader) {
|
if (stageState->shader != shader) {
|
||||||
@ -102,8 +94,6 @@ namespace dxvk {
|
|||||||
void DxvkContext::bindVertexBuffer(
|
void DxvkContext::bindVertexBuffer(
|
||||||
uint32_t binding,
|
uint32_t binding,
|
||||||
const DxvkBufferBinding& buffer) {
|
const DxvkBufferBinding& buffer) {
|
||||||
TRACE(this, binding);
|
|
||||||
|
|
||||||
if (m_state.vi.vertexBuffers.at(binding) != buffer) {
|
if (m_state.vi.vertexBuffers.at(binding) != buffer) {
|
||||||
m_state.vi.vertexBuffers.at(binding) = buffer;
|
m_state.vi.vertexBuffers.at(binding) = buffer;
|
||||||
m_state.flags.set(DxvkContextFlag::GpDirtyVertexBuffers);
|
m_state.flags.set(DxvkContextFlag::GpDirtyVertexBuffers);
|
||||||
@ -114,8 +104,6 @@ namespace dxvk {
|
|||||||
void DxvkContext::clearRenderTarget(
|
void DxvkContext::clearRenderTarget(
|
||||||
const VkClearAttachment& attachment,
|
const VkClearAttachment& attachment,
|
||||||
const VkClearRect& clearArea) {
|
const VkClearRect& clearArea) {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
// We only need the framebuffer to be bound. Flushing the
|
// We only need the framebuffer to be bound. Flushing the
|
||||||
// entire pipeline state is not required and might actually
|
// entire pipeline state is not required and might actually
|
||||||
// cause problems if the current pipeline state is invalid.
|
// cause problems if the current pipeline state is invalid.
|
||||||
@ -132,8 +120,6 @@ namespace dxvk {
|
|||||||
const Rc<DxvkBuffer>& srcBuffer,
|
const Rc<DxvkBuffer>& srcBuffer,
|
||||||
VkDeviceSize srcOffset,
|
VkDeviceSize srcOffset,
|
||||||
VkDeviceSize numBytes) {
|
VkDeviceSize numBytes) {
|
||||||
TRACE(this, dstBuffer, dstOffset, srcBuffer, srcOffset, numBytes);
|
|
||||||
|
|
||||||
if (numBytes != 0) {
|
if (numBytes != 0) {
|
||||||
VkBufferCopy bufferRegion;
|
VkBufferCopy bufferRegion;
|
||||||
bufferRegion.srcOffset = srcOffset;
|
bufferRegion.srcOffset = srcOffset;
|
||||||
@ -167,7 +153,7 @@ namespace dxvk {
|
|||||||
uint32_t x,
|
uint32_t x,
|
||||||
uint32_t y,
|
uint32_t y,
|
||||||
uint32_t z) {
|
uint32_t z) {
|
||||||
TRACE(this, x, y, z);
|
this->commitComputeState();
|
||||||
|
|
||||||
m_cmd->cmdDispatch(x, y, z);
|
m_cmd->cmdDispatch(x, y, z);
|
||||||
}
|
}
|
||||||
@ -178,9 +164,6 @@ namespace dxvk {
|
|||||||
uint32_t instanceCount,
|
uint32_t instanceCount,
|
||||||
uint32_t firstVertex,
|
uint32_t firstVertex,
|
||||||
uint32_t firstInstance) {
|
uint32_t firstInstance) {
|
||||||
TRACE(this, vertexCount, instanceCount,
|
|
||||||
firstVertex, firstInstance);
|
|
||||||
|
|
||||||
this->commitGraphicsState();
|
this->commitGraphicsState();
|
||||||
|
|
||||||
m_cmd->cmdDraw(
|
m_cmd->cmdDraw(
|
||||||
@ -195,9 +178,6 @@ namespace dxvk {
|
|||||||
uint32_t firstIndex,
|
uint32_t firstIndex,
|
||||||
uint32_t vertexOffset,
|
uint32_t vertexOffset,
|
||||||
uint32_t firstInstance) {
|
uint32_t firstInstance) {
|
||||||
TRACE(this, indexCount, instanceCount,
|
|
||||||
firstIndex, vertexOffset, firstInstance);
|
|
||||||
|
|
||||||
this->commitGraphicsState();
|
this->commitGraphicsState();
|
||||||
|
|
||||||
m_cmd->cmdDrawIndexed(
|
m_cmd->cmdDrawIndexed(
|
||||||
|
@ -5,13 +5,11 @@ namespace dxvk {
|
|||||||
DxvkDescriptorAlloc::DxvkDescriptorAlloc(
|
DxvkDescriptorAlloc::DxvkDescriptorAlloc(
|
||||||
const Rc<vk::DeviceFn>& vkd)
|
const Rc<vk::DeviceFn>& vkd)
|
||||||
: m_vkd(vkd) {
|
: m_vkd(vkd) {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkDescriptorAlloc::~DxvkDescriptorAlloc() {
|
DxvkDescriptorAlloc::~DxvkDescriptorAlloc() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
for (auto p : m_pools) {
|
for (auto p : m_pools) {
|
||||||
m_vkd->vkDestroyDescriptorPool(
|
m_vkd->vkDestroyDescriptorPool(
|
||||||
m_vkd->device(), p, nullptr);
|
m_vkd->device(), p, nullptr);
|
||||||
@ -20,8 +18,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
VkDescriptorSet DxvkDescriptorAlloc::alloc(VkDescriptorSetLayout layout) {
|
VkDescriptorSet DxvkDescriptorAlloc::alloc(VkDescriptorSetLayout layout) {
|
||||||
TRACE(this, layout);
|
|
||||||
|
|
||||||
VkDescriptorSet set = VK_NULL_HANDLE;
|
VkDescriptorSet set = VK_NULL_HANDLE;
|
||||||
|
|
||||||
if (m_poolId < m_pools.size())
|
if (m_poolId < m_pools.size())
|
||||||
@ -53,8 +49,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
VkDescriptorPool DxvkDescriptorAlloc::createDescriptorPool() {
|
VkDescriptorPool DxvkDescriptorAlloc::createDescriptorPool() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
// TODO tune these values, if necessary
|
// TODO tune these values, if necessary
|
||||||
constexpr uint32_t MaxSets = 64;
|
constexpr uint32_t MaxSets = 64;
|
||||||
constexpr uint32_t MaxDesc = 256;
|
constexpr uint32_t MaxDesc = 256;
|
||||||
|
@ -11,8 +11,6 @@ namespace dxvk {
|
|||||||
m_memory (new DxvkMemoryAllocator(adapter, vkd)),
|
m_memory (new DxvkMemoryAllocator(adapter, vkd)),
|
||||||
m_renderPassPool (new DxvkRenderPassPool (vkd)),
|
m_renderPassPool (new DxvkRenderPassPool (vkd)),
|
||||||
m_pipelineManager (new DxvkPipelineManager(vkd)) {
|
m_pipelineManager (new DxvkPipelineManager(vkd)) {
|
||||||
TRACE(this, adapter);
|
|
||||||
|
|
||||||
m_vkd->vkGetDeviceQueue(m_vkd->device(),
|
m_vkd->vkGetDeviceQueue(m_vkd->device(),
|
||||||
m_adapter->graphicsQueueFamily(), 0,
|
m_adapter->graphicsQueueFamily(), 0,
|
||||||
&m_graphicsQueue);
|
&m_graphicsQueue);
|
||||||
@ -23,7 +21,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkDevice::~DxvkDevice() {
|
DxvkDevice::~DxvkDevice() {
|
||||||
TRACE(this);
|
|
||||||
m_pipelineManager = nullptr;
|
m_pipelineManager = nullptr;
|
||||||
m_renderPassPool = nullptr;
|
m_renderPassPool = nullptr;
|
||||||
m_memory = nullptr;
|
m_memory = nullptr;
|
||||||
@ -104,8 +101,6 @@ namespace dxvk {
|
|||||||
const Rc<DxvkCommandList>& commandList,
|
const Rc<DxvkCommandList>& commandList,
|
||||||
const Rc<DxvkSemaphore>& waitSync,
|
const Rc<DxvkSemaphore>& waitSync,
|
||||||
const Rc<DxvkSemaphore>& wakeSync) {
|
const Rc<DxvkSemaphore>& wakeSync) {
|
||||||
TRACE(this, commandList, waitSync, wakeSync);
|
|
||||||
|
|
||||||
Rc<DxvkFence> fence = new DxvkFence(m_vkd);
|
Rc<DxvkFence> fence = new DxvkFence(m_vkd);
|
||||||
|
|
||||||
VkCommandBuffer commandBuffer = commandList->handle();
|
VkCommandBuffer commandBuffer = commandList->handle();
|
||||||
@ -147,7 +142,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
void DxvkDevice::waitForIdle() const {
|
void DxvkDevice::waitForIdle() const {
|
||||||
TRACE(this);
|
|
||||||
if (m_vkd->vkDeviceWaitIdle(m_vkd->device()) != VK_SUCCESS)
|
if (m_vkd->vkDeviceWaitIdle(m_vkd->device()) != VK_SUCCESS)
|
||||||
throw DxvkError("DxvkDevice::waitForIdle: Operation failed");
|
throw DxvkError("DxvkDevice::waitForIdle: Operation failed");
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,6 @@ namespace dxvk {
|
|||||||
m_renderPass (renderPass),
|
m_renderPass (renderPass),
|
||||||
m_renderTargets (renderTargets),
|
m_renderTargets (renderTargets),
|
||||||
m_framebufferSize (renderTargets.getImageSize()) {
|
m_framebufferSize (renderTargets.getImageSize()) {
|
||||||
TRACE(this, renderPass);
|
|
||||||
auto views = renderTargets.getAttachments();
|
auto views = renderTargets.getAttachments();
|
||||||
|
|
||||||
VkFramebufferCreateInfo info;
|
VkFramebufferCreateInfo info;
|
||||||
@ -89,7 +88,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkFramebuffer::~DxvkFramebuffer() {
|
DxvkFramebuffer::~DxvkFramebuffer() {
|
||||||
TRACE(this);
|
|
||||||
m_vkd->vkDestroyFramebuffer(
|
m_vkd->vkDestroyFramebuffer(
|
||||||
m_vkd->device(), m_framebuffer, nullptr);
|
m_vkd->device(), m_framebuffer, nullptr);
|
||||||
}
|
}
|
||||||
|
@ -47,8 +47,6 @@ namespace dxvk {
|
|||||||
const Rc<DxvkShader>& fs)
|
const Rc<DxvkShader>& fs)
|
||||||
: m_vkd(vkd), m_vs(vs), m_tcs(tcs),
|
: m_vkd(vkd), m_vs(vs), m_tcs(tcs),
|
||||||
m_tes(tes), m_gs(gs), m_fs(fs) {
|
m_tes(tes), m_gs(gs), m_fs(fs) {
|
||||||
TRACE(this, vs, tcs, tes, gs, fs);
|
|
||||||
|
|
||||||
std::vector<VkDescriptorSetLayoutBinding> bindings;
|
std::vector<VkDescriptorSetLayoutBinding> bindings;
|
||||||
|
|
||||||
VkDescriptorSetLayoutCreateInfo dlayout;
|
VkDescriptorSetLayoutCreateInfo dlayout;
|
||||||
@ -80,8 +78,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkGraphicsPipeline::~DxvkGraphicsPipeline() {
|
DxvkGraphicsPipeline::~DxvkGraphicsPipeline() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
this->destroyPipelines();
|
this->destroyPipelines();
|
||||||
this->destroyObjects();
|
this->destroyObjects();
|
||||||
}
|
}
|
||||||
|
@ -16,12 +16,11 @@ namespace dxvk {
|
|||||||
const DxvkImageCreateInfo& info,
|
const DxvkImageCreateInfo& info,
|
||||||
VkImage image)
|
VkImage image)
|
||||||
: m_vkd(vkd), m_info(info), m_image(image) {
|
: m_vkd(vkd), m_info(info), m_image(image) {
|
||||||
TRACE(this, image);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkImage::~DxvkImage() {
|
DxvkImage::~DxvkImage() {
|
||||||
TRACE(this);
|
|
||||||
// This is a bit of a hack to determine whether
|
// This is a bit of a hack to determine whether
|
||||||
// the image is implementation-handled or not
|
// the image is implementation-handled or not
|
||||||
if (m_memory.memory() != VK_NULL_HANDLE)
|
if (m_memory.memory() != VK_NULL_HANDLE)
|
||||||
@ -34,7 +33,6 @@ namespace dxvk {
|
|||||||
const Rc<DxvkImage>& image,
|
const Rc<DxvkImage>& image,
|
||||||
const DxvkImageViewCreateInfo& info)
|
const DxvkImageViewCreateInfo& info)
|
||||||
: m_vkd(vkd), m_image(image), m_info(info) {
|
: m_vkd(vkd), m_image(image), m_info(info) {
|
||||||
TRACE(this, image);
|
|
||||||
VkComponentMapping componentMapping;
|
VkComponentMapping componentMapping;
|
||||||
componentMapping.r = VK_COMPONENT_SWIZZLE_IDENTITY;
|
componentMapping.r = VK_COMPONENT_SWIZZLE_IDENTITY;
|
||||||
componentMapping.g = VK_COMPONENT_SWIZZLE_IDENTITY;
|
componentMapping.g = VK_COMPONENT_SWIZZLE_IDENTITY;
|
||||||
@ -64,7 +62,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkImageView::~DxvkImageView() {
|
DxvkImageView::~DxvkImageView() {
|
||||||
TRACE(this);
|
|
||||||
m_vkd->vkDestroyImageView(
|
m_vkd->vkDestroyImageView(
|
||||||
m_vkd->device(), m_view, nullptr);
|
m_vkd->device(), m_view, nullptr);
|
||||||
}
|
}
|
||||||
|
@ -5,12 +5,11 @@ namespace dxvk {
|
|||||||
DxvkInstance::DxvkInstance()
|
DxvkInstance::DxvkInstance()
|
||||||
: m_vkl(new vk::LibraryFn()),
|
: m_vkl(new vk::LibraryFn()),
|
||||||
m_vki(new vk::InstanceFn(this->createInstance())) {
|
m_vki(new vk::InstanceFn(this->createInstance())) {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkInstance::~DxvkInstance() {
|
DxvkInstance::~DxvkInstance() {
|
||||||
TRACE(this);
|
|
||||||
m_vki->vkDestroyInstance(
|
m_vki->vkDestroyInstance(
|
||||||
m_vki->instance(), nullptr);
|
m_vki->instance(), nullptr);
|
||||||
}
|
}
|
||||||
|
@ -90,8 +90,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
VkDeviceMemory DxvkMemoryAllocator::allocMemory(
|
VkDeviceMemory DxvkMemoryAllocator::allocMemory(
|
||||||
VkDeviceSize blockSize, uint32_t memoryType) {
|
VkDeviceSize blockSize, uint32_t memoryType) {
|
||||||
TRACE(blockSize, memoryType);
|
|
||||||
|
|
||||||
VkMemoryAllocateInfo info;
|
VkMemoryAllocateInfo info;
|
||||||
info.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
|
info.sType = VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_INFO;
|
||||||
info.pNext = nullptr;
|
info.pNext = nullptr;
|
||||||
|
@ -5,12 +5,12 @@ namespace dxvk {
|
|||||||
DxvkPipelineManager::DxvkPipelineManager(
|
DxvkPipelineManager::DxvkPipelineManager(
|
||||||
const Rc<vk::DeviceFn>& vkd)
|
const Rc<vk::DeviceFn>& vkd)
|
||||||
: m_vkd(vkd) {
|
: m_vkd(vkd) {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkPipelineManager::~DxvkPipelineManager() {
|
DxvkPipelineManager::~DxvkPipelineManager() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@ namespace dxvk {
|
|||||||
VkImageLayout initialLayout,
|
VkImageLayout initialLayout,
|
||||||
VkImageLayout finalLayout)
|
VkImageLayout finalLayout)
|
||||||
: m_vkd(vkd), m_format(fmt) {
|
: m_vkd(vkd), m_format(fmt) {
|
||||||
TRACE(this, initialLayout, finalLayout);
|
|
||||||
std::vector<VkAttachmentDescription> attachments;
|
std::vector<VkAttachmentDescription> attachments;
|
||||||
|
|
||||||
VkAttachmentReference depthRef;
|
VkAttachmentReference depthRef;
|
||||||
@ -128,7 +127,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkRenderPass::~DxvkRenderPass() {
|
DxvkRenderPass::~DxvkRenderPass() {
|
||||||
TRACE(this);
|
|
||||||
m_vkd->vkDestroyRenderPass(
|
m_vkd->vkDestroyRenderPass(
|
||||||
m_vkd->device(), m_renderPass, nullptr);
|
m_vkd->device(), m_renderPass, nullptr);
|
||||||
}
|
}
|
||||||
@ -136,12 +134,12 @@ namespace dxvk {
|
|||||||
|
|
||||||
DxvkRenderPassPool::DxvkRenderPassPool(const Rc<vk::DeviceFn>& vkd)
|
DxvkRenderPassPool::DxvkRenderPassPool(const Rc<vk::DeviceFn>& vkd)
|
||||||
: m_vkd(vkd) {
|
: m_vkd(vkd) {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkRenderPassPool::~DxvkRenderPassPool() {
|
DxvkRenderPassPool::~DxvkRenderPassPool() {
|
||||||
TRACE(this);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,8 +7,6 @@ namespace dxvk {
|
|||||||
VkShaderStageFlagBits stage,
|
VkShaderStageFlagBits stage,
|
||||||
const SpirvCodeBuffer& code)
|
const SpirvCodeBuffer& code)
|
||||||
: m_vkd(vkd), m_stage(stage) {
|
: m_vkd(vkd), m_stage(stage) {
|
||||||
TRACE(this, stage);
|
|
||||||
|
|
||||||
VkShaderModuleCreateInfo info;
|
VkShaderModuleCreateInfo info;
|
||||||
info.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
|
info.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO;
|
||||||
info.pNext = nullptr;
|
info.pNext = nullptr;
|
||||||
@ -23,8 +21,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkShader::~DxvkShader() {
|
DxvkShader::~DxvkShader() {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
m_vkd->vkDestroyShaderModule(
|
m_vkd->vkDestroyShaderModule(
|
||||||
m_vkd->device(), m_module, nullptr);
|
m_vkd->device(), m_module, nullptr);
|
||||||
}
|
}
|
||||||
|
@ -13,12 +13,11 @@ namespace dxvk {
|
|||||||
m_handle (createSurface(instance, window)),
|
m_handle (createSurface(instance, window)),
|
||||||
m_surfaceFormats (getSurfaceFormats()),
|
m_surfaceFormats (getSurfaceFormats()),
|
||||||
m_presentModes (getPresentModes()) {
|
m_presentModes (getPresentModes()) {
|
||||||
TRACE(this, adapter, instance, window);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkSurface::~DxvkSurface() {
|
DxvkSurface::~DxvkSurface() {
|
||||||
TRACE(this);
|
|
||||||
m_vki->vkDestroySurfaceKHR(
|
m_vki->vkDestroySurfaceKHR(
|
||||||
m_vki->instance(), m_handle, nullptr);
|
m_vki->instance(), m_handle, nullptr);
|
||||||
}
|
}
|
||||||
|
@ -17,13 +17,11 @@ namespace dxvk {
|
|||||||
m_surface (surface),
|
m_surface (surface),
|
||||||
m_queue (queue),
|
m_queue (queue),
|
||||||
m_properties(properties) {
|
m_properties(properties) {
|
||||||
TRACE(this, device, surface, queue);
|
|
||||||
this->recreateSwapchain();
|
this->recreateSwapchain();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DxvkSwapchain::~DxvkSwapchain() {
|
DxvkSwapchain::~DxvkSwapchain() {
|
||||||
TRACE(this);
|
|
||||||
m_device->waitForIdle();
|
m_device->waitForIdle();
|
||||||
m_vkd->vkDestroySwapchainKHR(
|
m_vkd->vkDestroySwapchainKHR(
|
||||||
m_vkd->device(), m_handle, nullptr);
|
m_vkd->device(), m_handle, nullptr);
|
||||||
@ -32,8 +30,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
Rc<DxvkFramebuffer> DxvkSwapchain::getFramebuffer(
|
Rc<DxvkFramebuffer> DxvkSwapchain::getFramebuffer(
|
||||||
const Rc<DxvkSemaphore>& wakeSync) {
|
const Rc<DxvkSemaphore>& wakeSync) {
|
||||||
TRACE(this, wakeSync);
|
|
||||||
|
|
||||||
VkResult status = this->acquireNextImage(wakeSync);
|
VkResult status = this->acquireNextImage(wakeSync);
|
||||||
|
|
||||||
if (status == VK_ERROR_OUT_OF_DATE_KHR) {
|
if (status == VK_ERROR_OUT_OF_DATE_KHR) {
|
||||||
@ -50,8 +46,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
void DxvkSwapchain::present(const Rc<DxvkSemaphore>& waitSync) {
|
void DxvkSwapchain::present(const Rc<DxvkSemaphore>& waitSync) {
|
||||||
TRACE(this, waitSync);
|
|
||||||
|
|
||||||
const VkSemaphore waitSemaphore = waitSync->handle();
|
const VkSemaphore waitSemaphore = waitSync->handle();
|
||||||
|
|
||||||
VkPresentInfoKHR info;
|
VkPresentInfoKHR info;
|
||||||
@ -75,7 +69,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
void DxvkSwapchain::changeProperties(
|
void DxvkSwapchain::changeProperties(
|
||||||
const DxvkSwapchainProperties& props) {
|
const DxvkSwapchainProperties& props) {
|
||||||
TRACE(this);
|
|
||||||
m_properties = props;
|
m_properties = props;
|
||||||
this->recreateSwapchain();
|
this->recreateSwapchain();
|
||||||
}
|
}
|
||||||
@ -93,7 +86,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
void DxvkSwapchain::recreateSwapchain() {
|
void DxvkSwapchain::recreateSwapchain() {
|
||||||
TRACE(this);
|
|
||||||
VkSwapchainKHR oldSwapchain = m_handle;
|
VkSwapchainKHR oldSwapchain = m_handle;
|
||||||
|
|
||||||
// Wait until we can be certain that none of our
|
// Wait until we can be certain that none of our
|
||||||
|
@ -5,8 +5,6 @@ namespace dxvk {
|
|||||||
DxvkSemaphore::DxvkSemaphore(
|
DxvkSemaphore::DxvkSemaphore(
|
||||||
const Rc<vk::DeviceFn>& vkd)
|
const Rc<vk::DeviceFn>& vkd)
|
||||||
: m_vkd(vkd) {
|
: m_vkd(vkd) {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
VkSemaphoreCreateInfo info;
|
VkSemaphoreCreateInfo info;
|
||||||
info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
|
info.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
|
||||||
info.pNext = nullptr;
|
info.pNext = nullptr;
|
||||||
@ -18,7 +16,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkSemaphore::~DxvkSemaphore() {
|
DxvkSemaphore::~DxvkSemaphore() {
|
||||||
TRACE(this);
|
|
||||||
m_vkd->vkDestroySemaphore(
|
m_vkd->vkDestroySemaphore(
|
||||||
m_vkd->device(), m_semaphore, nullptr);
|
m_vkd->device(), m_semaphore, nullptr);
|
||||||
}
|
}
|
||||||
@ -26,8 +23,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
DxvkFence::DxvkFence(const Rc<vk::DeviceFn>& vkd)
|
DxvkFence::DxvkFence(const Rc<vk::DeviceFn>& vkd)
|
||||||
: m_vkd(vkd) {
|
: m_vkd(vkd) {
|
||||||
TRACE(this);
|
|
||||||
|
|
||||||
VkFenceCreateInfo info;
|
VkFenceCreateInfo info;
|
||||||
info.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
|
info.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
|
||||||
info.pNext = nullptr;
|
info.pNext = nullptr;
|
||||||
@ -39,15 +34,12 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
DxvkFence::~DxvkFence() {
|
DxvkFence::~DxvkFence() {
|
||||||
TRACE(this);
|
|
||||||
m_vkd->vkDestroyFence(
|
m_vkd->vkDestroyFence(
|
||||||
m_vkd->device(), m_fence, nullptr);
|
m_vkd->device(), m_fence, nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool DxvkFence::wait(uint64_t timeout) const {
|
bool DxvkFence::wait(uint64_t timeout) const {
|
||||||
TRACE(this, timeout);
|
|
||||||
|
|
||||||
VkResult status = m_vkd->vkWaitForFences(
|
VkResult status = m_vkd->vkWaitForFences(
|
||||||
m_vkd->device(), 1, &m_fence, VK_FALSE, timeout);
|
m_vkd->device(), 1, &m_fence, VK_FALSE, timeout);
|
||||||
|
|
||||||
@ -58,7 +50,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
|
|
||||||
void DxvkFence::reset() {
|
void DxvkFence::reset() {
|
||||||
TRACE(this);
|
|
||||||
if (m_vkd->vkResetFences(m_vkd->device(), 1, &m_fence) != VK_SUCCESS)
|
if (m_vkd->vkResetFences(m_vkd->device(), 1, &m_fence) != VK_SUCCESS)
|
||||||
throw DxvkError("DxvkFence::reset: Failed to reset fence");
|
throw DxvkError("DxvkFence::reset: Failed to reset fence");
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user