Compartir a través de


enumeración D3D12_RESOURCE_FLAGS (d3d12.h)

Define constantes que especifican opciones para trabajar con recursos.

Sintaxis

typedef enum D3D12_RESOURCE_FLAGS {
  D3D12_RESOURCE_FLAG_NONE = 0,
  D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET = 0x1,
  D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL = 0x2,
  D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS = 0x4,
  D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE = 0x8,
  D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER = 0x10,
  D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS = 0x20,
  D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY = 0x40,
  D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY = 0x80,
  D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE = 0x100
} ;

Constantes

 
D3D12_RESOURCE_FLAG_NONE
Valor: 0
No se especifican opciones.
D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET
Valor: 0x1
Permite crear una vista de destino de representación para el recurso; y también permite que el recurso pase al estado de D3D12_RESOURCE_STATE_RENDER_TARGET. Algunas arquitecturas de adaptador asignan memoria adicional para texturas con esta marca para reducir el ancho de banda efectivo durante la representación común. Esta característica puede no ser beneficiosa para las texturas que nunca se representan, ni está disponible para texturas comprimidas con formatos BC. La aplicación debe evitar establecer esta marca cuando nunca se produzca la representación.

Se aplican las restricciones e interacciones siguientes:
D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL
Valor: 0x2
Permite crear una vista de galería de símbolos de profundidad para el recurso, así como permite que el recurso pase al estado de D3D12_RESOURCE_STATE_DEPTH_WRITE o D3D12_RESOURCE_STATE_DEPTH_READ. La mayoría de las arquitecturas de adaptador asignan memoria adicional para texturas con esta marca para reducir el ancho de banda efectivo y maximizar las optimizaciones para la prueba de profundidad temprana. La aplicación debe evitar establecer esta marca cuando nunca se produzcan operaciones de profundidad.

Se aplican las restricciones e interacciones siguientes:

  • El formato de textura debe admitir funcionalidades de galería de símbolos de profundidad en el nivel de característica actual. O bien, cuando el formato es un formato sin tipo, un formato dentro del mismo grupo sin tipo debe admitir funcionalidades de galería de símbolos de profundidad en el nivel de característica actual.

  • No se puede usar con D3D12_RESOURCE_DIMENSION_BUFFER, alineación de 4 KB, D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET, D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS, D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS, D3D12_TEXTURE_LAYOUT_64KB_STANDARD_SWIZZLE, D3D12_TEXTURE_LAYOUT_ROW_MAJOR, , ni se usa con montones que tienen D3D12_HEAP_FLAG_DENY_RT_DS_TEXTURES o D3D12_HEAP_FLAG_ALLOW_DISPLAY.

  • Impide el uso de WriteToSubresource y readFromSubresource.

  • Impide la copia de GPU de una descriptoría. copyTextureRegion debe copiar un subrecurso completo hacia o desde recursos con esta marca.

D3D12_RESOURCE_FLAG_ALLOW_UNORDERED_ACCESS
Valor: 0x4
Permite crear una vista de acceso desordenada para el recurso, así como permite que el recurso pase al estado de D3D12_RESOURCE_STATE_UNORDERED_ACCESS. Algunas arquitecturas de adaptador deben recurrir a diseños de textura menos eficaces para proporcionar esta funcionalidad. Si una textura rara vez se usa para el acceso desordenado, puede que valga la pena tener dos texturas alrededor y copiar entre ellas. Una textura tendría esta marca, mientras que la otra no. La aplicación debe evitar establecer esta marca cuando nunca se produzcan operaciones de acceso desordenadas.

Se aplican las restricciones e interacciones siguientes:
D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE
Valor: 0x8
No permite crear una vista de recursos de sombreador para el recurso, así como deshabilitar la transición del recurso al estado de D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE o D3D12_RESOURCE_STATE_PIXEL_SHADER_RESOURCE. Algunas arquitecturas del adaptador obtienen capacidad de ancho de banda para texturas de galería de símbolos de profundidad cuando se excluyen las vistas de recursos del sombreador. Si rara vez se usa una textura para los recursos del sombreador, puede que valga la pena tener dos texturas alrededor y copiar entre ellos. Una textura tendría esta marca, mientras que la otra no. La aplicación debe establecer esta marca cuando las texturas de galería de símbolos de profundidad nunca se usarán desde las vistas de recursos del sombreador.

Se aplican las restricciones e interacciones siguientes:

  • Debe usarse con D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL.

D3D12_RESOURCE_FLAG_ALLOW_CROSS_ADAPTER
Valor: 0x10
Permite usar el recurso para los datos entre adaptadores, así como para esas características habilitadas por D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS. Normalmente, los recursos entre adaptadores impiden técnicas que reducen el ancho de banda de textura eficaz durante el uso y algunas arquitecturas de adaptadores pueden requerir un comportamiento de almacenamiento en caché diferente. La aplicación debe evitar establecer esta marca cuando los datos del recurso nunca se usarán con otro adaptador.

Se aplican las restricciones e interacciones siguientes:
D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS
Valor: 0x20
Permite que varios procesos, dispositivos o colas diferentes accedan simultáneamente a un recurso (por ejemplo, permite usar un recurso con ResourceBarrier transiciones realizadas en más de una lista de comandos que se ejecuta al mismo tiempo).

El acceso simultáneo permite varios lectores y un escritor, siempre y cuando el escritor no modifique simultáneamente los elementos de textura a los que acceden otros lectores. Algunas arquitecturas de adaptadores no pueden aprovechar técnicas para reducir el ancho de banda de textura eficaz durante el uso.

Sin embargo, la aplicación debe evitar establecer esta marca cuando no se requieren varios lectores durante escrituras frecuentes y no superpuestas en texturas. El uso de esta marca puede poner en peligro las barreras de recursos para realizar esperas y evitar que se use cualquier compresión con un recurso.

Se aplican las restricciones e interacciones siguientes:

  • No se puede usar con D3D12_RESOURCE_DIMENSION_BUFFER; pero los búferes siempre tienen las propiedades representadas por esta marca.

  • No se puede usar con texturas MSAA.

  • No se puede usar con D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL.

D3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ONLY
Valor: 0x40
Especifica que este recurso solo se puede usar como marco de referencia de descodificación. La operación de descodificación de vídeo puede escribirla o leerla únicamente.

D3D12_VIDEO_DECODE_TIER_1 y D3D12_VIDEO_DECODE_TIER_2 pueden notificar D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED en la marca de configuración de estructura D3D12_FEATURE_DATA_VIDEO_DECODE_SUPPORT. Si esto sucede, la aplicación debe asignar fotogramas de referencia con la marca de recursos D3D12_RESOURCE_FLAGS::D 3D12_RESOURCE_FLAG_VIDEO_DECODE_REFERENCE_ ONLY.

D3D12_VIDEO_DECODE_TIER_3 no debe establecer [D3D12_VIDEO_DECODE_CONFIGURATION_FLAG_REFERENCE_ONLY_ALLOCATIONS_REQUIRED]
(.. Marca de configuración /d3d12video/ne-d3d12video-d3d12_video_decode_configuration_flags) y no debe requerir el uso de esta marca de recurso.
D3D12_RESOURCE_FLAG_VIDEO_ENCODE_REFERENCE_ONLY
Valor: 0x80
Especifica que este recurso solo se puede usar como marco de referencia de codificación. La operación de codificación de vídeo puede escribirla o leerla únicamente.
D3D12_RESOURCE_FLAG_RAYTRACING_ACCELERATION_STRUCTURE
Valor: 0x100
Requiere el SDK de agilidad de DirectX 12 1.608.0 o posterior. Indica que se va a usar un búfer como una estructura de aceleración raytracing. Al usar barreras mejoradas D3D12, esta marca sirve como reemplazo de D3D12_RESOURCE_STATE_RAYTRACING_ACCELERATION_STRUCTURE, ya que los búferes ya no tienen diseños o estados.

Observaciones

Esta enumeración se usa en el miembro Flags del D3D12_RESOURCE_DESC.

Requisitos

Requisito Valor
encabezado de d3d12.h

Consulte también

  • enumeraciones de Core