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:
|
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:
|
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:
|
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