Hi All,
i am a little bit unsure about the usage of this extension
https://www.opengl.org/registry/specs/NV/DX_interop.txt
especially when objects have to be locked using
wglDXLockObjectsNV.
Do they have to be locked
a) during binding
wglDXLockObjectsNV(...);
glBindTexture( target, tex );
wglDXUnlockObjectsNV(...)
b) until the next draw call
wglDXLockObjectsNV(...);
glBindTexture( target, tex );
glDrawArrays( ... )
wglDXUnlockObjectsNV(...)
c) until next finish/swapbuffers
wglDXLockObjectsNV(...);
glBindTexture( target, tex );
glDrawArrays( ... )
glFinish() // or SwapBuffers()
wglDXUnlockObjectsNV(...)
That is what the extension spec says
Before a GL object which is associated with a DirectX resource may be used, it must be locked.
but what ‘used’ means in this context is unclear to me. Also, do i
have to issue a glFlush() call after the wglDXLockObjectsNV(…) to
ensure it is in the pipeline like when using fences?
Best
Henniman