DirectX SDK

CONST_DDSURFACECAPSFLAGS

The CONST_DDSURFACECAPSFLAGS enumeration is used in the lCaps member of the DDSCAPS2 type to describe the capabilities of the surface.

Enum CONST_DDSURFACECAPSFLAGS
    DDSCAPS_3DDEVICE        =        8192
    DDSCAPS_ALLOCONLOAD     =    67108864
    DDSCAPS_ALPHA           =           2
    DDSCAPS_BACKBUFFER      =           4
    DDSCAPS_COMPLEX         =           8
    DDSCAPS_FLIP            =          16
    DDSCAPS_FRONTBUFFER     =          32
    DDSCAPS_HWCODEC         =     1048576
    DDSCAPS_LIVEVIDEO       =      524288
    DDSCAPS_LOCALVIDMEM     =   268435456
    DDSCAPS_MIPMAP          =     4194304
    DDSCAPS_MODEX           =     2097152
    DDSCAPS_NONLOCALVIDMEM  =   536870912
    DDSCAPS_OFFSCREENPLAIN  =          64
    DDSCAPS_OPTIMIZED       = -2147483648
    DDSCAPS_OVERLAY         =         128
    DDSCAPS_OWNDC           =      262144
    DDSCAPS_PALETTE         =         256
    DDSCAPS_PRIMARYSURFACE  =         512
    DDSCAPS_RESERVED2       =     8388608
    DDSCAPS_STANDARDVGAMODE =  1073741824
    DDSCAPS_SYSTEMMEMORY    =        2048
    DDSCAPS_TEXTURE         =        4096
    DDSCAPS_VIDEOMEMORY     =       16384
    DDSCAPS_VIDEOPORT       =   134217728
    DDSCAPS_VISIBLE         =       32768
    DDSCAPS_WRITEONLY       =       65536
    DDSCAPS_ZBUFFER         =      131072
End Enum
DDSCAPS_3DDEVICE
This surface can be used for 3-D rendering. Applications can use this flag to ensure that a device that can render only to a certain heap has off-screen surfaces allocated from the correct heap. If this flag is set for a heap, the surface is not allocated from that heap.
DDSCAPS_ALLOCONLOAD
Not used; ignored by DirectDraw and Direct3D.
DDSCAPS_ALPHA
This surface contains alpha-only information.
DDSCAPS_BACKBUFFER
This surface is the back buffer of a surface flipping type. Typically, this capability is set by the CreateSurface method when the DDSCAPS_FLIP flag is used. Only the surface that immediately precedes the DDSCAPS_FRONTBUFFER surface has this capability set. The other surfaces are identified as back buffers by the presence of the DDSCAPS_FLIP flag, their attachment order, and the absence of the DDSCAPS_FRONTBUFFER and DDSCAPS_BACKBUFFER capabilities. If this capability is sent to the CreateSurface method, a stand-alone back buffer is being created. After this method is called, this surface could be attached to a front buffer, another back buffer, or both to form a flipping surface type. For more information, see DirectDrawSurface7.AddAttachedSurface. DirectDraw supports an arbitrary number of surfaces in a flipping type.
DDSCAPS_COMPLEX
A complex surface is being described. A complex surface results in the creation of more than one surface. The additional surfaces are attached to the root surface. The complex type can be destroyed only by destroying the root.
DDSCAPS_FLIP
This surface is a part of a surface flipping type. When this capability is passed to the CreateSurface method, a front buffer and one or more back buffers are created. DirectDraw sets the DDSCAPS_FRONTBUFFER bit on the front-buffer surface and the DDSCAPS_BACKBUFFER bit on the surface adjacent to the front-buffer surface. The lBackBufferCount member of the DDSURFACEDESC2 type must be set to at least 1 for the method call to succeed. The DDSCAPS_COMPLEX capability must always be set when creating multiple surfaces by using the CreateSurface method.
DDSCAPS_FRONTBUFFER
This surface is the front buffer of a surface flipping type. This flag is typically set by the CreateSurface method when the DDSCAPS_FLIP capability is set. If this capability is sent to the CreateSurface method, a stand-alone front buffer is created. This surface does not have the DDSCAPS_FLIP capability. It can be attached to other back buffers to form a flipping type by using DirectDrawSurface7.AddAttachedSurface.
DDSCAPS_HWCODEC
This surface can have a stream decompressed to it by the hardware.
DDSCAPS_LIVEVIDEO
This surface can receive live video.
DDSCAPS_LOCALVIDMEM
This surface exists in true, local video memory, rather than nonlocal video memory. If this flag is specified, DDSCAPS_VIDEOMEMORY must be specified, as well. This flag cannot be used with the DDSCAPS_NONLOCALVIDMEM flag.
DDSCAPS_MIPMAP
This surface is one level of a mipmap. This surface is attached to other DDSCAPS_MIPMAP surfaces to form the mipmap. This can be done explicitly by creating a number of surfaces and attaching them by using the DirectDrawSurface7.AddAttachedSurface method, or implicitly by the CreateSurface method. If this capability is set, DDSCAPS_TEXTURE must also be set.
DDSCAPS_MODEX
This surface is a 320×200 or 320×240 Mode X surface.
DDSCAPS_NONLOCALVIDMEM
This surface exists in nonlocal video memory, rather than true, local video memory. If this flag is specified, DDSCAPS_VIDEOMEMORY flag must be specified, as well. This cannot be used with the DDSCAPS_LOCALVIDMEM flag.
DDSCAPS_OFFSCREENPLAIN
This surface is any off-screen surface that is not an overlay, texture, z-buffer, front-buffer, back-buffer, or alpha surface. It is used to identify plain surfaces.
DDSCAPS_OPTIMIZED
Not currently implemented.
DDSCAPS_OVERLAY
This surface is an overlay. It might or might not be directly visible, depending on whether it is currently being overlaid onto the primary surface. DDSCAPS_VISIBLE can be used to determine if it is currently being overlaid.
DDSCAPS_OWNDC
This surface has a device context (DC) association for a long period of time.
DDSCAPS_PALETTE
This device driver allows unique DirectDrawPalette objects to be created and attached to this surface.
DDSCAPS_PRIMARYSURFACE
Surface is the primary surface. It represents what is currently visible.
DDSCAPS_RESERVED2
Reserved for future use.
DDSCAPS_STANDARDVGAMODE
This surface is a standard VGA mode surface, and not a Mode X surface. This flag cannot be used in combination with the DDSCAPS_MODEX flag.
DDSCAPS_SYSTEMMEMORY
This surface memory was allocated in system memory.
DDSCAPS_TEXTURE
This surface can be used as a 3-D texture. This member does not indicate whether the surface is being used for that purpose.
DDSCAPS_VIDEOMEMORY
This surface exists in display memory.
DDSCAPS_VIDEOPORT
This surface can receive data from a video port.
DDSCAPS_VISIBLE
Changes made to this surface are immediately visible. It is always set for the primary surface, as well as for overlays while they are being overlaid and texture maps while they are being textured.
DDSCAPS_WRITEONLY
Only write access is permitted to the surface. Read access from the surface can generate a general protection (GP) fault, but the read results from this surface are not meaningful.
DDSCAPS_ZBUFFER
This surface is the z-buffer. The z-buffer contains information that cannot be displayed. Instead, it contains bit-depth information that is used to determine which pixels are visible and which are obscured.