1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-27 13:54:16 +01:00

Compare commits

..

No commits in common. "218b67dd0c1eb3942668428a98f46a6fefefcf95" and "b8ce41482042e43f8e1322f8ace0dd2b66c1e69d" have entirely different histories.

2 changed files with 4 additions and 11 deletions

View File

@ -127,7 +127,6 @@ namespace dxvk {
INT STDMETHODCALLTYPE D3D9UserDefinedAnnotation::BeginEvent( INT STDMETHODCALLTYPE D3D9UserDefinedAnnotation::BeginEvent(
D3DCOLOR Color, D3DCOLOR Color,
LPCWSTR Name) { LPCWSTR Name) {
D3D9DeviceLock lock = m_container->LockDevice();
m_container->EmitCs([color = Color, labelName = dxvk::str::fromws(Name)](DxvkContext *ctx) { m_container->EmitCs([color = Color, labelName = dxvk::str::fromws(Name)](DxvkContext *ctx) {
VkDebugUtilsLabelEXT label; VkDebugUtilsLabelEXT label;
label.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT; label.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
@ -144,7 +143,6 @@ namespace dxvk {
INT STDMETHODCALLTYPE D3D9UserDefinedAnnotation::EndEvent() { INT STDMETHODCALLTYPE D3D9UserDefinedAnnotation::EndEvent() {
D3D9DeviceLock lock = m_container->LockDevice();
m_container->EmitCs([](DxvkContext *ctx) { m_container->EmitCs([](DxvkContext *ctx) {
ctx->endDebugLabel(); ctx->endDebugLabel();
}); });
@ -157,7 +155,6 @@ namespace dxvk {
void STDMETHODCALLTYPE D3D9UserDefinedAnnotation::SetMarker( void STDMETHODCALLTYPE D3D9UserDefinedAnnotation::SetMarker(
D3DCOLOR Color, D3DCOLOR Color,
LPCWSTR Name) { LPCWSTR Name) {
D3D9DeviceLock lock = m_container->LockDevice();
m_container->EmitCs([color = Color, labelName = dxvk::str::fromws(Name)](DxvkContext *ctx) { m_container->EmitCs([color = Color, labelName = dxvk::str::fromws(Name)](DxvkContext *ctx) {
VkDebugUtilsLabelEXT label; VkDebugUtilsLabelEXT label;
label.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT; label.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;

View File

@ -418,19 +418,11 @@ namespace dxvk {
// can not be higher than D3DSWAPEFFECT_FLIPEX. // can not be higher than D3DSWAPEFFECT_FLIPEX.
if (unlikely(pPresentationParameters->SwapEffect > D3DSWAPEFFECT_FLIPEX)) if (unlikely(pPresentationParameters->SwapEffect > D3DSWAPEFFECT_FLIPEX))
return D3DERR_INVALIDCALL; return D3DERR_INVALIDCALL;
// 30 is the highest supported back buffer count for Ex devices.
if (unlikely(pPresentationParameters->BackBufferCount > D3DPRESENT_BACK_BUFFERS_MAX_EX))
return D3DERR_INVALIDCALL;
} else { } else {
// The swap effect value on a non-Ex D3D9 device // The swap effect value on a non-Ex D3D9 device
// can not be higher than D3DSWAPEFFECT_COPY. // can not be higher than D3DSWAPEFFECT_COPY.
if (unlikely(pPresentationParameters->SwapEffect > D3DSWAPEFFECT_COPY)) if (unlikely(pPresentationParameters->SwapEffect > D3DSWAPEFFECT_COPY))
return D3DERR_INVALIDCALL; return D3DERR_INVALIDCALL;
// 3 is the highest supported back buffer count for non-Ex devices.
if (unlikely(pPresentationParameters->BackBufferCount > D3DPRESENT_BACK_BUFFERS_MAX))
return D3DERR_INVALIDCALL;
} }
// The swap effect value can not be 0. // The swap effect value can not be 0.
@ -446,6 +438,10 @@ namespace dxvk {
&& pPresentationParameters->BackBufferCount > 1)) && pPresentationParameters->BackBufferCount > 1))
return D3DERR_INVALIDCALL; return D3DERR_INVALIDCALL;
// 3 is the highest supported back buffer count.
if (unlikely(pPresentationParameters->BackBufferCount > 3))
return D3DERR_INVALIDCALL;
// Valid fullscreen presentation intervals must be known values. // Valid fullscreen presentation intervals must be known values.
if (unlikely(!pPresentationParameters->Windowed if (unlikely(!pPresentationParameters->Windowed
&& !(pPresentationParameters->PresentationInterval == D3DPRESENT_INTERVAL_DEFAULT && !(pPresentationParameters->PresentationInterval == D3DPRESENT_INTERVAL_DEFAULT