diff --git a/src/gp_dx12.c b/src/gp_dx12.c index 01b914b5..353495f9 100644 --- a/src/gp_dx12.c +++ b/src/gp_dx12.c @@ -543,6 +543,7 @@ INTERNAL void dx12_init_device(void) struct string error = LIT("Could not initialize GPU device."); struct string first_gpu_name = ZI; u32 adapter_index = 0; + b32 skip = 0; /* For debugging iGPU */ for (;;) { { hr = IDXGIFactory6_EnumAdapterByGpuPreference(G.factory, adapter_index, DXGI_GPU_PREFERENCE_HIGH_PERFORMANCE, &IID_IDXGIAdapter1, (void **)&adapter); @@ -556,9 +557,10 @@ INTERNAL void dx12_init_device(void) { hr = D3D12CreateDevice((IUnknown *)adapter, D3D_FEATURE_LEVEL_12_0, &IID_ID3D12Device, (void **)&device); } - if (SUCCEEDED(hr)) { + if (SUCCEEDED(hr) && !skip ) { break; } + skip = 0; ID3D12Device_Release(device); IDXGIAdapter1_Release(adapter); adapter = 0; @@ -3077,7 +3079,7 @@ struct gp_resource *gp_run_render(struct gp_render_sig *gp_render_sig, struct gp struct dx12_resource_barrier_desc barriers[] = { { D3D12_RESOURCE_BARRIER_TYPE_TRANSITION, rsig->shade_read, D3D12_RESOURCE_STATE_UNORDERED_ACCESS }, { D3D12_RESOURCE_BARRIER_TYPE_UAV, rsig->shade_read, 0 }, - { D3D12_RESOURCE_BARRIER_TYPE_TRANSITION, rsig->ui_target, D3D12_RESOURCE_STATE_RENDER_TARGET } + { D3D12_RESOURCE_BARRIER_TYPE_TRANSITION, rsig->ui_target, D3D12_RESOURCE_STATE_RENDER_TARGET } }; dx12_resource_barriers(cl->cl, countof(barriers), barriers); ID3D12GraphicsCommandList_OMSetRenderTargets(cl->cl, 1, &rsig->ui_target->rtv_descriptor->handle, 0, 0);