Batas Sumber Daya (Direct3D 11)

Topik ini berisi daftar sumber daya yang didukung Direct3D 11 (khususnya perangkat keras tingkat fitur 11 atau 9.x).

Batas sumber daya untuk perangkat keras tingkat fitur 11

Semua batas sumber daya ini didefinisikan sebagai konstanta di D3d11.h.

Sumber daya Batas
Jumlah elemen dalam buffer konstanta D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096)
Jumlah texel (terlepas dari ukuran struct) dalam buffer D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) texel
Dimensi U Texture1D D3D11_REQ_TEXTURE1D_U_DIMENSION (16384)
Dimensi Texture1DArray D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION (irisan array 2048)
Dimensi U/V Texture2D D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384)
Dimensi Texture2DArray D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION (irisan array 2048)
Dimensi Texture3D U/V/W D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048)
Dimensi TextureCube D3D11_REQ_TEXTURECUBE_DIMENSION (16384)
Ukuran sumber daya (dalam MB) untuk salah satu sumber daya sebelumnya min(max(128,0,25f * (jumlah VRAM khusus)), 2048) MB
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0,25f)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_C_TERM (2048)
Pemfilteran anisotropic maxanisotropy D3D11_REQ_MAXANISOTROPY (16)
Dimensi sumber daya dapat diatasi dengan memfilter perangkat keras D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION (16384) per dimensi
Ukuran sumber daya (dalam MB) dapat diatasi oleh IA (data input atau vertex) atau VS/GS/PS (sampel titik) max(128,0,25f * (jumlah VRAM khusus)) MB
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128)
D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM (0,25f)
Jumlah total tampilan sumber daya per konteks (Setiap array dihitung sebagai 1) (semua jenis tampilan memiliki batas bersama) D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2 )
Ukuran struktur buffer (multi-elemen) D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES (2048 byte)
Ukuran output aliran Sama seperti jumlah texel dalam buffer (lihat sebelumnya)
Gambar atau jumlah vertex DrawInstanced (termasuk instancing) D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2 )
Jumlah vertex DrawIndexed[Instanced]() (termasuk instancing) D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2 )
Data output pemanggilan GS (komponen * simpul) D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024)
Jumlah total objek sampler per konteks D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096)
Jumlah total objek viewport/scissor per alur D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16)
Jumlah total jarak klip/cull per puncak D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8)
Jumlah total objek campuran per konteks D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096)
Jumlah total objek kedalaman/stensil per konteks D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096)
Jumlah total objek status rasterizer per konteks D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096)
Jumlah sampel per piksel maksimum selama multisampling D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32)
Jumlah elemen vertex sumber daya shader (empat komponen 32-bit) D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32)
Common-shader core (empat komponen 32-bit) jumlah temp-register (r# + indexable x#[n]) D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096)
Slot buffer konstanta inti shader umum D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (+1 sisihkan untuk buffer konstanta langsung dalam shader)
Slot sumber daya input inti common-shader D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128)
Slot sampler inti shader umum D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16)
Batas subroutine-nesting inti shader umum D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32)
Batas bersarang kontrol alur inti umum D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64)
Jumlah input-register shader vertex (empat komponen 32-bit) D3D11_VS_INPUT_REGISTER_COUNT (32)
Jumlah output-register shader vertex (empat komponen 32-bit) D3D11_VS_OUTPUT_REGISTER_COUNT (32)
Jumlah input-register shader geometri (empat komponen 32-bit) D3D11_GS_INPUT_REGISTER_COUNT (32)
Jumlah output-register shader geometri (empat komponen 32-bit) D3D11_GS_OUTPUT_REGISTER_COUNT (32)
Jumlah input-register shader pixel (empat komponen 32-bit) D3D11_PS_INPUT_REGISTER_COUNT (32)
Slot output shader piksel 8
Jumlah register kedalaman output shader piksel (satu komponen 32-bit) D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1)
Input slot sumber daya input indeks perakitan D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1)
Input slot sumber daya input vertex perakitan D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32)
Jumlah input-register titik kontrol shall hull (empat komponen 32-bit) D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32)
Jumlah shader hull titik kontrol input D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Jumlah output-register titik kontrol shader hull (empat komponen 32-bit) D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32)
Jumlah shader hull titik kontrol output D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Hull shader patch jumlah output-register konstanta (empat komponen 32-bit) D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
Jumlah input-register titik kontrol shader domain (empat komponen 32-bit) D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32)
Jumlah shader domain titik kontrol input D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32)
Jumlah input-register patch shader domain (empat komponen 32-bit) D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32)
Shader domain tessellated vertex output-register count (empat komponen 32-bit) D3D11_DS_OUTPUT_REGISTER_COUNT (32)
Slot tampilan akses tidak berurut (UAV) shader komputasi D3D11_PS_CS_UAV_REGISTER_COUNT (8)4
Ukuran petak peta sumber daya dalam byte D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 )

Aplikasi dapat mencoba mengalokasikan lebih banyak memori untuk sumber daya daripada ukuran sumber daya maksimum yang ditentukan. Artinya, runtime Direct3D 11 memungkinkan upaya alokasi memori ini jika perangkat keras mungkin mendukungnya. Namun, runtime Direct3D 11 hanya menjamin bahwa alokasi dalam ukuran sumber daya maksimum didukung oleh semua perangkat keras tingkat fitur 11. Jika aplikasi mencoba mengalokasikan memori untuk sumber daya dalam ukuran sumber daya maksimum, runtime gagal hanya jika sistem operasi kehabisan sumber daya. Jika aplikasi mencoba mengalokasikan memori untuk sumber daya di atas ukuran sumber daya maksimum, runtime dapat gagal dalam upaya karena sistem operasi terlalu lama atau perangkat keras tidak mendukung alokasi di atas ukuran sumber daya maksimum. Lapisan debug hanya memeriksa D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) MB.

Slot output shader piksel dibagi antara register output piksel (empat komponen 32-bit) dan UAV.

Jumlah total komponen untuk semua shader lambung ke titik kontrol shader domain dibatasi hingga 3968, yaitu 128 kurang dari titik kontrol maksimum kali titik kontrol maksimum mendaftarkan empat komponen.

4Untuk profil shader komputasi CS_4_0 dan CS_4_1 hanya ada 1 UAV yang tersedia. Untuk informasi selengkapnya tentang profil shader, lihat Model Shader 5.

Batas sumber daya untuk perangkat keras tingkat fitur 9.x

Semua batas sumber daya tingkat fitur 9.x ini didefinisikan sebagai konstanta di D3dcommon.h.

Sumber daya Batas
Dimensi U texture1D tingkat fitur 9_1 D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION (2048)
Dimensi U texture1D tingkat fitur 9_3 D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096)
Dimensi U/V tekstur 9_1 tingkat fitur D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION (2048)
Dimensi U/V tekstur 9_3 tingkat fitur D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096)
Dimensi U/V/W tekstur 9_1 tingkat fitur D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256)
Dimensi textureCube tingkat fitur 9_1 D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512)
Dimensi textureCube tingkat fitur 9_3 D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096)
Tingkat fitur 9_1 anisotropic pemfilteran maxanisotropy default D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2)
Tingkat fitur 9_1 primitif perakitan input maksimum D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT (65535)
Tingkat fitur 9_2 primitif perakitan input maksimum D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT (1048575)
Target render simultan tingkat fitur 9_1 D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT (1)
Target render simultan tingkat fitur 9_3 D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4)
Pengulangan tekstur maksimum tingkat fitur 9_1 D3D_FL9_1_MAX_TEXTURE_REPEAT (128)
Pengulangan tekstur maksimum tingkat fitur 9_2 D3D_FL9_2_MAX_TEXTURE_REPEAT (2048)
Pengulangan tekstur maksimum tingkat fitur 9_3 D3D_FL9_3_MAX_TEXTURE_REPEAT (8192)

Sumber