わいえむねっと

Contents
Categories
Calendar
2026/10
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Monthly Archives
~2000/01
Recent Entries
RSS1.0
Templates
Information
Processed: 0.057 sec
Chashed: -
2014/10/08 Wed
定時退社日で定時に追い出されたので酒飲んで帰るかーと思ったけど座標変換で解せないところがあったのでまっすぐ帰宅して日本酒飲んだくれながら行列計算。
2014/10/07 Tue
カーネルがクラッシュしてばかりで3Dレンダリングのデバッグが遅々として進まない。
カーネルにパッチをあてるまではモーションセンサにアクセスしにいっただけでクラッシュしていたから、それに比べるとマシにはなったけど。まだちょいちょい死ぬ。
10回に9回くらい死ぬ。

というか、こんなにがっつりOpenGLのデバッグする予定じゃなかったのにね。
2014/10/06 Mon
雨は強いけど風はそんなでもなく。
そんな台風当日

東海道線が止まったけど京浜東北は動いていたので間に合う時間に到着したけど改札で待ち合わせていた今日から参加するメンバーが遅れてきたので結局のところ遅れる。



帰宅時にも東海道線が止まっていたので京浜東北で帰宅。
秋葉原まで乗って散歩がてら馬喰横山まで一駅歩いて新宿線に乗って、瑞江で降りて買い物してきて散歩がてら一駅歩いて帰宅。
今夜は月がきれいだ。 豆腐ハンバーグに日本酒。
2014/10/05 Sun
膝の痛みはすっかりよくなったけど、テーピング跡がみみず腫れになっていて痛くないけどかゆい。 うどんつくってる最中に火傷。左親指の腹。
キーボード打つのに影響のあまりないところで良かった。

今年に入ってから火傷三度目ですよ。
なんかそういう災難の相が出てるのか。
2014/10/04 Sat
例によって寝付けずに朝。
ゴミだしついでにコンビニに行ってきて、7時から飲んだくれ。



洗濯機を回したけど、干す前に落ちる。



起きて洗濯機のことを思い出して「あちゃー」と思いつつ、「このまま干したらシワだらけだよな…」と時短モードでもう一度回してから干す。
2014/10/03 Fri
温湿布貼ってテーピングぐるぐる巻きにして寝て起きたら普通に歩ける程度には回復してました。左膝。
良かった。

右太ももの痙攣といい、ここのところ足の調子がどうもおかしいと思っていたけど、職場の席の足元に鎮座している無駄にでかい金属製のごみ箱が原因な気がしてきた。
これのせいでいつも足に変なストレスがかかってるんですよね。
席替えしたら置かれていたもので、誰かの私物のようなのでそのままにしていたけど、こうなるともうどかすしか。
2014/10/02 Thu
まともに歩けないほどに左膝の状況が悪化していたけど、それはそれとして人間ドック。

  • いつもは9:00~9:30の受付時間内に到着するようにしていたけど、8時半でも普通に受付できた。
  • 視力が右1.2の左0.6のダブルスコア。
  • 測りなおしたら右1.0の左0.6で、そちらが記録される。
  • 採血で初めに左腕をだしたら血管が見つからないようだったので、「右腕のほうがいいですかね?」と換えたらすんなり。
  • 小学生の時に針を刺した状態で血管を探されて、採血後しばらく腕がしびれたことがあったのは左腕のほうだったか…と思い出す。
  • 今回も下剤を三倍処方してもらう。
  • 問診の先生には三倍と書いてもらったけど、バリウム検査の先生は三倍くれた後さらに「これはすぐに飲んでくださいね」ともう一つくれたので実質四倍に。
  • あと、バリウム検査の先生は左足のことをすごい心配してくれた。胃と全然関係ないのに。

かつてないほどスムーズに進んで、10時前に終了。
お食事券の利用可能時間(10:15~14:30)よりも早く終わってしまった。
どこかで時間をつぶそうかとも思ったけど、食事時間には中途半端だし、そこまでして食べたいものでもないので、そのまま出社することにする。
2014/10/01 Wed
仕出し弁当屋がきている階の廊下にいつもより15分遅れていってみたら、既に片付けられていました。
早すぎる。 明日は人間ドックだというのに、また風邪をもらう。
免疫力なさすぎる。
あと、風邪のときの関節痛とは別の感じで左膝が痛い。



検便が取れてないのでイチジク浣腸を買って帰る。
誰も彼もが一週間に二回もお通じがあると思ったら大間違いなんですよまったく。

ついでにハイチオールCを購入。
いつものように類似品をオススメされて「ハイチオールCでいいです」と返す。
2014/09/30 Tue
一ヶ月ヘルプの予定でしたが例によって延長となったので来月も川崎です。

ただ、発注の関係で10月は2週目から。の予定でした。
なので、まだ取得していなかった夏期休暇を利用して5連休にするつもりだったんだけど、現場責任者殿が外出の通りすがりに「明日来てもらっても大丈夫です!」と言い残していったので結局出社することに。

休むには中途半端な状態だったので、出社して問題ないならそっちのがいい。
2014/09/29 Mon
OpenGL ESメモ@Yocto


前提

  • Ubuntu 12.04
  • Yocto Project 1.6.1 - Daisy
  • qemuarm
  • core-image-x11
  • gcc
  • g++
  • libegl-mesa
  • libegl-mesa-dev
  • libgles2-mesa
  • libgles2-mesa-dev


テストコード


#include <stdlib.h>
#include <EGL/egl.h>

int main()
{
    Display* xdisp = XOpenDisplay(NULL);
    if(xdisp == NULL)
    {
        abort();
    }

    Window rootWin = DefaultRootWindow(xdisp);

    int screen = DefaultScreen(xdisp);
    unsigned long white = WhitePixel(xdisp, screen);
    unsigned long black = BlackPixel(xdisp, screen);

    Window window = XCreateSimpleWindow(
        xdisp, rootWin, 
        100, 100,
        640, 480,
        2,
        black, white);

#ifdef DEFAULT
    EGLDisplay eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
#else
    EGLDisplay eglDisplay = eglGetDisplay((EGLNativeDisplayType)xdisp);
#endif
    if(eglDisplay == EGL_NO_DISPLAY)
    {
        abort();
    }
    if(!eglInitialize(eglDisplay, NULL, NULL))
    {
        abort();
    }

    EGLint attr[] = {
        EGL_BUFFER_SIZE, 16,
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
        EGL_NONE,
    };
    EGLConfig cfg;
    EGLint numConfigs;
    if(!eglChooseConfig(eglDisplay, attr, &cfg, 1, &numConfigs))
    {
        abort();
    }
    if(numConfigs != 1)
    {
        abort();
    }
    EGLSurface eglSurface = eglCreateWindowSurface(eglDisplay, cfg, window, NULL);
    if(eglSurface == EGL_NO_SURFACE)
    {
        abort();
    }
}


EGL_DEFAULT_DISPLAYで初期化

Native platform type: drm (build-time configuration)


# arm-poky-linux-gnueabi-g++ foo.cpp -lX11 -lEGL -DDEFAULT
# export EGL_LOG_LEVEL=debug
# ./a.out
libEGL debug: Native platform type: drm (build-time configuration)
libEGL debug: EGL search path is /usr/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
gbm_create_device: invalid fd: -1
libEGL warning: GLX: failed to load GLX
libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize
Aborted

eglInitializeでEGL_NOT_INITIALIZED。


Native platform type: x11 (environment overwrite)


# export EGL_PLATFORM=x11
# ./a.out
libEGL debug: Native platform type: x11 (environment overwrite)
libEGL debug: EGL search path is /usr/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
libEGL warning: DRI2: failed to authenticate
libEGL debug: DRI2: dlopen(/usr/lib/dri/swrast_dri.so)
libEGL debug: DRI2: found extension `DRI_Core'
libEGL info: DRI2: found extension DRI_Core version 1
libEGL debug: DRI2: found extension `DRI_SWRast'
libEGL info: DRI2: found extension DRI_SWRast version 3
libEGL debug: DRI2: found extension `DRI_TexBuffer'
libEGL info: DRI2: found extension DRI_TexBuffer version 2
libEGL debug: the best driver is DRI2
libEGL debug: EGL user error 0x3003 (EGL_BAD_ALLOC) in xcb_get_geometry
Aborted

eglCreateWindowSurfaceでEGL_BAD_ALLOC。


X11のDisplayで初期化

Native platform type: x11 (autodetected)


# arm-poky-linux-gnueabi-g++ foo.cpp -lX11 -lEGL
# unset EGL_PLATFORM
# ./a.out
libEGL debug: Native platform type: x11 (autodetected)
libEGL debug: EGL search path is /usr/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
libEGL warning: DRI2: failed to authenticate
libEGL debug: DRI2: dlopen(/usr/lib/dri/swrast_dri.so)
libEGL debug: DRI2: found extension `DRI_Core'
libEGL info: DRI2: found extension DRI_Core version 1
libEGL debug: DRI2: found extension `DRI_SWRast'
libEGL info: DRI2: found extension DRI_SWRast version 3
libEGL debug: DRI2: found extension `DRI_TexBuffer'
libEGL info: DRI2: found extension DRI_TexBuffer version 2
libEGL debug: the best driver is DRI2
libEGL debug: Display 0x1b160 is destroyed with resources

正常終了。


Native platform type: drm (environment overwrite)


# export EGL_PLATFORM=drm
# ./a.out
libEGL debug: Native platform type: drm (environment overwrite)
libEGL debug: EGL search path is /usr/lib/egl
libEGL debug: added egl_dri2 to module array
libEGL debug: added egl_glx to module array
Segmentation fault

eglInitializeでSegmentation fault。


参考サイト

すらりん日記 ≫ Blog Archive ≫ Ubuntuで EGL使えるか?|No:3072|すらりん日記
http://blog.techl​ab-xe.net/archives/3072

Mesa EGL
http://www.mesa3d​.org/egl.html