*
*/
-#pragma once
+#ifndef GEN_DEVICE_INFO_H
+#define GEN_DEVICE_INFO_H
+
#include <stdbool.h>
/**
bool is_haswell;
bool is_cherryview;
bool is_broxton;
+ bool is_kabylake;
bool has_hiz_and_separate_stencil;
bool must_use_separate_stencil;
*/
unsigned num_slices;
unsigned max_vs_threads; /**< Maximum Vertex Shader threads */
- unsigned max_hs_threads; /**< Maximum Hull Shader threads */
- unsigned max_ds_threads; /**< Maximum Domain Shader threads */
+ unsigned max_tcs_threads; /**< Maximum Hull Shader threads */
+ unsigned max_tes_threads; /**< Maximum Domain Shader threads */
unsigned max_gs_threads; /**< Maximum Geometry Shader threads. */
/**
* Theoretical maximum number of Pixel Shader threads.
* urb.size = URB Size (kbytes) / slice count
*/
unsigned size;
- unsigned min_vs_entries;
- unsigned max_vs_entries;
- unsigned max_hs_entries;
- unsigned min_ds_entries;
- unsigned max_ds_entries;
- unsigned max_gs_entries;
+
+ /**
+ * The minimum number of URB entries. See the 3DSTATE_URB_<XS> docs.
+ */
+ unsigned min_entries[4];
+
+ /**
+ * The maximum number of URB entries. See the 3DSTATE_URB_<XS> docs.
+ */
+ unsigned max_entries[4];
} urb;
/** @} */
};
-const struct gen_device_info *gen_get_device_info(int devid);
+bool gen_get_device_info(int devid, struct gen_device_info *devinfo);
const char *gen_get_device_name(int devid);
+
+#endif /* GEN_DEVICE_INFO_H */