Поделиться через


D1159: недопустимая топология командного списка

Список команд не может ссылаться на эффекты, которые являются частью графов эффектов, использующих список команд.

 

Возможные причины

При заполнении списка команд приложение может включать вызов ID2D1DeviceContext::D rawImage. ID2D1DeviceContext::D rawImage можно использовать для рисования растровых изображений, эффектов или списков команд. В результате вызов ID2D1D1DeviceContext::D rawImage синтаксически может попытаться нарисовать список команд, в то время как этот же список команд задается в качестве целевого объекта. Однако списки команд, ссылающихся на себя таким образом, недопустимы. Direct2D определит случаи, в которых это происходит, и сообщит об ошибке, а уровень отладки выдаст это сообщение.

Возможные исправления

При заполнении списка команд убедитесь, что контекст устройства не выполняет никаких операций, которые используют тот же список команд. Наиболее очевидным способом этого является вызов ID2D1DeviceContext::D rawImage с тем же списком команд, который задан в качестве целевого объекта. Однако существуют и менее очевидные способы этого: ID2D1DeviceContext::D rawImage может ссылаться на граф эффектов, а один узел в графе эффектов может попытаться использовать целевой список команд. Убедитесь, что списки команд заполнены правильно перед использованием и что вызовы ID2D1DeviceContext::SetTarget ссылаются на целевой объект.