Plugin development: howto detect if dx9ex is enabled?

Can anyone tell me how I can get to know if /dx9ex is enabled in a dynamic plugin?


see here line 49.

if (device is DeviceEx) { ... }

Ok, easy.

But when I use TextureUtils.CreateTexture(device, w, h) to create new textures, And I connect a TextureInfo to my plugin, it doesn’t return a handle. (I started with /dx9ex of course)

Is there anything else I should do, to let vvvv know I created a shared texture?

right, thats still missing…

And if I want to do it myself, what should I set sharedHandle to for the first texture?

Something like this? This doesn’t seem to work either (at least Info keeps telling me sharedhandle = 0)

IntPtr sharedHandle = new IntPtr();

new Texture(device, width, height, 1, Usage.Dynamic, Format.A8R8G8B8, Pool.Default, ref sharedHandle);

Is that all I would need to do? Or do I need to set some other ‘internal’ variable? I can see that Template (EX9.Texture) also doesn’t return a shared texture at this time, but VideoTexture does. How does that one work?

we’re using resource.SetPrivateData() to save the sharedhandle with the texture. now i just found out that slimdx doesn’t expose this. hm…

so for now your only option is to return the handle as a uint output pin.

EDIT: meanwhile i started an issue:

I was just wondering, does SlimDX have a way to get to the native (unwrapped) Com-object?

you can access the pointer to the native com-object via the ComPointer property.