D3D12_TILED_RESOURCES_TIER 枚举 (d3d12.h)

标识支持平铺资源的层级别。

语法

typedef enum D3D12_TILED_RESOURCES_TIER {
  D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED = 0,
  D3D12_TILED_RESOURCES_TIER_1 = 1,
  D3D12_TILED_RESOURCES_TIER_2 = 2,
  D3D12_TILED_RESOURCES_TIER_3 = 3,
  D3D12_TILED_RESOURCES_TIER_4 = 4
} ;

常量

 
D3D12_TILED_RESOURCES_TIER_NOT_SUPPORTED
值: 0
指示无法使用 D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE 布局创建纹理。



ID3D12Device::CreateReservedResource 不能使用,甚至不能用于缓冲区。
D3D12_TILED_RESOURCES_TIER_1
值:1
指示可以使用D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE布局创建 2D 纹理。
某些资源格式和属性存在限制。
有关详细信息,请参阅 D3D12_TEXTURE_LAYOUT_64KB_UNDEFINED_SWIZZLE



可以使用 ID3D12Device::CreateReservedResource


未定义 GPU 读取或写入 NULL 映射。
建议应用程序通过重复将同一页映射到将使用 NULL 映射的任意位置来解决此限制。


如果纹理 mipmap 级别的大小是其格式的标准磁贴形状的整数倍,则保证为非打包。
D3D12_TILED_RESOURCES_TIER_2
值: 2
指示支持Tier_1功能的超集,包括以下附加支持:



  • 如果纹理 mipmap 级别的大小至少为一个标准图块形状的格式,则 mipmap 级别保证为非打包。
    有关详细信息,请参阅 D3D12_PACKED_MIP_INFO

  • 着色器指令可用于固定详细级别 (LOD) 以及获取有关着色器操作的状态。
    有关这些着色器说明之一的信息,请参阅示例 (S,float,int,float,uint) 。
    示例 (S,float,int,float,uint)

  • NULL 映射的磁贴读取会将采样值视为零。
    放弃对 NULL 映射磁贴的写入。


支持功能级别 12_0 的适配器都支持TIER_2或更高版本。
D3D12_TILED_RESOURCES_TIER_3
值: 3
指示支持第 2 层的超集,此外还支持 3D 纹理 (卷平铺资源) 。
D3D12_TILED_RESOURCES_TIER_4
值: 4

备注

此枚举由 D3D12_FEATURE_DATA_D3D12_OPTIONS 结构使用。

有三个离散功能组合在一起,用于平铺资源功能:

D3D11 的三个重大更改是:
  • 磁贴池由堆替换。 堆提供的功能比 D3D11 磁贴池更集。
  • 保留的资源可以同时映射到多个堆中的页面。 不存在所有非 NULL 映射页必须来自同一堆的 D3D11 限制。
  • 应用程序应了解 GPU 虚拟地址功能,这些功能可针对特定使用方案启用 litmus 测试。 请参阅 D3D12_FEATURE_GPU_VIRTUAL_ADDRESS_SUPPORT

要求

   
标头 d3d12.h

另请参阅

核心枚举