d3d1x: Use native_surface::present.
authorChia-I Wu <olv@lunarg.com>
Wed, 3 Nov 2010 08:00:47 +0000 (16:00 +0800)
committerChia-I Wu <olv@lunarg.com>
Wed, 3 Nov 2010 08:08:44 +0000 (16:08 +0800)
Replace native_surface::flush_frontbuffer and
native_surface::swap_buffers calls by native_surface::present calls.

src/gallium/state_trackers/d3d1x/dxgi/src/dxgi_native.cpp

index e1c34611d141d049476537fa7f3b6676f753d488..c246fc5ef7616b0d6d5ed32cb35bf4d4ed79d68e 100644 (file)
@@ -1101,6 +1101,7 @@ struct GalliumDXGISwapChain : public GalliumDXGIObject<IDXGISwapChain, GalliumDX
                struct pipe_resource* dst;
                struct pipe_resource* src;
                struct pipe_surface* dst_surface;
+               enum native_attachment att;
 
                void* present_cookie;
                hr = parent->backend->BeginPresent(desc.OutputWindow, &present_cookie, &cur_window, &rect, &rgndata, &preserve_aspect_ratio);
@@ -1221,16 +1222,9 @@ struct GalliumDXGISwapChain : public GalliumDXGIObject<IDXGISwapChain, GalliumDX
 
                pipe->flush(pipe, PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, 0);
 
-               if(db)
-               {
-                       if(!surface->swap_buffers(surface))
-                               return DXGI_ERROR_DEVICE_REMOVED;
-               }
-               else
-               {
-                       if(!surface->flush_frontbuffer(surface))
-                               return DXGI_ERROR_DEVICE_REMOVED;
-               }
+               att = (db) ? NATIVE_ATTACHMENT_BACK_LEFT : NATIVE_ATTACHMENT_FRONT_LEFT;
+               if(!surface->present(surface, att, FALSE, 0))
+                       return DXGI_ERROR_DEVICE_REMOVED;
 
 end_present:
                parent->backend->EndPresent(desc.OutputWindow, present_cookie);