리소스 제한(Direct3D 11)
이 항목에는 Direct3D 11에서 지원하는 리소스 목록(특히 기능 수준 11 또는 9.x 하드웨어)이 포함되어 있습니다.
기능 수준 11 하드웨어에 대한 리소스 제한
이러한 모든 리소스 제한은 D3d11.h에서 상수로 정의됩니다.
리소스 | 제한 |
---|---|
상수 버퍼의 요소 수 | D3D11_REQ_CONSTANT_BUFFER_ELEMENT_COUNT (4096) |
버퍼의 텍셀 수(구조체 크기와 무관) | D3D11_REQ_BUFFER_RESOURCE_TEXEL_COUNT_2_TO_EXP (2 7) 텍셀 |
Texture1D U 차원 | D3D11_REQ_TEXTURE1D_U_DIMENSION (16384) |
Texture1DArray 차원 | D3D11_REQ_TEXTURE1D_ARRAY_AXIS_DIMENSION(2048 배열 조각) |
Texture2D U/V 차원 | D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION (16384) |
Texture2DArray 차원 | D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION(2048 배열 조각) |
Texture3D U/V/W 차원 | D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (2048) |
TextureCube 차원 | D3D11_REQ_TEXTURECUBE_DIMENSION (16384) |
이전 리소스의 리소스 크기(MB) | min(max(128,0.25f * (전용 VRAM의 양)), 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) |
이방성 필터링 maxanisotropy | D3D11_REQ_MAXANISOTROPY (16) |
하드웨어를 필터링하여 주소 지정 가능한 리소스 차원 | 차원당 D3D11_REQ_FILTERING_HW_ADDRESSABLE_RESOURCE_DIMENSION(16384) |
IA(입력 또는 꼭짓점 데이터) 또는 VS/GS/PS(지점 샘플)로 주소 지정 가능한 리소스 크기(MB) | max(128,0.25f * (전용 VRAM 양)) MB D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM (128) D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_B_TERM(0.25f) |
컨텍스트당 총 리소스 뷰 수(각 배열은 1로 계산됨)(모든 보기 형식에는 공유 제한이 있습니다). | D3D11_REQ_RESOURCE_VIEW_COUNT_PER_DEVICE_2_TO_EXP (2 ) |
버퍼 구조 크기(다중 요소) | D3D11_REQ_MULTI_ELEMENT_STRUCTURE_SIZE_IN_BYTES(2048바이트) |
스트림 출력 크기 | 버퍼의 텍셀 수와 동일합니다(이전 참조). |
그리기 또는 DrawInstanced 꼭짓점 수(인스턴싱 포함) | D3D11_REQ_DRAW_VERTEX_COUNT_2_TO_EXP (2 ) |
DrawIndexed[Instanced]() 꼭짓점 수(인스턴싱 포함) | D3D11_REQ_DRAWINDEXED_INDEX_COUNT_2_TO_EXP (2 ) |
GS 호출 출력 데이터(구성 요소 * 꼭짓점) | D3D11_GS_MAX_OUTPUT_VERTEX_COUNT_ACROSS_INSTANCES (1024) |
컨텍스트당 샘플러 개체의 총 수 | D3D11_REQ_SAMPLER_OBJECT_COUNT_PER_DEVICE (4096) |
파이프라인당 총 뷰포트/가위 개체 수 | D3D11_VIEWPORT_AND_SCISSORRECT_OBJECT_COUNT_PER_PIPELINE (16) |
꼭짓점당 총 클립/컬 거리 수 | D3D11_CLIP_OR_CULL_DISTANCE_COUNT (8) |
컨텍스트당 혼합 개체의 총 수 | D3D11_REQ_BLEND_OBJECT_COUNT_PER_DEVICE (4096) |
컨텍스트당 총 깊이/스텐실 개체 수 | D3D11_REQ_DEPTH_STENCIL_OBJECT_COUNT_PER_DEVICE (4096) |
컨텍스트당 총 래스터라이저 상태 개체 수 | D3D11_REQ_RASTERIZER_OBJECT_COUNT_PER_DEVICE (4096) |
다중 샘플링 중 픽셀당 최대 샘플 수 | D3D11_MAX_MULTISAMPLE_SAMPLE_COUNT (32) |
셰이더 리소스 꼭짓점 요소 수(4개의 32비트 구성 요소) | D3D11_STANDARD_VERTEX_ELEMENT_COUNT (32) |
공통 셰이더 코어(4개의 32비트 구성 요소) 임시 레지스터 수(r# + 인덱싱 가능한 x#[n]) | D3D11_COMMONSHADER_TEMP_REGISTER_COUNT (4096) |
공통 셰이더 코어 상수 버퍼 슬롯 | D3D11_COMMONSHADER_CONSTANT_BUFFER_HW_SLOT_COUNT (15) (+1 셰이더의 즉각적인 상수 버퍼에 대해 따로 설정) |
공통 셰이더 코어 입력 리소스 슬롯 | D3D11_COMMONSHADER_INPUT_RESOURCE_REGISTER_COUNT (128) |
공통 셰이더 코어 샘플러 슬롯 | D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT (16) |
공통 셰이더 코어 서브루틴 중첩 제한 | D3D11_COMMONSHADER_SUBROUTINE_NESTING_LIMIT (32) |
공통 셰이더 코어 흐름 제어 중첩 제한 | D3D11_COMMONSHADER_FLOWCONTROL_NESTING_LIMIT (64) |
꼭짓점 셰이더 입력 레지스터 수(4개의 32비트 구성 요소) | D3D11_VS_INPUT_REGISTER_COUNT (32) |
꼭짓점 셰이더 출력 레지스터 수(4개의 32비트 구성 요소) | D3D11_VS_OUTPUT_REGISTER_COUNT (32) |
기하 도형 셰이더 입력 레지스터 수(4개의 32비트 구성 요소) | D3D11_GS_INPUT_REGISTER_COUNT (32) |
기하 도형 셰이더 출력 레지스터 수(4개의 32비트 구성 요소) | D3D11_GS_OUTPUT_REGISTER_COUNT (32) |
픽셀 셰이더 입력 레지스터 수(4개의 32비트 구성 요소) | D3D11_PS_INPUT_REGISTER_COUNT (32) |
픽셀 셰이더 출력 슬롯 | 8 |
픽셀 셰이더 출력 깊이 레지스터 수(32비트 구성 요소 1개) | D3D11_PS_OUTPUT_DEPTH_REGISTER_COUNT (1) |
입력 어셈블러 인덱스 입력 리소스 슬롯 | D3D11_IA_INDEX_INPUT_RESOURCE_SLOT_COUNT (1) |
입력 어셈블러 꼭짓점 입력 리소스 슬롯 | D3D11_IA_VERTEX_INPUT_RESOURCE_SLOT_COUNT (32) |
헐 셰이더 제어점 입력 레지스터 수(4개의 32비트 구성 요소) | D3D11_HS_CONTROL_POINT_PHASE_INPUT_REGISTER_COUNT (32) |
입력 제어점의 헐 셰이더 수 | D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
헐 셰이더 제어점 출력 레지스터 수(32비트 구성 요소 4개) | D3D11_HS_CONTROL_POINT_PHASE_OUTPUT_REGISTER_COUNT (32) |
출력 제어점의 헐 셰이더 수 | D3D11_HS_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
헐 셰이더 패치 상수 출력 레지스터 수(4개의 32비트 구성 요소) | D3D11_HS_OUTPUT_PATCH_CONSTANT_REGISTER_COUNT (32) |
도메인 셰이더 제어점 입력 레지스터 수(32비트 구성 요소 4개) | D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COUNT (32) |
입력 제어점의 도메인 셰이더 수 | D3D11_DS_INPUT_CONTROL_POINT_REGISTER_COMPONENT_BIT_COUNT (32) |
도메인 셰이더 패치 상수 입력 레지스터 수(32비트 구성 요소 4개) | D3D11_DS_INPUT_PATCH_CONSTANT_REGISTER_COUNT (32) |
도메인 셰이더 테셀레이션된 꼭짓점 출력 레지스터 수(32비트 구성 요소 4개) | D3D11_DS_OUTPUT_REGISTER_COUNT(32) |
컴퓨팅 셰이더 UAV(순서가 지정되지 않은 액세스 뷰) 슬롯 | D3D11_PS_CS_UAV_REGISTER_COUNT (8)4 |
리소스 타일 크기(바이트) | D3D11_2_TILED_RESOURCE_TILE_SIZE_IN_BYTES ( 65536 ) |
앱은 최대 리소스 크기가 지정하는 것보다 리소스에 더 많은 메모리를 할당하려고 시도할 수 있습니다. 즉, Direct3D 11 런타임은 하드웨어에서 지원할 수 있는 경우 이러한 메모리 할당 시도를 허용합니다. 그러나 Direct3D 11 런타임은 최대 리소스 크기 내의 할당이 모든 기능 수준 11 하드웨어에서 지원되도록 보장합니다. 앱이 최대 리소스 크기 내에서 리소스에 대한 메모리를 할당하려고 하면 운영 체제에 리소스가 부족한 경우에만 런타임이 시도에 실패합니다. 앱이 최대 리소스 크기를 초과하는 리소스에 대한 메모리를 할당하려고 하면 운영 체제가 과도하게 확장되거나 하드웨어가 최대 리소스 크기를 초과하는 할당을 지원하지 않으므로 런타임이 시도에 실패할 수 있습니다. 디버그 계층은 D3D11_REQ_RESOURCE_SIZE_IN_MEGABYTES_EXPRESSION_A_TERM(128) MB만 확인합니다.
픽셀 셰이더 출력 슬롯은 픽셀 출력 레지스터(4개의 32비트 구성 요소)와 UAV 간에 공유됩니다.
모든 헐 셰이더에서 도메인 셰이더 제어 지점에 대한 구성 요소의 총 수는 3968개로 제한되며, 이는 최대 제어점이 4개의 구성 요소를 등록하는 최대 제어점 시간보다 128배 적습니다.
4 컴퓨팅 셰이더 프로필 CS_4_0 및 CS_4_1 사용할 수 있는 UAV는 1개뿐입니다. 셰이더 프로필에 대한 자세한 내용은 셰이더 모델 5를 참조하세요.
기능 수준 9.x 하드웨어에 대한 리소스 제한
이러한 모든 9.x 기능 수준 리소스 제한은 D3dcommon.h에서 상수로 정의됩니다.
리소스 | 제한 |
---|---|
기능 수준 9_1 텍스처1D U 차원 | D3D_FL9_1_REQ_TEXTURE1D_U_DIMENSION(2048) |
기능 수준 9_3 텍스처1D U 차원 | D3D_FL9_3_REQ_TEXTURE1D_U_DIMENSION (4096) |
기능 수준 9_1 텍스처2D U/V 차원 | D3D_FL9_1_REQ_TEXTURE2D_U_OR_V_DIMENSION(2048) |
기능 수준 9_3 텍스처2D U/V 차원 | D3D_FL9_3_REQ_TEXTURE2D_U_OR_V_DIMENSION (4096) |
기능 수준 9_1 텍스처3D U/V/W 차원 | D3D_FL9_1_REQ_TEXTURE3D_U_V_OR_W_DIMENSION (256) |
기능 수준 9_1 텍스처Cube 차원 | D3D_FL9_1_REQ_TEXTURECUBE_DIMENSION (512) |
기능 수준 9_3 텍스처Cube 차원 | D3D_FL9_3_REQ_TEXTURECUBE_DIMENSION (4096) |
기능 수준 9_1 이방성 필터링 maxanisotropy 기본값 | D3D_FL9_1_DEFAULT_MAX_ANISOTROPY (2) |
기능 수준 9_1 최대 입력 어셈블러 기본 형식 | D3D_FL9_1_IA_PRIMITIVE_MAX_COUNT(65535) |
기능 수준 9_2 최대 입력 어셈블러 기본 형식 | D3D_FL9_2_IA_PRIMITIVE_MAX_COUNT(1048575) |
기능 수준 9_1 동시 렌더링 대상 | D3D_FL9_1_SIMULTANEOUS_RENDER_TARGET_COUNT(1) |
기능 수준 9_3 동시 렌더링 대상 | D3D_FL9_3_SIMULTANEOUS_RENDER_TARGET_COUNT (4) |
기능 수준 9_1 최대 텍스처 반복 | D3D_FL9_1_MAX_TEXTURE_REPEAT (128) |
기능 수준 9_2 최대 텍스처 반복 | D3D_FL9_2_MAX_TEXTURE_REPEAT(2048) |
기능 수준 9_3 최대 텍스처 반복 | D3D_FL9_3_MAX_TEXTURE_REPEAT (8192) |