Unloads all device data and clears all device references. Probably not necessary, but it's unknown how D3D11 handles this internally so probably best to be safe.
@@ -440,6 +440,11 @@ gs_device::gs_device(uint32_t adapterIdx)
device_set_render_target(this, NULL, NULL);
}
+gs_device::~gs_device()
+{
+ context->ClearState();
+}
+
const char *device_get_name(void)
{
return "Direct3D 11";
@@ -679,4 +679,5 @@ struct gs_device {
void UpdateViewProjMatrix();
gs_device(uint32_t adapterIdx);
+ ~gs_device();
};