Browse Source

Better fix for last point in D3D11 renderer, thanks to Nader Golbaz

Sam Lantinga 8 years ago
parent
commit
057bca8a68
1 changed files with 6 additions and 1 deletions
  1. 6 1
      src/render/direct3d11/SDL_render_d3d11.c

+ 6 - 1
src/render/direct3d11/SDL_render_d3d11.c

@@ -2576,7 +2576,12 @@ D3D11_RenderDrawLines(SDL_Renderer * renderer,
         NULL);
 
     D3D11_RenderFinishDrawOp(renderer, D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP, count);
-    D3D11_RenderFinishDrawOp(renderer, D3D11_PRIMITIVE_TOPOLOGY_POINTLIST, count);
+
+    if (points[0].x != points[count - 1].x || points[0].y != points[count - 1].y) {
+        ID3D11DeviceContext_IASetPrimitiveTopology(rendererData->d3dContext, D3D11_PRIMITIVE_TOPOLOGY_POINTLIST);
+        ID3D11DeviceContext_Draw(rendererData->d3dContext, 1, count - 1);
+    }
+
     SDL_stack_free(vertices);
     return 0;
 }