21.11.2014 Views

Optimized Texture Transfers - GPU Technology Conference 2012

Optimized Texture Transfers - GPU Technology Conference 2012

Optimized Texture Transfers - GPU Technology Conference 2012

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Render-Readback Synchronizaton<br />

GLsync startReadback[MAX_BUFFERS],endReadback[MAX_BUFFERS]; //<strong>GPU</strong> fence sync objects<br />

HANDLE startReadbackValid, endReadbackValid; //cpu event to coordinate wait for <strong>GPU</strong><br />

sync<br />

Render<br />

WaitForSingleObject(endReadbackValid)<br />

glWaitSync(endReadback[2])<br />

glFramebuffer<strong>Texture</strong>(resultTex[2])<br />

//Draw<br />

startReadback[3] = glFenceSync(…)<br />

SetEvent(startReadbackValid)<br />

[2]<br />

…<br />

resultTex<br />

[0]<br />

Readback<br />

WaitForSingleObject(startReadbackValid)<br />

glWaitSync(startReadback[0])<br />

glGetTexImage(resultTex[0])<br />

//Read pixels to png-pong pbo<br />

endReadback[0] = glFenceSync(…)<br />

SetEvent(endReadbackValid);

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!