sanjeev wrote:
I have just started Windows Display Driver Model. I am not able to get
my head around the whole VidPn concept. To be honest I am quite new in
the display driver domain but I do have the knowledge of WDM and other
general Windows OS concepts.
Unfortunately, there are a rather small number of WDDM experts in the
world. Virtually all of them work for one of the 3 or 4 important
graphics chip vendors, and I’m not sure any of them participate in this
forum (nor ANY forum). If you’re serious about doing a WDDM driver, it
would be worthwhile for your company to try to establish a relationship
with the Microsoft WDDM team. It’s not clear to me that it is possible
to develop a complete WDDM driver without that.
I used to be an XPDM hotshot. I tried to keep up with WDDM, but that
train has left the station for Poughkeepsie, and I’m not on it.
The DDK explanation of the whole VidPn thing seems quite abstract to
me. I need a mode straight forward explanation of things like mode
sets and what exactly all the VidPn related DRIVER_INITIALIZATION_DATA
miniport callbacks do. In particular, I already have the miniport
driver and I was trying to figure out the the code flow on setting a
particular resolution from the “Screen Resolution” property page.
The whole VidPn thing IS extremely abstract. You have “video present
sources”, which are the drawing surfaces that a graphics adapter
supports. You have “video present targets”, which are the various ways
graphics data can leave the adapter (VGA plug, HDMI, DVI, USB). Both of
those have a set of formats (in different universes), and there is a
list of which sources and source formats can be connected to which
targets and target formats. That WHOLE MESS comprises the “video
present network”. Here’s a quote from me in a 2009 conversation on the
topic:
I don’t know whether you’ve every read the “video present network”
documentation from the point of view
of a relative newcomer, but it is as impenetrable as any technical
document I’ve ever read.
Ivan Brugiolo, a Microsoft employee who used to be in the graphics team,
has probably been the most useful source of information about VidPn.
You might search for threads on WDDM with his name, plus take the time
to read through this entire exchange (which includes my quote above):
https://groups.google.com/forum/#!msg/microsoft.public.development.device.drivers/P47HTcoZNsc/fPcHeOVOL0UJ
- What is a mode in Windows jargon. Is it same as resolution +
refresh rate combo
Yes, resolution, depth and timing. This jargon comes from the graphics
chips. The CGA/EGA/VGA had various text and graphics “modes” that were
established by setting registers. This terminology has carried forward.
2)What exactly are surfaces. I know frame buffers. Is there any
distinction between surfaces and frame buffers and how many surfaces
can coexist at any time.
A surface is just something that can be drawn upon. A frame buffer is a
surface, but so is a memory bitmap.
- What are primary surfaces or primaries.
The primary surface is just a surface that is part of the user’s visible
desktop.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.