gf_draw_finish()

Ожидание завершения операций рендеринга в оборудовании

Прототип:

#include <gf/gf.h>
int gf_draw_finish( gf_context_t context );

Аргументы:

context
Дескриптор графического контекста для ожидания завершения операций рисования.

Библиотека:

gf

Описание:

Функция позволяет выполнить ожидание завершения операций рендеринга в оборудовании. Она блокирует текущий поток до тех пор, пока оборудование не станет готово принимать новые команды рендеринга. Функцию следует вызывать в том числе для обеспечения ожидаемого состояния поверхностей. Так, например, если комбинируются программный и аппаратный рендеринг, перед выполнением программных операций без вызова gf_draw_finish() нет гарантий, что аппаратный рендеринг в общем случае завершен. Следствием этого будет рассинхронизация механизмов рендеринга и нарушение целостности изображения.

Перед непосредственным ожиданием неявно вызывается gf_draw_flush(). Отсюда следует, что отдельный предварительный вызов данной функции не требуется.


Note: Не следует путать данную функцию с gf_draw_end(). Если близость названий вас смущает, вызывайте ее внутри блока gf_draw_begin() - gf_draw_end().

Возвращаемое значение:

GF_ERR_OK
Успешное завершение.
GF_ERR_NOLOCK
Контекст рендеринга не обладает эксклюзивным доступом к оборудованию; убедитесь, что вызов gf_draw_begin() завершен успешно.
GF_ERR_PARM
Значение параметра context равно NULL

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Graphics Framework

Безопасность использования
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gf_draw_begin(), gf_draw_end()

Основы рисования: Многопоточные приложения




Предыдущий раздел: GF API