isl: Add struct isl_device
[mesa.git] / src / vulkan / isl.h
index b170c215b35a1fd47bc9a5bd5828a3cc9ecaf571..7680fa9ef9a1ee87d53ccfbe71a49abe2ab3c85b 100644 (file)
@@ -28,6 +28,7 @@
 
 #pragma once
 
+#include <stdbool.h>
 #include <stdint.h>
 
 #ifdef __cplusplus
@@ -305,6 +306,16 @@ enum isl_txc {
    ISL_TXC_ETC2,
 };
 
+struct isl_device {
+   /**
+    * @brief Hardware generation, 10x.
+    *
+    * For example, gen is 70 for Ivybridge and Baytrail; gen is 75 for
+    * Haswell.
+    */
+   uint8_t gen;
+};
+
 struct isl_channel_layout {
    enum isl_base_type type;
    uint8_t bits; /**< Size in bits */
@@ -333,6 +344,9 @@ struct isl_format_layout {
    enum isl_txc txc;
 };
 
+void
+isl_device_init(struct isl_device *dev, uint8_t gen10x);
+
 extern const struct isl_format_layout isl_format_layouts[];
 
 #ifdef __cplusplus