Explorar el Código

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

Sam Lantinga hace 9 años
padre
commit
057bca8a68
Se han modificado 1 ficheros con 6 adiciones y 1 borrados
  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;
 }