I'm developing a driver leveraging on IDD. My OS target is Windows 11 latest release.
I have a fully functioning driver based on Iddcx 1.4 and I successfully switched to 1.6, without touching the business logic of my driver.
Now, I would like to use the new swapchain buffer mode to access the framebuffer with less overhead. So I am trying to use IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS flag to access to the GPU buffer directly without any intermediate copy.
But, as soon as the driver inits the adapter, I expect the OS to call back EVT functions.
Instead I'm able to get called the commit monitor modes callback only. Then, I can't see any other callback being called by OS as I might expect while using the same code without setting that flag.
The next call I would expect to get is the EvtIddCxMonitorAssignSwapchain callback but this doesn't happen while the contiguous memory flag is set.
When the flag is unset or set to none, every callback are called as they should.
What am I missing? Is there anything that should be done before expecting the swapchain from the OS callback when contiguous memory is set?
Moreover, just to be honest I'm totally new to Windows driver development, so I'm totally unaware if there is any kind of support from Microsoft for this kind of issues. Is there any support team I can get in touch with to get my problem debugged?
I'm pretty sure that I followed all the best practices the MS published in their knowledge base, so I really can't figure out what else I can do since my problem really depends from the OS side and I don't get any error about that (also tried to debug with Windbg but everything seems to work fine from my user-mode side)