mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +01:00
[d3d11] nullptr check descs & fix return values
This commit is contained in:
parent
7118685901
commit
28df1e0825
@ -76,6 +76,9 @@ namespace dxvk {
|
|||||||
ID3D11Buffer** ppBuffer) {
|
ID3D11Buffer** ppBuffer) {
|
||||||
InitReturnPtr(ppBuffer);
|
InitReturnPtr(ppBuffer);
|
||||||
|
|
||||||
|
if (pDesc == nullptr)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
if (ppBuffer == nullptr)
|
if (ppBuffer == nullptr)
|
||||||
return S_FALSE;
|
return S_FALSE;
|
||||||
|
|
||||||
@ -88,7 +91,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,6 +101,9 @@ namespace dxvk {
|
|||||||
const D3D11_SUBRESOURCE_DATA* pInitialData,
|
const D3D11_SUBRESOURCE_DATA* pInitialData,
|
||||||
ID3D11Texture1D** ppTexture1D) {
|
ID3D11Texture1D** ppTexture1D) {
|
||||||
InitReturnPtr(ppTexture1D);
|
InitReturnPtr(ppTexture1D);
|
||||||
|
|
||||||
|
if (pDesc == nullptr)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
D3D11_COMMON_TEXTURE_DESC desc;
|
D3D11_COMMON_TEXTURE_DESC desc;
|
||||||
desc.Width = pDesc->Width;
|
desc.Width = pDesc->Width;
|
||||||
@ -125,7 +131,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -135,6 +141,9 @@ namespace dxvk {
|
|||||||
const D3D11_SUBRESOURCE_DATA* pInitialData,
|
const D3D11_SUBRESOURCE_DATA* pInitialData,
|
||||||
ID3D11Texture2D** ppTexture2D) {
|
ID3D11Texture2D** ppTexture2D) {
|
||||||
InitReturnPtr(ppTexture2D);
|
InitReturnPtr(ppTexture2D);
|
||||||
|
|
||||||
|
if (pDesc == nullptr)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
D3D11_COMMON_TEXTURE_DESC desc;
|
D3D11_COMMON_TEXTURE_DESC desc;
|
||||||
desc.Width = pDesc->Width;
|
desc.Width = pDesc->Width;
|
||||||
@ -162,7 +171,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,6 +181,9 @@ namespace dxvk {
|
|||||||
const D3D11_SUBRESOURCE_DATA* pInitialData,
|
const D3D11_SUBRESOURCE_DATA* pInitialData,
|
||||||
ID3D11Texture3D** ppTexture3D) {
|
ID3D11Texture3D** ppTexture3D) {
|
||||||
InitReturnPtr(ppTexture3D);
|
InitReturnPtr(ppTexture3D);
|
||||||
|
|
||||||
|
if (pDesc == nullptr)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
D3D11_COMMON_TEXTURE_DESC desc;
|
D3D11_COMMON_TEXTURE_DESC desc;
|
||||||
desc.Width = pDesc->Width;
|
desc.Width = pDesc->Width;
|
||||||
@ -199,7 +211,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,7 +259,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -295,7 +307,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -349,7 +361,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -397,7 +409,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -409,6 +421,9 @@ namespace dxvk {
|
|||||||
SIZE_T BytecodeLength,
|
SIZE_T BytecodeLength,
|
||||||
ID3D11InputLayout** ppInputLayout) {
|
ID3D11InputLayout** ppInputLayout) {
|
||||||
InitReturnPtr(ppInputLayout);
|
InitReturnPtr(ppInputLayout);
|
||||||
|
|
||||||
|
if (pInputElementDescs == nullptr)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
DxbcReader dxbcReader(reinterpret_cast<const char*>(
|
DxbcReader dxbcReader(reinterpret_cast<const char*>(
|
||||||
@ -533,7 +548,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -916,6 +931,10 @@ namespace dxvk {
|
|||||||
const D3D11_SAMPLER_DESC* pSamplerDesc,
|
const D3D11_SAMPLER_DESC* pSamplerDesc,
|
||||||
ID3D11SamplerState** ppSamplerState) {
|
ID3D11SamplerState** ppSamplerState) {
|
||||||
InitReturnPtr(ppSamplerState);
|
InitReturnPtr(ppSamplerState);
|
||||||
|
|
||||||
|
if (pSamplerDesc == nullptr)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
D3D11_SAMPLER_DESC desc = *pSamplerDesc;
|
D3D11_SAMPLER_DESC desc = *pSamplerDesc;
|
||||||
|
|
||||||
if (FAILED(D3D11SamplerState::NormalizeDesc(&desc)))
|
if (FAILED(D3D11SamplerState::NormalizeDesc(&desc)))
|
||||||
@ -929,7 +948,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -938,6 +957,9 @@ namespace dxvk {
|
|||||||
const D3D11_QUERY_DESC* pQueryDesc,
|
const D3D11_QUERY_DESC* pQueryDesc,
|
||||||
ID3D11Query** ppQuery) {
|
ID3D11Query** ppQuery) {
|
||||||
InitReturnPtr(ppQuery);
|
InitReturnPtr(ppQuery);
|
||||||
|
|
||||||
|
if (pQueryDesc == nullptr)
|
||||||
|
return E_INVALIDARG;
|
||||||
|
|
||||||
if (ppQuery == nullptr)
|
if (ppQuery == nullptr)
|
||||||
return S_FALSE;
|
return S_FALSE;
|
||||||
@ -947,7 +969,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -957,7 +979,7 @@ namespace dxvk {
|
|||||||
ID3D11Predicate** ppPredicate) {
|
ID3D11Predicate** ppPredicate) {
|
||||||
InitReturnPtr(ppPredicate);
|
InitReturnPtr(ppPredicate);
|
||||||
|
|
||||||
if (pPredicateDesc->Query != D3D11_QUERY_OCCLUSION_PREDICATE)
|
if (pPredicateDesc == nullptr || pPredicateDesc->Query != D3D11_QUERY_OCCLUSION_PREDICATE)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
||||||
if (ppPredicate == nullptr)
|
if (ppPredicate == nullptr)
|
||||||
@ -968,7 +990,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1478,7 +1500,7 @@ namespace dxvk {
|
|||||||
return S_OK;
|
return S_OK;
|
||||||
} catch (const DxvkError& e) {
|
} catch (const DxvkError& e) {
|
||||||
Logger::err(e.message());
|
Logger::err(e.message());
|
||||||
return E_FAIL;
|
return E_INVALIDARG;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user