Compartir a través de


estructura D3DDDI_RESOURCEFLAGS (d3dukmdt.h)

La estructura D3DDDI_RESOURCEFLAGS identifica el tipo de recursos que se va a crear en una llamada a la función CreateResource del controlador.

Sintaxis

typedef struct _D3DDDI_RESOURCEFLAGS {
  union {
    struct {
      UINT RenderTarget : 1;
      UINT ZBuffer : 1;
      UINT Dynamic : 1;
      UINT HintStatic : 1;
      UINT AutogenMipmap : 1;
      UINT DMap : 1;
      UINT WriteOnly : 1;
      UINT NotLockable : 1;
      UINT Points : 1;
      UINT RtPatches : 1;
      UINT NPatches : 1;
      UINT SharedResource : 1;
      UINT DiscardRenderTarget : 1;
      UINT Video : 1;
      UINT CaptureBuffer : 1;
      UINT Primary : 1;
      UINT Texture : 1;
      UINT CubeMap : 1;
      UINT Volume : 1;
      UINT VertexBuffer : 1;
      UINT IndexBuffer : 1;
      UINT DecodeRenderTarget : 1;
      UINT DecodeCompressedBuffer : 1;
      UINT VideoProcessRenderTarget : 1;
      UINT CpuOptimized : 1;
      UINT MightDrawFromLocked : 1;
      UINT Overlay : 1;
      UINT MatchGdiPrimary : 1;
      UINT InterlacedRefresh : 1;
      UINT TextApi : 1;
      UINT RestrictedContent : 1;
      UINT RestrictSharedAccess : 1;
    };
    UINT Value;
  };
} D3DDDI_RESOURCEFLAGS;

Miembros

RenderTarget

Establecer este miembro equivale a establecer el primer bit del miembro Value de 32 bits (0x00000001).

ZBuffer

Valor UINT que especifica si la superficie es el búfer z. El búfer z contiene información de profundidad de bits que se usa para determinar qué píxeles están visibles y cuáles están ocultos. El búfer z contiene información que no se puede mostrar.

Establecer este miembro equivale a establecer el segundo bit del miembro Value de 32 bits (0x00000002).

Dynamic

Valor UINT que especifica si la superficie se actualiza con frecuencia. Esta marca de campo de bits no se puede usar con la marca de campo de bits HintStatic .

Establecer este miembro equivale a establecer el tercer bit del miembro Value de 32 bits (0x00000004).

HintStatic

Valor UINT que especifica si la superficie se actualiza con poca frecuencia, pero todavía debe permitir el acceso. Esta marca de campo de bits no se puede usar con la marca de campo de bits dinámico .

Establecer este miembro equivale a establecer el cuarto bit del miembro Value de 32 bits (0x00000008).

AutogenMipmap

Valor UINT que especifica si se generan automáticamente los subveles del mapa MIP para la superficie.

Establecer este miembro equivale a establecer el quinto bit del miembro Value de 32 bits (0x00000010).

DMap

Valor UINT que especifica si la superficie es una textura de mapa de desplazamiento que el muestreador de mapa de desplazamiento puede muestrear en la unidad de teselación.

Establecer este miembro equivale a establecer el sexto bit del miembro Value de 32 bits (0x00000020).

WriteOnly

Valor UINT en el que se especifica si la superficie solo se puede escribir. El acceso de lectura desde la superficie podría generar un error de protección general (GPF). Si se lee la superficie, los resultados de lectura no son significativos.

Establecer este miembro equivale a establecer el séptimo bit del miembro Value de 32 bits (0x00000040).

NotLockable

Valor UINT que especifica si el destino de representación es bloqueable. Esta marca de campo de bits se establece en el servidor principal y los búferes de reserva si la cadena de volteo no se puede bloquear o en cualquier destino de representación que no se pueda bloquear. A continuación, el controlador puede realizar la optimización en segundo plano.

Incluso si se establece esta marca, la superficie todavía se puede bloquear, por lo que el controlador debe controlar esta situación. Sin embargo, estos bloqueos son poco frecuentes y no se espera que sean rápidos.

El controlador también puede determinar si el búfer de profundidad o galería de símbolos es bloqueable por la presencia de esta marca de campo de bits.

Establecer este miembro equivale a establecer el octavo bit del miembro Value de 32 bits (0x00000080).

Points

Valor UINT que especifica si la superficie contiene datos de búfer de vértices que se pueden usar para representar puntos y sprites de punto.

Establecer este miembro equivale a establecer el noveno bit del miembro Value de 32 bits (0x00000100).

RtPatches

Valor UINT que especifica si la superficie contiene datos de búfer de vértices que se pueden usar para representar revisiones rt.

Establecer este miembro equivale a establecer el décimo bit del miembro Value de 32 bits (0x00000200).

NPatches

Valor UINT que especifica si la superficie contiene datos de búfer de vértices que se pueden usar para representar n revisiones.

Establecer este miembro equivale a establecer el undécimo bit del miembro Value de 32 bits (0x00000400).

SharedResource

Valor UINT que especifica si varios dispositivos y procesos comparten la superficie.

Establecer este miembro equivale a establecer el duodécimo bit del miembro Value de 32 bits (0x00000800).

DiscardRenderTarget

Valor UINT que especifica si se requiere la conservación de la superficie. Si la superficie se usa como destino de representación, su conservación no es necesaria.

Establecer este miembro equivale a establecer el decimotercer bit del miembro Value de 32 bits (0x00001000).

Video

Valor UINT que especifica si la superficie es un destino de representación que contiene datos de vídeo.

Tenga en cuenta que se pueden crear varios destinos de representación con esta marca y, si dos o más de estos destinos de representación pertenecen al mismo contexto de Microsoft Direct3D, el controlador determina que estos destinos de representación deben mostrar la misma secuencia de vídeo independientemente de si las superficies de destino de representación se adjuntan entre sí.

Establecer este miembro equivale a establecer el decimocuarto bit del miembro Value de 32 bits (0x00002000).

CaptureBuffer

Valor UINT que especifica si el recurso es un búfer de captura.

Establecer este miembro equivale a establecer el decimoquinto bit del miembro Value de 32 bits (0x00004000).

Primary

Valor UINT que especifica si la superficie es la superficie principal, es decir, si la superficie está visible actualmente para el usuario.

Establecer este miembro equivale a establecer el decimosexto bit del miembro Valor de 32 bits (0x00008000).

Texture

Valor UINT que especifica si la superficie se puede usar como textura.

Establecer este miembro equivale a establecer el diecisiete bit del miembro Value de 32 bits (0x00010000).

CubeMap

Valor UINT que especifica si la superficie es un mapa de entorno cúbico. Esta marca de campo de bits requiere que se establezca la marca de campo de bits Textura .

Establecer este miembro equivale a establecer el decimoctavo bit del miembro Value de 32 bits (0x00020000).

Volume

Valor UINT que especifica si la superficie tiene profundidad, además del ancho y alto, es decir, si la superficie es un volumen. Esta marca de campo de bits requiere que se establezca la marca de campo de bits Textura .

Establecer este miembro equivale a establecer el decimonoveno bit del miembro Value de 32 bits (0x00040000).

VertexBuffer

Valor UINT que especifica si la superficie es un búfer de vértices (es decir, almacena vértices).

Establecer este miembro equivale a establecer el xx bit del miembro Value de 32 bits (0x00080000).

IndexBuffer

Valor UINT que especifica si la superficie es un búfer de índice (es decir, almacena índices).

Establecer este miembro equivale a establecer el veinticinco primer bit del miembro Value de 32 bits (0x00100000).

DecodeRenderTarget

Valor UINT que especifica si la superficie se usa como destino de representación para la descodificación de microsoft DirectX Video Acceleration (DirectX VA).

Establecer este miembro equivale a establecer el bit de veintisiete segundos del miembro Value de 32 bits (0x00200000).

DecodeCompressedBuffer

Valor UINT que especifica si la superficie contiene información de búfer comprimido para la descodificación de DirectX VA.

Establecer este miembro equivale a establecer el veintisiete bit del miembro Value de 32 bits (0x00400000).

VideoProcessRenderTarget

Valor UINT que especifica si la superficie se usa como destino de representación para el procesamiento de vídeo de DirectX VA.

Establecer este miembro equivale a establecer el veinticuatro bit del miembro Value de 32 bits (0x00800000).

CpuOptimized

Valor UINT que especifica si la CPU accede con frecuencia al recurso.

El controlador debe colocar el recurso en un grupo de memoria al que la CPU pueda acceder rápidamente (por ejemplo, memoria AGP). El controlador de minipuerto para mostrar debe marcar la memoria como almacena en caché estableciendo la marca de campo de bits almacenado en caché en el miembro Flags de la estructura DXGK_ALLOCATIONINFO cuando se llama a su función DxgkDdiCreateAllocation .

La marca CpuOptimized se establece normalmente para destinos de representación (tanto destinos de representación independientes como texturas).

Establecer este miembro equivale a establecer el veinticinco bit del miembro Value de 32 bits (0x01000000).

MightDrawFromLocked

Valor UINT que especifica si el controlador posiblemente se solicita dibujar desde un búfer de vértices aunque el tiempo de ejecución de Direct3D bloquee el búfer de vértices. Esta solicitud significa que, en ocasiones, el controlador puede recibir llamadas a sus funciones DrawIndexedPrimitive, DrawIndexedPrimitive2, DrawPrimitive y DrawPrimitive2 en las que se hace referencia a los datos de vértices dentro de un búfer de vértice bloqueado marcado con MightDrawFromLocked. El tiempo de ejecución debe realizar estos tipos de llamadas en escenarios en los que realiza la transformación y la iluminación de software (en lugar de hardware). Normalmente, estos escenarios no se producen.

Sin embargo, dado que el tiempo de ejecución bloqueó el búfer de vértices, el controlador no puede llamar a la función pfnUnlockCb antes de llamar a la función pfnRenderCb . Como resultado, el controlador debe admitir el búfer de vértices en un segmento de memoria AGP o del sistema; de lo contrario, el administrador de memoria de vídeo rechaza la representación. No es necesario que el controlador realice ninguna otra acción especial porque el tiempo de ejecución no sobrescribirá ningún dato en el búfer de vértices bloqueado cuando el hardware se represente activamente desde el búfer de vértices.

Establecer este miembro equivale a establecer el veintisiete bit del miembro Value de 32 bits (0x02000000).

Overlay

Valor UINT que especifica si el recurso es una superposición.

Establecer este miembro equivale a establecer el veintisiete bit del miembro Value de 32 bits (0x04000000).

MatchGdiPrimary

Valor UINT que especifica si el recurso es una superficie principal que coincide con todas las propiedades de la superficie principal GDI actual que se creó mediante la estructura D3DKMDT_SHAREDPRIMARYSURFACEDATA . Por ejemplo, es posible cambiar de la superficie principal coincidente a la superficie principal GDI actual y viceversa.

Establecer este miembro equivale a establecer el veintiocho bit del miembro Value de 32 bits (0x08000000).

InterlacedRefresh

Valor UINT que especifica si el recurso es una superficie principal que está pensada para usarse en un modo de visualización entrelazado.

Establecer este miembro equivale a establecer el veintinueve bit del miembro Value de 32 bits (0x10000000).

TextApi

Valor UINT que especifica si el recurso se puede usar para el filtrado de texturas o como origen de flujo de entrada. Si las texturas se crean con el conjunto de marcas de campo de bits TextApi , no se pueden usar para el filtrado de texturas. Si los búferes de vértices se crean con la marca de campo de bits TextApi establecida, no se pueden usar como orígenes de flujo de entrada. La marca de campo de bits TextApi debe especificarse para los búferes de vértices y las superficies de origen que se usan en llamadas a la función ComposeRects .

Establecer este miembro equivale a establecer el bit de 32 bits del miembro Value de 32 bits (0x20000000).

RestrictedContent

Compatible con Windows 7 y versiones posteriores.

Valor UINT que especifica si el recurso contiene contenido protegido. En la mayoría de las situaciones, una aplicación ha habilitado explícitamente la protección de contenido antes de que la aplicación cree un recurso restringido. Sin embargo, la aplicación no tiene que habilitar explícitamente la protección de contenido si crea una cadena de intercambio de modo exclusivo de pantalla completa restringida.

Establecer este miembro equivale a establecer el treinta y primer bit del miembro Value de 32 bits (0x40000000).

RestrictSharedAccess

Compatible con Windows 7 y versiones posteriores.

Valor UINT que especifica si el tiempo de ejecución solo permite el acceso de procesos específicos al recurso compartido.

Establecer este miembro equivale a establecer el bit treinta y segundo del miembro Value de 32 bits (0x80000000).

Value

Valor de 32 bits que identifica el tipo de recurso que se va a crear.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Encabezado d3dukmdt.h (incluya D3dumddi.h, D3dkmddi.h)

Consulte también

CreateResource

D3DDDIARG_CREATERESOURCE