Original Post
Do all Direct3D calls have to be used on the windows message/event thread. Like the DX9.0c examples? I think in DX8.0 they were not. It’s clear from the docs all calls must be “strongly segregate” I’m just checking that you can either put all the calls on the message thread or on the application thread(s) but not both. Are there any advantages having the DirectX calls on the message thread. The bit in the docs that seems slightly confusing is below. (Apologies if I’m breaking copyright by quoting MS docs) “In particular, an application must be sure to strongly segregate its window message handling threads from its Direct3D threads. An application that causes a mode change on one thread but makes Direct3D calls on a different thread in its window procedure is in danger of deadlock. For these reasons, Direct3D is designed so that the methods IDirect3DDevice9::Reset, IDirect3D9::CreateDevice, IDirect3DDevice9::TestCooperativeLevel, or the final Release of IDirect3DDevice9 can only be called from the same thread that handles window messages.”