Commit 5053f1fd authored by Roman Sedaikin's avatar Roman Sedaikin

Added check on adapter is found.

parent 9f360dc0
...@@ -213,7 +213,7 @@ HRESULT D3DCompile( ...@@ -213,7 +213,7 @@ HRESULT D3DCompile(
return toJavaPointer(renderTarget); return toJavaPointer(renderTarget);
} }
void defineHardwareAdapter(IDXGIFactory4 *pFactory, IDXGIAdapter1 **ppAdapter) bool defineHardwareAdapter(IDXGIFactory4 *pFactory, IDXGIAdapter1 **ppAdapter)
{ {
*ppAdapter = nullptr; *ppAdapter = nullptr;
for (UINT adapterIndex = 0;; ++adapterIndex) for (UINT adapterIndex = 0;; ++adapterIndex)
...@@ -226,10 +226,11 @@ HRESULT D3DCompile( ...@@ -226,10 +226,11 @@ HRESULT D3DCompile(
if (SUCCEEDED(D3D12CreateDevice(pAdapter, D3D_FEATURE_LEVEL_11_0, _uuidof(ID3D12Device), nullptr))) if (SUCCEEDED(D3D12CreateDevice(pAdapter, D3D_FEATURE_LEVEL_11_0, _uuidof(ID3D12Device), nullptr)))
{ {
*ppAdapter = pAdapter; *ppAdapter = pAdapter;
return; return true;
} }
pAdapter->Release(); pAdapter->Release();
} }
return false;
} }
JNIEXPORT jlong JNICALL Java_org_jetbrains_skiko_redrawer_Direct3DRedrawer_createDirectXDevice( JNIEXPORT jlong JNICALL Java_org_jetbrains_skiko_redrawer_Direct3DRedrawer_createDirectXDevice(
...@@ -243,7 +244,10 @@ HRESULT D3DCompile( ...@@ -243,7 +244,10 @@ HRESULT D3DCompile(
return 0; return 0;
} }
gr_cp<IDXGIAdapter1> hardwareAdapter; gr_cp<IDXGIAdapter1> hardwareAdapter;
defineHardwareAdapter(deviceFactory.get(), &hardwareAdapter); if (!defineHardwareAdapter(deviceFactory.get(), &hardwareAdapter))
{
return 0;
}
gr_cp<ID3D12Device> device; gr_cp<ID3D12Device> device;
if (!SUCCEEDED(D3D12CreateDevice(hardwareAdapter.get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&device)))) if (!SUCCEEDED(D3D12CreateDevice(hardwareAdapter.get(), D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&device))))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment