다음을 통해 공유


ID3D11DeviceContext::D ispatch 메서드(d3d11.h)

스레드 그룹에서 명령 목록을 실행합니다.

구문

void Dispatch(
  [in] UINT ThreadGroupCountX,
  [in] UINT ThreadGroupCountY,
  [in] UINT ThreadGroupCountZ
);

매개 변수

[in] ThreadGroupCountX

형식: UINT

x 방향으로 디스패치된 그룹 수입니다. ThreadGroupCountX 는 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION(65535)보다 작거나 같아야 합니다.

[in] ThreadGroupCountY

형식: UINT

y 방향으로 디스패치된 그룹 수입니다. ThreadGroupCountY 는 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION(65535)보다 작거나 같아야 합니다.

[in] ThreadGroupCountZ

형식: UINT

z 방향으로 디스패치된 그룹 수입니다. ThreadGroupCountZ 는 D3D11_CS_DISPATCH_MAX_THREAD_GROUPS_PER_DIMENSION(65535)보다 작거나 같아야 합니다. 기능 수준 10에서 ThreadGroupCountZ 의 값은 1이어야 합니다.

반환 값

없음

설명

Dispatch 메서드를 호출하여 컴퓨팅 셰이더에서 명령을 실행합니다. 컴퓨팅 셰이더는 스레드 그룹 내에서 여러 스레드에서 병렬로 실행할 수 있습니다. (x,y,z)에서 지정한 3D 벡터를 사용하여 스레드 그룹 내에서 특정 스레드를 인덱싱합니다.

다음 그림에서는 그룹 크기가 (5,5,2)에 의해 지정된 스레드가 50개인 스레드 그룹을 가정합니다. 단일 스레드는 벡터(4,1,1)를 사용하여 스레드가 50개인 스레드 그룹에서 식별됩니다.

스레드 그룹 50개 내의 단일 스레드 그림

다음 그림에서는 ID3D11DeviceContext::D ispatch에 전달된 매개 변수 간의 관계를 보여 줍니다. Dispatch(5,3,2), numthreads 특성에 지정된 값, numthreads(10,8,3) 및 스레드 관련 시스템 값(SV_GroupIndex,SV_DispatchThreadID,SV_GroupThreadID,SV_GroupID)에 대한 컴퓨팅 셰이더에 전달되는 값입니다.

디스패치, 스레드 그룹 및 스레드 간의 관계 그림

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d11.h
라이브러리 D3D11.lib

추가 정보

ID3D11DeviceContext