
To support aspect-ratio-preserving stretched scaling and custom scaling modes available beginning with Windows 7 (where DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN7), the following capabilities are added to VidPN present path data used by display miniport drivers:
D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT structure:
AspectRatioCenteredMax and Custom members
D3DKMDT_VIDPN_PRESENT_PATH_SCALING enumeration:
D3DKMDT_VPPS_ASPECTRATIOCENTEREDMAX and D3DKMDT_VPPS_CUSTOM values
An aspect ratio is a proportional relationship between an image's width and height. Essentially, it describes an image's shape. Aspect ratios are written as a formula of width to height, like this: 3:2. For example, a square image has an aspect ratio of 1:1, since the height and width are the same. Aug 03, 2015 I had the same problem after a driver update to my ATI Radeon HD 4200 display adapter. I followed the instructions to 'roll back' to the previous driver, and it immediately reset my aspect ratio to the proper 16:9.
The behavior and appearance of the desktop on the monitor using these scaling modes is described in Scaling the Desktop Image. When the display mode manager (DMM) calls the DxgkDdiEnumVidPnCofuncModality function, the driver must set the members of D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT according to the types of scaling that the VidPN present path supports, as follows:
Identity Scaling
If the path can display content with no transformation, set the Identity member of D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT to a nonzero value. When DxgkDdiEnumVidPnCofuncModality is called, set the Scaling member of the D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION structure to D3DKMDT_VPPS_IDENTITY.
Centered Scaling
If the path can display content unscaled and centered on the target, set D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT.Centered. When DxgkDdiEnumVidPnCofuncModality is called, set D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION.Scaling to D3DKMDT_VPPS_CENTERED.
Stretched Scaling
If the path can display content that is scaled to fit the target while not preserving the aspect ratio of the source, set D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT.Stretched. When DxgkDdiEnumVidPnCofuncModality is called, set D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION.Scaling to D3DKMDT_VPPS_STRETCHED.
Aspect-Ratio-Preserving Stretched Scaling
If the path can scale source content to fit the target while preserving the aspect ratio of the source, set D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT.AspectRatioCenteredMax. When DxgkDdiEnumVidPnCofuncModality is called, set D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION.Scaling to D3DKMDT_VPPS_ASPECTRATIOCENTEREDMAX.
Custom Scaling
If the path can display one or more scaling modes that are not described by the other D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT structure members, set D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT.Custom. When DxgkDdiEnumVidPnCofuncModality is called, set D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION.Scaling to D3DKMDT_VPPS_CUSTOM. Independent hardware vendors (IHVs) can use private escape values to inform the driver how to interpret custom scaling on a given target.
If the current pinned target and source modes have the same aspect ratio but are different sizes, the display miniport driver should set only the Stretched and Centered members. In this case DMM will clear any nonzero value of the AspectRatioCenteredMax member.
The correspondence of user-mode API scaling values to the display miniport driver DDI scaling values in the D3DKMDT_VIDPN_PRESENT_PATH_SCALING enumeration is shown in the following table.
| SetDisplayConfig](/windows/win32/api/winuser/nf-winuser-setdisplayconfig)'>SetDisplayConfig API Scaling Value | DDI Scaling Value |
|---|---|
DC_IDENTITY | D3DKMDT_VPPS_IDENTITY |
DC_CENTERED | D3DKMDT_VPPS_CENTERED |
DC_STRETCHED | D3DKMDT_VPPS_STRETCHED |
DC_ASPRATIOMAX | D3DKMDT_VPPS_ASPECTRATIOCENTEREDMAX |
DC_CUSTOM | D3DKMDT_VPPS_CUSTOM |
DC_PREFERRED | D3DKMDT_VPPS_PREFERRED |
This mapping can be used with the tables in Scaling the Desktop Image to understand how user-mode scaling types are translated into DDI scaling types that are sent to the display miniport driver.
The behavior of different display miniport driver versions running on different versions of the operating system are shown in the following table.
Driver VersionOperating System Version
DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7
and
>= DXGKDDI_INTERFACE_VERSION_VISTA
DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN7
Windows Vista
The driver has Windows Vista behavior.
The driver must check the operating system version during initialization and should never expose or use the AspectRatioCenteredMax and Custom members of D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT. If the driver violates this requirement, DMM will ignore AspectRatioCenteredMax and Custom and will only recognize the Identity, Centered, or Stretched members. If the driver attempts to pin the D3DKMDT_VPPS_ASPECTRATIOCENTEREDMAX scaling mode on any VidPN path, DMM will return the status code STATUS_GRAPHICS_INVALID_PATH_CONTENT_GEOMETRY_TRANSFORMATION and will treat this scaling mode the same as full-screen stretch mode.
Windows 7
The operating system clears the values of the AspectRatioCenteredMax and Custom members and assumes that the driver does not support aspect-ratio-preserving stretched scaling and custom scaling modes. DMM will only set scaling modes D3DKMDT_VPPS_IDENTITY, D3DKMDT_VPPS_STRETCHED, or D3DKMDT_VPPS_CENTERED. The driver behaves as on Windows Vista.
The driver should support the AspectRatioCenteredMax member, and the operating system uses it from Control Panel applications. The driver can optionally implement customized functionality by setting the Custom member.
DMM will always confirm that the driver interface >= DXGKDDI_INTERFACE_VERSION_WIN7 before it attempts to check and use the AspectRatioCenteredMax or Custom members of D3DKMDT_VIDPN_PRESENT_PATH_SCALING_SUPPORT.
Important A display miniport driver that supports the D3DKMDT_VPPS_ASPECTRATIOCENTEREDMAX or D3DKMDT_VPPS_CUSTOM values should never set a value of D3DKMDT_VPPS_NOTSPECIFIED.
The values of the scaling types D3DKMDT_VPPS_ASPECTRATIOCENTEREDMAX and D3DKMDT_VPPS_CUSTOM introduced with Windows 7 are stored in the CCD connection database that is associated with a graphics processing unit (GPU). If the user moves a monitor from one GPU with a driver that supports these scaling members to another GPU, the second GPU might not be supported by the original driver. In this case the operating system will map these scaling types to the system default scaling.
If both GPUs support the scaling types D3DKMDT_VPPS_ASPECTRATIOCENTEREDMAX and D3DKMDT_VPPS_CUSTOM, and the driver for the first GPU implements the D3DKMDT_VPPS_CUSTOM custom scaling request, then if the user switches the monitor to the second GPU, the driver for the second GPU will probably not know how to interpret the custom scaling request. In this case the second driver should fail a call to the DxgkDdiCommitVidPn function and should return the STATUS_GRAPHICS_VIDPN_MODALITY_NOT_SUPPORTED status code; the operating system will map this scaling type to the system default scaling.
On this page:
At age 78, Sheila thinks she's a good driver, but, this year, she's had a minor accident and several near misses. She's noticed a few new dents on her car and doesn't know how they got there. Sheila wonders how she can stay safe behind the wheel.
Have you been worried about your driving? Have your family or friends expressed concern? Changes in your health may affect your driving skills over time. Don't risk hurting yourself or others. Talk with your doctor about any concerns you have about your health and driving.
As you age, your joints may get stiff, and your muscles may weaken. Arthritis, which is common among older adults, might affect your ability to drive. These changes can make it harder to turn your head to look back, turn the steering wheel quickly, or brake safely.
Safe driving tips:


Your eyesight can change as you get older. It might be harder to see people, things, and movement outside your direct line of sight. It may take longer to read street or traffic signs or even recognize familiar places. At night, you may have trouble seeing things clearly. Glare from oncoming headlights or street lights can be a problem. Depending on the time of the day, the sun might be blinding.
Eye diseases, such as glaucoma, cataracts, and macular degeneration, as well as some medicines, can also cause vision problems.
Safe driving tips:
As you get older, your hearing can change, making it harder to notice horns, sirens, or even noises coming from your own car. Hearing loss can be a problem because these sounds warn you when you may need to pull over or get out of the way.
Safe driving tips:
In the very early stages of Alzheimer's disease or other types of dementia, some people are able to keep driving. But, as memory and decision-making skills get worse, they need to stop.
People with dementia often do not know they are having driving problems. Family and friends need to monitor the person's driving ability and take action as soon as they observe a potential problem, such as forgetting how to find familiar places like the grocery store or even their home. Work with the doctor to let the person know it's no longer safe to keep driving.
Learn more about driving safety and Alzheimer's disease.
As you get older, your reflexes might get slower, and you might not react as quickly as you could in the past. You might find that you have a shorter attention span, making it harder to do two things at once. Stiff joints or weak muscles also can make it harder to move quickly. Loss of feeling or tingling in your fingers and feet can make it difficult to steer or use the foot pedals. Parkinson's disease or limitations following a stroke can make it no longer safe to drive.
Safe driving tips:
Do you take any medicines that make you feel drowsy, lightheaded, or less alert than usual? Do medicines you take have a warning about driving? Many medications have side effects that can make driving unsafe. Pay attention to how these drugs may affect your driving.
Safe driving tips:
Maybe you already know that driving at night, on the highway, or in bad weather is a problem for you. Some older drivers also have problems when yielding the right of way, turning (especially making left turns), changing lanes, passing, and using expressway ramps.
Safe driving tips:
Are you worried about an older family member or friend driving? Sometimes, it can be hard for an older person to realize that he or she is no longer a safe driver. You might want to observe the person's driving skills.
If it's not possible to observe the older person driving, look out for these signs:
Talking with an older person about his or her driving is often difficult. Here are some things that might help when having the talk.
We all age differently. For this reason, there is no way to set one age when everyone should stop driving. So, how do you know if you should stop? To help decide, ask yourself:
If you answered 'yes' to any of these questions, it may be time to talk with your doctor about driving or have a driving assessment.
Are you worried you won't be able to do the things you want and need to do if you stop driving? Many people have this concern, but there may be more ways to get around than you think. For example, some areas provide free or low-cost bus or taxi services for older people. Some communities offer a carpool service or scheduled trips to the grocery store, mall, or doctor's office. Religious and civic groups sometimes have volunteers who will drive you where you want to go.
Your local Area Agency on Aging can help you find services in your area. Call 1-800-677-1116, or go to https://eldercare.acl.gov to find your nearest Area Agency on Aging.
You can also think about using a car or ride-sharing service. Sound pricey? Don't forget—it costs a lot to own a car. If you don't have to make car payments or pay for insurance, maintenance, gas, oil, or other car expenses, then you may be able to afford to take taxis or other transportation. You can also buy gas for friends or family members who give you rides.
Before you leave home:
While you are driving:
Read about this topic in Spanish. Lea sobre este tema en español.

National Highway Traffic Safety Administration
888-327-4236 (toll-free)
800-424-9153 (TTY/toll-free)
nhtsa.webmaster@dot.gov
www.nhtsa.gov/road-safety/older-drivers
AAA Foundation for Traffic Safety
202-638-5944
info@aaafoundation.org
www.seniordriving.aaa.com
www.aaafoundation.org
AARP
888-687-2277 (toll-free)
877-434-7598 (TTY/toll-free)
member@aarp.org
www.aarp.org/auto/driver-safety
Eldercare Locator
800-677-1116 (toll-free)
eldercarelocator@n4a.org
https://eldercare.acl.gov
This content is provided by the NIH National Institute on Aging (NIA). NIA scientists and other experts review this content to ensure it is accurate and up to date.
Content reviewed: December 12, 2018
