Commit 3038604a authored by Mike Gorchak's avatar Mike Gorchak

RenderReadPixels and RenderWritePixels now work properly.

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%404203
parent 6e0c12e7
...@@ -165,6 +165,8 @@ photon_createrenderer(SDL_Window * window, Uint32 flags) ...@@ -165,6 +165,8 @@ photon_createrenderer(SDL_Window * window, Uint32 flags)
renderer->RenderLine = photon_renderline; renderer->RenderLine = photon_renderline;
renderer->RenderFill = photon_renderfill; renderer->RenderFill = photon_renderfill;
renderer->RenderCopy = photon_rendercopy; renderer->RenderCopy = photon_rendercopy;
renderer->RenderReadPixels = photon_renderreadpixels;
renderer->RenderWritePixels = photon_renderwritepixels;
renderer->RenderPresent = photon_renderpresent; renderer->RenderPresent = photon_renderpresent;
renderer->DestroyTexture = photon_destroytexture; renderer->DestroyTexture = photon_destroytexture;
renderer->DestroyRenderer = photon_destroyrenderer; renderer->DestroyRenderer = photon_destroyrenderer;
...@@ -321,6 +323,10 @@ static int _photon_recreate_surfaces(SDL_Renderer * renderer) ...@@ -321,6 +323,10 @@ static int _photon_recreate_surfaces(SDL_Renderer * renderer)
/* Create offscreen surfaces */ /* Create offscreen surfaces */
allocate_task=SDL_PHOTON_SURFTYPE_OFFSCREEN; allocate_task=SDL_PHOTON_SURFTYPE_OFFSCREEN;
/* Before destroying surfaces, be sure, that rendering was completed */
PgFlush();
PgWaitHWIdle();
/* Destroy current surfaces */ /* Destroy current surfaces */
for (it=0; it<SDL_PHOTON_MAX_SURFACES; it++) for (it=0; it<SDL_PHOTON_MAX_SURFACES; it++)
{ {
...@@ -1518,6 +1524,10 @@ photon_destroyrenderer(SDL_Renderer * renderer) ...@@ -1518,6 +1524,10 @@ photon_destroyrenderer(SDL_Renderer * renderer)
SDL_WindowData *wdata = (SDL_WindowData *)window->driverdata; SDL_WindowData *wdata = (SDL_WindowData *)window->driverdata;
uint32_t it; uint32_t it;
/* Before destroying the renderer, be sure, that rendering was completed */
PgFlush();
PgWaitHWIdle();
/* Destroy graphics context */ /* Destroy graphics context */
if (rdata->gc!=NULL) if (rdata->gc!=NULL)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment