Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results


Before Posting...

Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging

The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.

Check out The OSR Learning Library at:

Issue regarding Iddcx 1.6 contiguous memory access

alexpacioalexpacio Member Posts: 3
edited June 5 in NTDEV

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)



  • alexpacioalexpacio Member Posts: 3

    Is there anyone that can help me to better understand if physically contiguous memory approach is intended for discrete GPUs?

    Or is it reserved for internal GPUs who share their memory with CPU, such as for Intel CPUs with their Xe GPUs or AMD Ryzen U-series which mount Vega GPUs inside the CPU package?

    I also tried to debug with Windbg but I can't see any relevant issue.

  • Nathan_KiddNathan_Kidd Member - All Emails Posts: 25

    (I don't have an answer, but also very interested in IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS with an IDD.)

  • alexpacioalexpacio Member Posts: 3

    Can anybody help me to find out which is the next move?
    Should I get in touch with MS if I want to have some more informations about these new modes of iddcx 1.6?

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. Sign in or register to get started.

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 January 2023 Live, Online
Developing Minifilters 20 March 2023 Live, Online
Writing WDF Drivers TBD 2023 Live, Online
Internals & Software Drivers 17 April 2023 Live, Online