「 2015年08月 」一覧

Galaxy S2 に Lollipop (5.1) を入れてみた

遊んでいる端末があって気が向いたので Lollipop を入れてみようと思いました。
その時のメモを残しておきます。なお ROM イメージとアプリについては以下のものを使用しました。

CyanogenMod 12.1
http://forum.xda-developers.com/galaxy-s2/development-derivatives/rom-cyanogenmod-12-t2955551

GApps
http://wiki.cyanogenmod.org/w/Google_Apps

続きを読む


Raspberry Pi 2 で D3D12 (正式版IoT Coreにて)

以前のプレビュー版のときには失敗してしまった DirectX12 (D3D12) の動作ですが、正式版になった今はどうだろうかと調べてみました。結論からすれば、うまく動作しているようで、さらにはデバッグ情報もきちんととれそうな感じなのでお遊びにすごくよさそうな印象です。

確認

このコマンドプロンプトが使えるようになったので、以前うまく動かなかった D3D12 についてどうだろうと確認してみました。とりあえずは d3d関連の DLL を確認してみたところ以下のようになっており、DirectX9 は完全に死滅しているようです。しかし D3D12 については今も DLL が新しいモノが入っているのでちょっと期待できそうです。
windows10-iot-core-rpi2-system32

早速コレを動作確認したいとおもいます。
続きを読む


D3D12でテクスチャの挙動がしんどい

DirectX12 (D3D12) でテクスチャ生成時の挙動がドライバ依存しているようで結構しんどい気がします。巷によく掲載されているコードでは手元の RADEON HD 7750 ではうまく動作しませんでした。d3d12.dll の中で不正メモリアクセスをするような感じでエラーが発生してしまいます。

今回、 Intel HD Graphics Gen8 の環境を構築したので、こちらでもテストしてみたところ正常にテクスチャ生成&描画が出来ていることを確認できました。デバッガで停止しないという点では NVIDIA でも同様でしたが、画像としては正しくないという状況でした。
 これらの結果を見ると三者三様でそれぞれに癖がありそうです。 CreateCommittedResource から WriteToSubresource という方法では結果が一致しないので、どこでも動くアプリではこれらの方法は避けた方が無難と言えるでしょう。

正しく動くと思われる方法は、 UPLOAD ヒープに転送したうえで、 DEFAULT ヒープに GPU 側で転送するケースです。 UPLOAD ヒープの処理があるので生成時に若干手間になることが予想されます。

しかし動的なテクスチャの場合にはこの方法だと実行コストがかかっているように思います。 CommittedResource で生成した領域に直接かけるほうが得なのですが・・・。頂点データなどはそれが出来ているだけに残念です。

追記

Intel HD Graphics Gen8 がうまく動いている理由はメモリが UMA だからじゃないかという話もありました。確かに他の2つの環境ではディスクリート GPU であるので、メモリ場所も違うのは確かにありましたね。これを考慮すると UPLOAD から DEFAULT への転送もちょっと納得がいきますね。 APU ではどのような挙動を示すのか、試してみた人がいたら教えてもらいところです

以上色々と書いていますが、あくまで個人の見解です。挙動からそんな気がしているというだけです。


git-fat を使ってみる

git-media の状態がまずかったので、似たようなソリューションを探してみたところ git-fat というものが見つかりました。これは git-media からフォークして作成したもののようです。言語が Ruby から Python へと変化していましたが。
 今回は Windows 環境にてこの git-fat をインストールして動作を確認するところまでやってみます。

インストール

git-fat は Python 2.x 系を必要とするようです。そのためまずは Python をインストールします。今回 Windows のインストーラー付きの Python は 2.7.10 を使用しました。インストールした Python にはパスが通っていることとします。
 その後、コンソールで以下のコマンドで git-fat をインストールすることが出来ます。

既にパッケージ化されているようでインストールは非常に簡単です。 続きを読む


git-media を使えるようにしてみた

オリジナルの git-media には以前に確認したような不具合が Windows 上で発生するため、そのままではバイナリが破壊されてしまうため使用に耐えませんでした。
今回 git-media を fork して、この問題を修正してみました。原因は簡単なことで改行コード変換がバイナリ取り出し時の処理に挟まってしまうことでした。

自分が修正した git-media はこちらに上げてあります。一応手元ではテストを行っていますが、動作を保証するモノではありません。普段の環境が Windows なので、 Windows の環境でのみテストしています。設定項目等も通常のものと変更はないです。

これで git を使っても、ひとまずは巨大バイナリに対して戦える状況になったかなと思っています。

git-media そのものの使い方は過去の記事を参考にしてもらえればと。

git-media はファイルシステムや scp, webdav が使える点がすごくいいと思ってます。これで送り込んだ先をバイナリ管理のリポジトリサーバーとしてバックアップ等含めてきちんと運用させるとよいかと思います。 続きを読む




git-annex を Windowsにて実験してみた

Git LFS が進んでいるようですが、 git-annex を実験してみました。git-annex はまだ Windows の環境でベータ扱いのようですが…。あまり日本語の記事もなく、手探りで色々と試してみましたが、以下の内容は間違っている可能性があるのでご注意ください。

公式サイトのほうからは Windows のインストーラーが公開されています。これをインストールして使用してみました。自分の環境では、うまくパスが通らなかったため、git-annex が配置された場所に手動でパスを通して動くように変更しています。
その後、公式ページの walkthrough にあった以下のようなコマンドを実行してみました. 続きを読む



git-media を使ってみる (2)

前回 git-media をインストールして動作をちょっと確認するところまで説明しました。
今回は以前に説明できなかった部分を見ていこうと思います。

git media sync について

巨大ファイルのハッシュから実体や、そもそも管理場所に送信する機能として git media sync を手作業で実行していました。
それは以下のような設定をしたからでした。

この autodownload を true に変更したらどうなるかを見てみます。
新規にファイルを追加して、add, commit した時点では変化がありませんでした。
しかし、Push を実行すると、・・・なんと挙動は従来のままかわりません!
設定項目の通り、ダウンロードのみに影響するようです。

この設定はリポジトリのチェックアウト時(ブランチの切り替え時とか)の挙動に影響してくるようです。
チェックアウト時に管理されている対象のファイルを、その外部の置き場からダウンロード(取得)してくるようになります。説明によると Pull 時にもこの設定は効いてくるようです。 続きを読む