0 Replies Latest reply on Feb 18, 2016 3:31 AM by melstrom

    Intel HD Graphics 4600 driver fails

    melstrom

      Hello!

      I have encountered with Intel HD Graphics 4600 driver problem. My application uses Direct3D11 API. After successful device creation and futher resource allocations, Direct3D debug runtime outputs:

      D3D11: Removing Device.

      D3D11 WARNING: ID3D11Device::RemoveDevice: Device removal has been triggered for the following reason (DXGI_ERROR_DRIVER_INTERNAL_ERROR: There is strong evidence that the driver has performed an undefined operation; but it may be because the application performed an illegal or undefined operation to begin with.). [ EXECUTION WARNING #379: DEVICE_REMOVAL_PROCESS_POSSIBLY_AT_FAULT]

       

      I have run my own tests on Intel HD Graphics 4600 regarding memory allocation and can say that driver has problems with releasing resources. It simply does not do it after calling Release() D3D11 API method as it should be and device memory still stay allocated. Everyone can write and run test this issue simply creating a loop with D3D11 resource creating and releasing inside loop body. Buffer 1Mb sized resource creation fails after 1450-1550 iterations, texture 2D 1Mb sized resource creation fails after 24000 iterations. I have tested this on current HD 4600 driver (154010.4300) and beta (20.19.15.4380) which available for download here.

      With the same tests my secondary AMD R7 265 works fine, correctly creating and releasing D3D11 resources. And even more it outputs debug message that device memory is exhausted:

      D3D11 ERROR: ID3D11Device::CreateBuffer: CreateBuffer returning E_OUTOFMEMORY, meaning memory was exhausted. [ STATE_CREATION ERROR #70: CREATEBUFFER_OUTOFMEMORY_RETURN]


      If someone need my test code snippets or any other details feel free to contact me. I hope Intel review this driver issue a soon as possible and fix it.