2012-12-25 5 views
0
확인

, HLSL ID3D11DeviceContext :: UpdateSubresource 오류

그래서 두 상수 버퍼 기대 셰이더가 있지만 (제 2 버퍼)를 I가

ID3D11DeviceContext::UpdateSubresource 

를 사용하여 I 1로 하위 리소스 설정하면 그때 나는 경고를 받았다. (오류 ...) :

D3D11: ERROR: ID3D11DeviceContext::UpdateSubresource: DstSubresource index (1) out of range, must be less than 1. [ RESOURCE_MANIPULATION ERROR #287: UPDATESUBRESOURCE_INVALIDDESTINATIONSUBRESOURCE ] 

나는이 오류를 이해하고 있지만 그것이 나타나는 이유, 즉 왜 그런가?

+0

소스를 표시 할 수 있습니까? – Spook

답변

0

하위 리소스가 TextureArrays/밉맵을 위해 설계되었습니다 감사합니다, 그래서 당신은 예를 들어 읽기/특정 밉 슬라이스를 작성할 수 있습니다. 버퍼의 경우 SubResource는 항상 0입니다 (원시 데이터가 더 많거나 적음).

당신은 here

그래서 당신은 당신의 일정한 버퍼의 각을 업데이트하려면 0을 사용할 수있는 자원들에 대한 몇 가지 정보를 찾을 수 있습니다

는, 당신은 PSSetConstantBuffers를 사용하여 (각 단계 곳을 위해, 쉐이더 슬롯에 각 상수 버퍼를 할당해야 필요하다면), 그에 따라 시작 롯트를 선택하십시오 (쉐이더의 레지스터 번호와 일치해야 함).