XF86DGA(3X11)

名前
XF86DGAQueryExtension, XF86DGAQueryVersion, XF86DGAQueryDirectVideo, XF86DGAGetVideo, XF86DGADirectVideo, XF86DGASetVidPage, XF86DGASetViewPort, XF86DGAViewPortChanged, XF86DGAGetViewPortSize, XF86DGAInstallColormap, XF86DGAForkApp - XFree86-DGA 拡張インタフェース関数

書式

#include <X11/extensions/xf86dga.h>

Bool XF86DGAQueryExtension(
    Display *display,
    int *event_base_return,
    int *error_base_return);

Bool XF86DGAQueryVersion(
    Display *display,
    int *major_version_return,
    int *minor_version_return);

Bool XF86DGAQueryDirectVideo(
    Display *display,
    int screen,
    int *flags_return);

Bool XF86DGAGetVideo(
    Display *display,
    int screen,
    char **addr_return,
    int *width_return,
    int *banksize_return,
    int *memsize_return);

Bool XF86DGADirectVideo(
    Display *display,
    int screen,
    int flags);

Bool XF86DGASetVidPage(
    Display *display,
    int screen,
    int page);

Bool XF86DGASetViewPort(
    Display *display,
    int screen,
    int x,
    int y);

Bool XF86DGAViewPortChanged(
    Display *display,
    int screen,
    int num_pages);

Bool XF86DGAGetViewPortSize(
    Display *display,
    int screen,
    int *viewport_width_return,
    int *viewport_height_return);

Bool XF86DGAInstallColormap(
    Display *display,
    int screen,
    Colormap cmap);

int XF86DGAForkApp(
    int screen);

引き数

display
    X サーバへの接続を指定。

screen
    設定を適用するスクリーン番号を指定。

event_base_return
    拡張に対する基本イベント番号が返される。

error_base_return
    拡張に対する基本エラー番号が返される。

major_version_return
    拡張のメジャーバージョン番号が返される。

minor_version_return
    拡張のマイナーバージョン番号が返される。

addr_return
    ビデオフレームバッファの開始位置へのポインタが返される。

width_return
    フレームバッファの行の幅が返される。

banksize_return
    フレームバッファのバンクの大きさが返される。

memsize_return
    フレームバッファのメモリの大きさが返される。

flags
    DirectVideo アクセス機能を設定する。ゼロならば DirectVideo モードは無 効となる。flags は次の値のビット単位で組み合わせたものとなる。
    XF86DGADirectGraphics          Direct Video モードを有効にする。
    XF86DGADirectMouse             ポインタ移動を相対的な移動として直接通
                                   知する機能を有効にする。
    XF86DGADirectKeyb              キーボードイベントの直接通知機能を有効
                                   にする。

flags_return
    ハードウェアがサポートしている DirectVideo の機能を通知する。ゼロの場 合は、ハードウェアは DirectVideo を全くサポートしていない。 flags は次に示す値のビットごとの組み合わせになる。
    XF86DGADirectPresent           DirectVideo のサポートがある

page
    フレームバッファのページ(バンク)を、読み書きのアクセスに対してアクティ ブ化させることを指定。

x   ビューポートの左上隅に対する x 座標を指定。

y   ビューポートの左上隅に対する y 座標を指定。

viewport_width_return
    ビューポートの幅が通知される。

viewport_width_return
    ビューポートの高さが通知される。

num_pages
    ハードウェアがマルチバッファリングを行う際のページの数を指定。

cmap
    インストールするカラーマップを指定。

説明
これらの関数は XFree86-DGA サーバ拡張へのインタフェースを与える。 この拡張は、ローカルクライアントがビデオバッファへ直接アクセスすること を可能にする。 これらの関数を使うアプリケーションは、 でリンクを行わなければならない。

  DGA 関数
関数 はグラフィックスデバイスがサポートしている DirectVideo の特性を返す。

関数 は、フレームバッファに対するパラメータを取得するために使われる。返され るパラメータは、フレームバッファ先頭へのポインタ、フレームバッファの行 の幅、フレームバッファのバンクの大きさ、フレームバッファのメモリの大き さである。

は、DirectVideo を有効あるいは無効にするために使われる。

関数 は、現在アクティブになっているフレームバッファのページ(バンク)を設定す る。これは、メモリのレイアウトがバンク化されている(バンクの大きさ < メ モリの大きさ)ハードウェアに対してだけ必要である。

関数 は、ビューポートの左上隅に対するフレームバッファの座標をセットする。

関数 は、前の XF86DGASetViewPort コマンドをハードウェアが終わらせたかどうか をチェックする。つまり、前の XF86DGASetViewPort から垂直方向の再トレー スが起きたかどうかをチェックする。これはページをフリップする時に使うこ とができる(実際には使わなくてはならない)。アプリケーションは、この関数 が TRUE を返した時に限って次のページへの書き込みを始めることができる。 これはデバイスによっては XF86DGASetViewPort の直後であるが、これは将来 は変わるかもしれない。使うページの数は引き数 num_pages で指定する。 単純なページのフリップ(ダブルバッファリング)に対しては、この数は2であ る。n が 2 より大きい場合は(3 つまりトリプルバッファリング)、この関数 は、最後より前の (n - 2) の SetViewPort が終了したかどうかチェックす る。

関数 は、ビューポートのサイズを返す。ビューポートは、フレームバッファのスク リーンで表示可能な部分である。

関数 は、カラーマップをインストールするために使われる。この関数は DirectVideo モードを有効にした後で呼び出さなければならない。

関数 は、クライアントアプリケーションを fork させる。 この間親プロセスを待ったままであり、なんらかの理由で非 DGA モードに戻 るとクライアントは終了してしまう。この関数は成功した場合には 0 を返し、 エラーの状態は fork() によって返される。

  その他の関数
関数 はサーバ内に作られている拡張のバージョンを知るために使われる。

関数 は、この拡張に割り当てられた最も番号が小さいエラー値とイベント値を返す。

関連項目
XFree86(1), XF86Config(4/5)

著者
Jon Tombs, Harm Hanemaayer, Mark Vojkovich.