Skip to main content
리소스와 (선택적으로 보호된 세션용) 암시적 힙을 모두 만들며, 힙은 전체 리소스를 담을 수 있을 만큼 크고 리소스는 힙에 매핑됩니다. 코드 예제는 ID3D12Device::CreateCommittedResource도 참조하세요.

구문

매개 변수

pHeapProperties [in]
형식: const D3D12_HEAP_PROPERTIES *
리소스 힙에 대한 속성을 제공하는 D3D12_HEAP_PROPERTIES 구조체에 대한 포인터입니다. HeapFlags [in]
형식: D3D12_HEAP_FLAGS
D3D12_HEAP_FLAGS 열거형 상수의 비트 OR 조합으로 표현되는 힙 옵션입니다. pDesc [in]
형식: const D3D12_RESOURCE_DESC *
리소스를 설명하는 D3D12_RESOURCE_DESC 구조체에 대한 포인터입니다. InitialResourceState [in]
형식: D3D12_RESOURCE_STATES
D3D12_RESOURCE_STATES 열거형 상수의 비트 OR 조합으로 표현되는 리소스의 초기 상태입니다. D3D12_HEAP_TYPE_UPLOAD 힙과 함께 리소스를 만들 때는 InitialResourceStateD3D12_RESOURCE_STATE_GENERIC_READ로 설정해야 합니다. D3D12_HEAP_TYPE_READBACK 힙과 함께 리소스를 만들 때는 InitialResourceStateD3D12_RESOURCE_STATE_COPY_DEST로 설정해야 합니다. pOptimizedClearValue [in, optional]
형식: const D3D12_CLEAR_VALUE *
지우기 색상의 기본값을 설명하는 D3D12_CLEAR_VALUE 구조체를 지정합니다. pOptimizedClearValue는 지우기 작업이 가장 최적화되는 값을 지정합니다. 생성된 리소스가 D3D12_RESOURCE_FLAG_ALLOW_RENDER_TARGET 또는 D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL 플래그가 있는 텍스처인 경우, 지우기 작업이 가장 자주 호출될 값을 선택해야 합니다. 다른 값으로 지우기 작업을 호출할 수 있지만, 이러한 작업은 리소스 생성에 전달된 값과 일치하는 경우만큼 효율적이지 않습니다. D3D12_RESOURCE_DIMENSION_BUFFER를 사용하는 경우 pOptimizedClearValuenullptr로 설정해야 합니다. pProtectedSession [in, optional]
형식: ID3D12ProtectedResourceSession *
콘텐츠 보호를 위한 세션을 나타내는 객체에 대한 선택적 포인터입니다. 제공된 경우 이 세션은 리소스를 보호해야 함을 나타냅니다. ID3D12Device4::CreateProtectedResourceSession을 호출하여 ID3D12ProtectedResourceSession을 얻을 수 있습니다. riidResource [in]
형식: const IID &
ppvResource에서 반환할 리소스 인터페이스의 전역 고유 식별자(GUID)에 대한 참조입니다. riidResource는 가장 일반적으로 ID3D12ResourceGUID이지만, 모든 인터페이스의 GUID일 수 있습니다. 리소스 객체가 이 GUID에 대한 인터페이스를 지원하지 않으면 생성이 E_NOINTERFACE로 실패합니다. ppvResource [out, optional]
형식: void **
생성된 리소스 객체에 대한 요청된 인터페이스 포인터를 받는 메모리 블록에 대한 선택적 포인터입니다. ppvResource는 기능 테스트를 활성화하려면 nullptr일 수 있습니다. ppvResourcenullptr인 경우 객체가 생성되지 않으며, pDesc가 유효하면 S_FALSE가 반환됩니다.

반환 값

형식: HRESULT 함수가 성공하면 S_OK를 반환합니다. 그렇지 않으면 HRESULT 오류 코드를 반환합니다. 다른 가능한 반환 값은 Direct3D 12 반환 코드를 참조하세요.

설명

이 메서드는 리소스와 힙을 모두 만들며, 힙은 전체 리소스를 담을 수 있을 만큼 크고 리소스는 힙에 매핑됩니다. 생성된 힙은 애플리케이션에서 힙 객체를 가져올 수 없기 때문에 암시적 힙이라고 합니다. 리소스에 대한 마지막 참조를 해제하기 전에 애플리케이션은 GPU가 이 리소스를 더 이상 읽거나 쓰지 않도록 해야 합니다. 메서드가 애플리케이션에 제어를 반환하기 전에 암시적 힙은 GPU 액세스를 위해 상주 상태가 됩니다. 상주도 참조하세요. 리소스 GPU VA 매핑은 변경할 수 없습니다. ID3D12CommandQueue::UpdateTileMappings볼륨 타일 리소스를 참조하세요. 이 메서드는 여러 스레드에서 동시에 호출할 수 있습니다.

요구 사항

헤더: d3d12_xs.h
라이브러리: d3d12_xs.lib
지원 플랫폼: XBOX Series 콘솔

함께 보기

마지막 수정일 2026년 8월 24일