v3dv: enable fillModeNonSolid

This, together with the shaderClipDistance changes, gets vkQuake3
to run without hacks.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6766>
diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c
index 3d0405d..6aea3cd 100644
--- a/src/broadcom/vulkan/v3dv_device.c
+++ b/src/broadcom/vulkan/v3dv_device.c
@@ -586,7 +586,7 @@
       .drawIndirectFirstInstance = false,
       .depthClamp = false,
       .depthBiasClamp = false,
-      .fillModeNonSolid = false,
+      .fillModeNonSolid = true,
       .depthBounds = false, /* Only available since V3D 4.3.16.2 */
       .wideLines = true,
       .largePoints = false,
diff --git a/src/broadcom/vulkan/v3dv_pipeline.c b/src/broadcom/vulkan/v3dv_pipeline.c
index c735807..cfe7fc7 100644
--- a/src/broadcom/vulkan/v3dv_pipeline.c
+++ b/src/broadcom/vulkan/v3dv_pipeline.c
@@ -2023,6 +2023,12 @@
        */
       config.line_rasterization = 1; /* perp end caps */
 
+      if (rs_info && rs_info->polygonMode != VK_POLYGON_MODE_FILL) {
+         config.direct3d_wireframe_triangles_mode = true;
+         config.direct3d_point_fill_mode =
+            rs_info->polygonMode == VK_POLYGON_MODE_POINT;
+      }
+
       /* FIXME: oversample_mode postponed until msaa gets supported */
       config.rasterizer_oversample_mode = false;