다음을 통해 공유


ID3D11DeviceContext1::UpdateSubresource1 메서드(d3d11_1.h)

CPU는 메모리의 데이터를 매핑할 수 없는 메모리에서 만든 하위 리소스로 복사합니다.

구문

void UpdateSubresource1(
  [in]           ID3D11Resource  *pDstResource,
  [in]           UINT            DstSubresource,
  [in, optional] const D3D11_BOX *pDstBox,
  [in]           const void      *pSrcData,
  [in]           UINT            SrcRowPitch,
  [in]           UINT            SrcDepthPitch,
  [in]           UINT            CopyFlags
);

매개 변수

[in] pDstResource

형식: ID3D11Resource*

대상 리소스에 대한 포인터입니다.

[in] DstSubresource

형식: UINT

대상 하위 리소스를 식별하는 인덱스(0부터 시작)입니다. 자세한 내용은 D3D11CalcSubresource 를 참조하세요.

[in, optional] pDstBox

형식: const D3D11_BOX*

리소스 데이터를 복사할 대상 하위 리소스의 부분을 정의하는 상자에 대한 포인터입니다. 좌표는 버퍼의 경우 바이트 단위이고 텍스처의 경우 텍셀 단위입니다. NULL인 경우 UpdateSubresource1은 오프셋 없이 대상 하위 리소스에 데이터를 씁니다. 원본의 차원이 대상에 맞아야 합니다.

빈 상자는 no-op을 생성합니다. 위쪽 값이 아래쪽 값보다 크거나 같거나 왼쪽 값이 오른쪽 값보다 크거나 같거나 앞 값이 뒤 값보다 크거나 같으면 상자가 비어 있습니다. 상자가 비어 있으면 UpdateSubresource1 에서 업데이트 작업을 수행하지 않습니다.

[in] pSrcData

형식: const void*

메모리의 원본 데이터에 대한 포인터입니다.

[in] SrcRowPitch

형식: UINT

원본 데이터의 한 행 크기입니다.

[in] SrcDepthPitch

형식: UINT

원본 데이터의 깊이 조각 1개 크기입니다.

[in] CopyFlags

형식: UINT

업데이트 작업을 수행하는 방법을 지정하는 D3D11_COPY_FLAGS 형식의 값입니다. 업데이트 없음 옵션에 대해 0을 지정하면 UpdateSubresource1ID3D11DeviceContext::UpdateSubresource와 같이 작동합니다. 이러한 플래그를 처리할 수 없는 기존 디스플레이 드라이버의 경우 런타임에서 해당 플래그를 사용하지 않습니다.

반환 값

없음

설명

UpdateSubresource1을 호출하여 상수 버퍼를 업데이트하고 모든 지역을 전달하며 드라이버가 Windows 8 구현되지 않은 경우 런타임은 호출을 삭제합니다(런타임이 지원을 에뮬레이트하는 기능 수준 9.1, 9.2 및 9.3 제외). 또한 범위가 16바이트 세분성(전체 상수인 16바이트)에 정렬되지 않은 부분 영역으로 상수 버퍼를 업데이트하는 경우에도 런타임이 호출을 삭제합니다. 런타임이 호출을 삭제하면 런타임은 해당 DDI(디바이스 드라이버 인터페이스)를 호출하지 않습니다.

소프트웨어 명령 목록에서 오프셋 pDstBox를 사용하여 UpdateSubresource에 대한 호출을 기록하면 명령 목록을 재생할 때 pDstBox의 오프셋이 pSrcData에 잘못 적용됩니다. new-for-Windows 8 UpdateSubresource1은 이 문제를 해결합니다. UpdateSubresource1에 대한 호출에서 pDstBoxpSrcData에 영향을 주지 않습니다.

다양한 리소스 종류 및 UpdateSubresource1 이 각 리소스 종류에서 작동하는 방법에 대한 자세한 내용은 Direct3D 11의 리소스 소개를 참조하세요.

참고기능 수준 9_x 하드웨어에만 적용UpdateSubresource1 또는 ID3D11DeviceContext1::CopySubresourceRegion1 을 사용하여 준비 리소스에서 기본 리소스로 복사하는 경우 대상 콘텐츠를 손상시킬 수 있습니다. NULL 원본 상자를 전달하고 원본 리소스의 차원이 대상 리소스와 다른 경우 또는 대상 오프셋(x, y 및 z)을 사용하는 경우에 발생합니다. 이 경우 항상 원본 리소스의 전체 크기인 원본 상자를 전달합니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7용 Windows 8 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2용 Windows Server 2012 및 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 d3d11_1.h
라이브러리 D3D11.lib

추가 정보

ID3D11DeviceContext1