Модули для работы с OpenCL и OpenGL

Кхм, то есть дальше 2012 уже не обновляет? Это, конечно, сложно будет поддерживать… Ну вы всё же на всяк зайдите в GeForce и тыкните проверку обновлений драйверов.

И, в принципе, можно попробовать вставить это перед cl.EnqueueMarkerWithWaitList:

var hnd := GCHandle.Alloc(self.evs, GCHandleType.Pinned);

Но, в теории, оно может помочь только если у вас какая то древняя версия .Net .

Если не поможет - остаётся только 1 вариант. Проблема явно в другой части программы, это OpenCL решает кинуть ошибку, почему то, только при вызове cl.EnqueueMarkerWithWaitList. При чём часть которой легче всего сломаться - собственно вызов kernel-а, выполняется успешно.

Проблема скорее всего в баге драйвера. И, в принципе, я могу попробовать залатать её костылём в модуле, но для этого мне нужен минимальный код модуля. И раз воспроизводится только у вас - только вы можете найти этот минимальный код.

Это придётся час-два просидеть, убирая части модуля (главное OpenCLABCBase, но OpenCLABC, скорее всего, тоже придётся порезать, потому что он использует много из OpenCLABCBase), проверяя чтоб ошибка оставалась одинаковой.