mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-04 19:29:15 +01:00
[d3d9] Remove explicit swapchain synchronization
No longer necessary.
This commit is contained in:
parent
c43cf6895b
commit
f9c3dd1f5f
@ -587,7 +587,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
HRESULT hr = D3D_OK;
|
HRESULT hr = D3D_OK;
|
||||||
|
|
||||||
this->SynchronizePresent();
|
|
||||||
this->NormalizePresentParameters(pPresentParams);
|
this->NormalizePresentParameters(pPresentParams);
|
||||||
|
|
||||||
bool changeFullscreen = m_presentParams.Windowed != pPresentParams->Windowed;
|
bool changeFullscreen = m_presentParams.Windowed != pPresentParams->Windowed;
|
||||||
@ -811,8 +810,6 @@ namespace dxvk {
|
|||||||
Rc<DxvkImageView> swapImageView = m_backBuffers[0]->GetImageView(false);
|
Rc<DxvkImageView> swapImageView = m_backBuffers[0]->GetImageView(false);
|
||||||
|
|
||||||
for (uint32_t i = 0; i < SyncInterval || i < 1; i++) {
|
for (uint32_t i = 0; i < SyncInterval || i < 1; i++) {
|
||||||
SynchronizePresent();
|
|
||||||
|
|
||||||
// Presentation semaphores and WSI swap chain image
|
// Presentation semaphores and WSI swap chain image
|
||||||
PresenterSync sync = { };
|
PresenterSync sync = { };
|
||||||
Rc<DxvkImage> backBuffer;
|
Rc<DxvkImage> backBuffer;
|
||||||
@ -836,8 +833,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
// Present from CS thread so that we don't
|
// Present from CS thread so that we don't
|
||||||
// have to synchronize with it first.
|
// have to synchronize with it first.
|
||||||
m_presentStatus.result = VK_NOT_READY;
|
|
||||||
|
|
||||||
DxvkImageViewKey viewInfo;
|
DxvkImageViewKey viewInfo;
|
||||||
viewInfo.viewType = VK_IMAGE_VIEW_TYPE_2D;
|
viewInfo.viewType = VK_IMAGE_VIEW_TYPE_2D;
|
||||||
viewInfo.usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
|
viewInfo.usage = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT;
|
||||||
@ -849,7 +844,6 @@ namespace dxvk {
|
|||||||
viewInfo.layerCount = 1u;
|
viewInfo.layerCount = 1u;
|
||||||
|
|
||||||
m_parent->EmitCs([
|
m_parent->EmitCs([
|
||||||
cPresentStatus = &m_presentStatus,
|
|
||||||
cDevice = m_device,
|
cDevice = m_device,
|
||||||
cPresenter = m_wctx->presenter,
|
cPresenter = m_wctx->presenter,
|
||||||
cBlitter = m_blitter,
|
cBlitter = m_blitter,
|
||||||
@ -882,8 +876,7 @@ namespace dxvk {
|
|||||||
|
|
||||||
uint64_t frameId = cRepeat ? 0 : cFrameId;
|
uint64_t frameId = cRepeat ? 0 : cFrameId;
|
||||||
|
|
||||||
cDevice->presentImage(cPresenter,
|
cDevice->presentImage(cPresenter, frameId, nullptr);
|
||||||
frameId, cPresentStatus);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
m_parent->FlushCsChunk();
|
m_parent->FlushCsChunk();
|
||||||
@ -900,11 +893,6 @@ namespace dxvk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void D3D9SwapChainEx::SynchronizePresent() {
|
|
||||||
m_device->waitForSubmission(&m_presentStatus);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Rc<Presenter> D3D9SwapChainEx::CreatePresenter(HWND Window, Rc<sync::Signal> Signal) {
|
Rc<Presenter> D3D9SwapChainEx::CreatePresenter(HWND Window, Rc<sync::Signal> Signal) {
|
||||||
PresenterDesc presenterDesc;
|
PresenterDesc presenterDesc;
|
||||||
presenterDesc.deferSurfaceCreation = m_parent->GetOptions()->deferSurfaceCreation;
|
presenterDesc.deferSurfaceCreation = m_parent->GetOptions()->deferSurfaceCreation;
|
||||||
|
@ -163,8 +163,6 @@ namespace dxvk {
|
|||||||
VkExtent2D m_swapchainExtent = { 0u, 0u };
|
VkExtent2D m_swapchainExtent = { 0u, 0u };
|
||||||
bool m_partialCopy = false;
|
bool m_partialCopy = false;
|
||||||
|
|
||||||
DxvkSubmitStatus m_presentStatus;
|
|
||||||
|
|
||||||
uint32_t m_frameLatencyCap = 0;
|
uint32_t m_frameLatencyCap = 0;
|
||||||
|
|
||||||
HWND m_window = nullptr;
|
HWND m_window = nullptr;
|
||||||
@ -187,8 +185,6 @@ namespace dxvk {
|
|||||||
|
|
||||||
void PresentImage(UINT PresentInterval);
|
void PresentImage(UINT PresentInterval);
|
||||||
|
|
||||||
void SynchronizePresent();
|
|
||||||
|
|
||||||
Rc<Presenter> CreatePresenter(
|
Rc<Presenter> CreatePresenter(
|
||||||
HWND Window,
|
HWND Window,
|
||||||
Rc<sync::Signal> Signal);
|
Rc<sync::Signal> Signal);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user