Преглед изворни кода

libobs-d3d11: Clear device state before unloading

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.
jp9000 пре 9 година
родитељ
комит
bc0faf9a3c
2 измењених фајлова са 6 додато и 0 уклоњено
  1. 5 0
      libobs-d3d11/d3d11-subsystem.cpp
  2. 1 0
      libobs-d3d11/d3d11-subsystem.hpp

+ 5 - 0
libobs-d3d11/d3d11-subsystem.cpp

@@ -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";

+ 1 - 0
libobs-d3d11/d3d11-subsystem.hpp

@@ -679,4 +679,5 @@ struct gs_device {
 	void UpdateViewProjMatrix();
 
 	gs_device(uint32_t adapterIdx);
+	~gs_device();
 };