git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@1019
362d55ac-95cf-4e76-9f9a-
cbaa9c17b72d
}\r
catch(...)\r
{\r
- CASPAR_LOG(error) << L"ogl: create_device_buffer failed!";\r
- throw;\r
+ try\r
+ {\r
+ yield();\r
+ gc().get();\r
+ \r
+ // Try again\r
+ buffer.reset(new device_buffer(width, height, stride));\r
+ }\r
+ catch(...)\r
+ {\r
+ CASPAR_LOG(error) << L"ogl: create_device_buffer failed!";\r
+ throw;\r
+ }\r
}\r
\r
}, high_priority); \r
}\r
catch(...)\r
{\r
- CASPAR_LOG(error) << L"ogl: create_host_buffer failed!";\r
- throw; \r
+ try\r
+ {\r
+ yield();\r
+ gc().get();\r
+\r
+ // Try again\r
+ buffer.reset(new host_buffer(size, usage));\r
+ if(usage == host_buffer::write_only)\r
+ buffer->map();\r
+ else\r
+ buffer->unmap(); \r
+ }\r
+ catch(...)\r
+ {\r
+ CASPAR_LOG(error) << L"ogl: create_host_buffer failed!";\r
+ throw; \r
+ }\r
}\r
\r
}, high_priority); \r