2017-03-29 15 views
1

D3D12_HEAP_TYPE_DEFAULT 버퍼에 내 D3D12_HEAP_TYPE_UPLOAD 버퍼에서 D3D12_COMMAND_LIST_TYPE_COPY 큐를 사용하여 버퍼를 복사합니다. 복사가 완료되면 리소스를 D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER으로 다시 전환해야합니다. 그러나 사본 대기열은이 상태로의 변환을 지원하지 않습니다. 어떻게 제대로 할 수 있습니까?리소스를 전송 큐에 복사하는 방법은 복사 큐에서 지원하지 않는 상태로 전환됩니까?

복사 직후 펜스를 삽입하고 그래픽 대기열에있는 펜스를 기다렸다가 거기에서 전환을 수행하면 정말 안락한 옵션입니다. 다른 가능성?

답변

0

복사 대기열에서 복사 명령 목록을 사용하면 리소스가 견적에 설명 된대로 다시 일반 정보로 되돌려집니다. 그런 다음 공통 사이트에서 버텍스로 전환하거나 사용 사이트에서 상수 버퍼를 명시 적으로 전환하거나 공통 사이트가 자체를 홍보하기 때문에 아무 것도하지 않을 수 있습니다. 자료는 복사 큐에 액세스하고, 또는 에있는 모든 대기열 유형을 모든 대기열 유형에 자원, 또는 질감 자원 버퍼 :

다음 리소스 작업이 GPU에 완료되는 ExecuteCommandLists 때 붕괴됩니다 D3D12_RESOURCE_FLAG_ALLOW_SIMULTANEOUS_ACCESS 플래그가 설정되었습니다.