turnip: enable 420_UNORM formats
[mesa.git] / src / freedreno / vulkan / tu_util.h
index 18462c835624cb57319fec19de20510afef084d2..fb914cf0ceb88b8005e1de6a2301b1061398a8dc 100644 (file)
@@ -49,21 +49,6 @@ tu_msaa_samples(VkSampleCountFlagBits samples)
    return util_logbase2(samples);
 }
 
-static inline enum a4xx_index_size
-tu6_index_size(VkIndexType type)
-{
-   switch (type) {
-   case VK_INDEX_TYPE_UINT16:
-      return INDEX4_SIZE_16_BIT;
-   case VK_INDEX_TYPE_UINT32:
-      return INDEX4_SIZE_32_BIT;
-   case VK_INDEX_TYPE_UINT8_EXT:
-      return INDEX4_SIZE_8_BIT;
-   default:
-      unreachable("invalid VkIndexType");
-   }
-}
-
 static inline uint32_t
 tu6_stage2opcode(gl_shader_stage stage)
 {
@@ -124,7 +109,8 @@ tu6_primtype(VkPrimitiveTopology topology)
       [VK_PRIMITIVE_TOPOLOGY_LINE_STRIP_WITH_ADJACENCY]     = DI_PT_LINESTRIP_ADJ,
       [VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY]  = DI_PT_TRI_ADJ,
       [VK_PRIMITIVE_TOPOLOGY_TRIANGLE_STRIP_WITH_ADJACENCY] = DI_PT_TRISTRIP_ADJ,
-      [VK_PRIMITIVE_TOPOLOGY_PATCH_LIST] = 0,
+      /* Return PATCH0 and update in tu_pipeline_builder_parse_tessellation */
+      [VK_PRIMITIVE_TOPOLOGY_PATCH_LIST]                    = DI_PT_PATCHES0,
    };
    assert(topology < ARRAY_SIZE(lookup));
    return lookup[topology];
@@ -248,4 +234,19 @@ tu6_pipe2depth(VkFormat format)
    }
 }
 
+static inline enum a6xx_polygon_mode
+tu6_polygon_mode(VkPolygonMode mode)
+{
+   switch (mode) {
+   case VK_POLYGON_MODE_POINT:
+      return POLYMODE6_POINTS;
+   case VK_POLYGON_MODE_LINE:
+      return POLYMODE6_LINES;
+   case VK_POLYGON_MODE_FILL:
+      return POLYMODE6_TRIANGLES;
+   default:
+      unreachable("bad polygon mode");
+   }
+}
+
 #endif /* TU_UTIL_H */