Sdílet prostřednictvím


D1159: Neplatná topologie seznamu příkazů

Seznam příkazů nemůže odkazovat na efekty, které jsou součástí grafů efektů, které využívají seznam příkazů.

 

Možné příčiny

Při naplnění seznamu příkazů může aplikace zahrnovat volání ID2D1DeviceContext::D rawImage. ID2D1DeviceContext::D rawImage lze použít k kreslení rastrových obrázků, efektů nebo seznamů příkazů. V důsledku toho je syntakticky možné volání ID2D1DeviceContext::D rawImage, které se pokusí nakreslit seznam příkazů, zatímco stejný seznam příkazů je nastaven jako cíl. Vlastní odkazování na seznamy příkazů tímto způsobem však není platné. Direct2D identifikuje případy, kdy k tomu dojde, a oznámí chybu a ladicí vrstva zobrazí tuto zprávu.

Možné opravy

Při vyplňování seznamu příkazů se ujistěte, že kontext zařízení nevydává žádnou operaci, která využívá stejný seznam příkazů. Nejobvyklejší způsob, jakým k tomu může dojít, je volat ID2D1DeviceContext::D rawImage se stejným seznamem příkazů, který je nastavený jako cíl. Existují však také méně běžné způsoby, jak to může nastat: ID2D1DeviceContext::D rawImage může odkazovat na graf efektu a jeden uzel v grafu efektu se může pokusit použít cílový seznam příkazů. Před použitím se ujistěte, že jsou správně vyplněné seznamy příkazů a že volání ID2D1DeviceContext::SetTarget odkazují na zamýšlený cíl.