- 371 名前:デフォルトの名無しさん [2007/02/27(火) 12:48:48 ]
- >>369
kernel void func(float v1<>, float v2<>, float v3, out float o<>){ o=v1+v2+v3; } int main(void){ int i; float img[height][width];float a; float v1<width>;float v2<width>;float v3<width>; float o<1>; for(i=0;i<height; i++){ streamRead(v1, img[i]);streamRead(v2, img[i-1]);streamRead(v1, img[i+1]); func(v1,v2,v3,o); streamWrite(o, &a); } } BrookGPUで書くとこうかな。そのままCg用のコードを生成してくれるはず。 でも、このコード、aは上書きだし、0から始まる変数でi-1とかやっちゃってるし、色々アレだね。 そういえば、BrookGPUでループ中にstreamReadを大量にやると、VRAM食いつぶしてマシンがフリーズするな。。。 何かVRAMの内容を開放する関数は無いのかな?
|

|