radv: brown-paper bag for a forgotten else.
[mesa.git] / src / intel / common / gen_device_info.c
index b8d92278d73489c2ac20192234a8cd8d0d57f729..9bf3cd5cc42ab7c72a7e4973214155b5ce7aedd1 100644 (file)
@@ -24,6 +24,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include "gen_device_info.h"
+#include "compiler/shader_enums.h"
 
 static const struct gen_device_info gen_device_info_i965 = {
    .gen = 4,
@@ -80,9 +81,13 @@ static const struct gen_device_info gen_device_info_snb_gt1 = {
    .max_wm_threads = 40,
    .urb = {
       .size = 32,
-      .min_vs_entries = 24,
-      .max_vs_entries = 256,
-      .max_gs_entries = 256,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]   = 24,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]   = 256,
+         [MESA_SHADER_GEOMETRY] = 256,
+      },
    },
 };
 
@@ -100,9 +105,13 @@ static const struct gen_device_info gen_device_info_snb_gt2 = {
    .max_wm_threads = 80,
    .urb = {
       .size = 64,
-      .min_vs_entries = 24,
-      .max_vs_entries = 256,
-      .max_gs_entries = 256,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]   = 24,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]   = 256,
+         [MESA_SHADER_GEOMETRY] = 256,
+      },
    },
 };
 
@@ -125,12 +134,16 @@ static const struct gen_device_info gen_device_info_ivb_gt1 = {
    .max_cs_threads = 36,
    .urb = {
       .size = 128,
-      .min_vs_entries = 32,
-      .max_vs_entries = 512,
-      .max_tcs_entries = 32,
-      .min_ds_entries = 10,
-      .max_tes_entries = 288,
-      .max_gs_entries = 192,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 32,
+         [MESA_SHADER_TESS_EVAL] = 10,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 512,
+         [MESA_SHADER_TESS_CTRL] = 32,
+         [MESA_SHADER_TESS_EVAL] = 288,
+         [MESA_SHADER_GEOMETRY]  = 192,
+      },
    },
 };
 
@@ -145,12 +158,16 @@ static const struct gen_device_info gen_device_info_ivb_gt2 = {
    .max_cs_threads = 64,
    .urb = {
       .size = 256,
-      .min_vs_entries = 32,
-      .max_vs_entries = 704,
-      .max_tcs_entries = 64,
-      .min_ds_entries = 10,
-      .max_tes_entries = 448,
-      .max_gs_entries = 320,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 32,
+         [MESA_SHADER_TESS_EVAL] = 10,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 704,
+         [MESA_SHADER_TESS_CTRL] = 64,
+         [MESA_SHADER_TESS_EVAL] = 448,
+         [MESA_SHADER_GEOMETRY]  = 320,
+      },
    },
 };
 
@@ -166,12 +183,16 @@ static const struct gen_device_info gen_device_info_byt = {
    .max_cs_threads = 32,
    .urb = {
       .size = 128,
-      .min_vs_entries = 32,
-      .max_vs_entries = 512,
-      .max_tcs_entries = 32,
-      .min_ds_entries = 10,
-      .max_tes_entries = 288,
-      .max_gs_entries = 192,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 32,
+         [MESA_SHADER_TESS_EVAL] = 10,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 512,
+         [MESA_SHADER_TESS_CTRL] = 32,
+         [MESA_SHADER_TESS_EVAL] = 288,
+         [MESA_SHADER_GEOMETRY]  = 192,
+      },
    },
 };
 
@@ -192,12 +213,16 @@ static const struct gen_device_info gen_device_info_hsw_gt1 = {
    .max_cs_threads = 70,
    .urb = {
       .size = 128,
-      .min_vs_entries = 32,
-      .max_vs_entries = 640,
-      .max_tcs_entries = 64,
-      .min_ds_entries = 10,
-      .max_tes_entries = 384,
-      .max_gs_entries = 256,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 32,
+         [MESA_SHADER_TESS_EVAL] = 10,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 640,
+         [MESA_SHADER_TESS_CTRL] = 64,
+         [MESA_SHADER_TESS_EVAL] = 384,
+         [MESA_SHADER_GEOMETRY]  = 256,
+      },
    },
 };
 
@@ -212,12 +237,16 @@ static const struct gen_device_info gen_device_info_hsw_gt2 = {
    .max_cs_threads = 70,
    .urb = {
       .size = 256,
-      .min_vs_entries = 64,
-      .max_vs_entries = 1664,
-      .max_tcs_entries = 128,
-      .min_ds_entries = 10,
-      .max_tes_entries = 960,
-      .max_gs_entries = 640,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 64,
+         [MESA_SHADER_TESS_EVAL] = 10,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 1664,
+         [MESA_SHADER_TESS_CTRL] = 128,
+         [MESA_SHADER_TESS_EVAL] = 960,
+         [MESA_SHADER_GEOMETRY]  = 640,
+      },
    },
 };
 
@@ -232,12 +261,16 @@ static const struct gen_device_info gen_device_info_hsw_gt3 = {
    .max_cs_threads = 70,
    .urb = {
       .size = 512,
-      .min_vs_entries = 64,
-      .max_vs_entries = 1664,
-      .max_tcs_entries = 128,
-      .min_ds_entries = 10,
-      .max_tes_entries = 960,
-      .max_gs_entries = 640,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 64,
+         [MESA_SHADER_TESS_EVAL] = 10,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 1664,
+         [MESA_SHADER_TESS_CTRL] = 128,
+         [MESA_SHADER_TESS_EVAL] = 960,
+         [MESA_SHADER_GEOMETRY]  = 640,
+      },
    },
 };
 
@@ -262,12 +295,16 @@ static const struct gen_device_info gen_device_info_bdw_gt1 = {
    .max_cs_threads = 42,
    .urb = {
       .size = 192,
-      .min_vs_entries = 64,
-      .max_vs_entries = 2560,
-      .max_tcs_entries = 504,
-      .min_ds_entries = 34,
-      .max_tes_entries = 1536,
-      .max_gs_entries = 960,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 64,
+         [MESA_SHADER_TESS_EVAL] = 34,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 2560,
+         [MESA_SHADER_TESS_CTRL] = 504,
+         [MESA_SHADER_TESS_EVAL] = 1536,
+         [MESA_SHADER_GEOMETRY]  = 960,
+      },
    }
 };
 
@@ -277,12 +314,16 @@ static const struct gen_device_info gen_device_info_bdw_gt2 = {
    .max_cs_threads = 56,
    .urb = {
       .size = 384,
-      .min_vs_entries = 64,
-      .max_vs_entries = 2560,
-      .max_tcs_entries = 504,
-      .min_ds_entries = 34,
-      .max_tes_entries = 1536,
-      .max_gs_entries = 960,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 64,
+         [MESA_SHADER_TESS_EVAL] = 34,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 2560,
+         [MESA_SHADER_TESS_CTRL] = 504,
+         [MESA_SHADER_TESS_EVAL] = 1536,
+         [MESA_SHADER_GEOMETRY]  = 960,
+      },
    }
 };
 
@@ -292,12 +333,16 @@ static const struct gen_device_info gen_device_info_bdw_gt3 = {
    .max_cs_threads = 56,
    .urb = {
       .size = 384,
-      .min_vs_entries = 64,
-      .max_vs_entries = 2560,
-      .max_tcs_entries = 504,
-      .min_ds_entries = 34,
-      .max_tes_entries = 1536,
-      .max_gs_entries = 960,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 64,
+         [MESA_SHADER_TESS_EVAL] = 34,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 2560,
+         [MESA_SHADER_TESS_CTRL] = 504,
+         [MESA_SHADER_TESS_EVAL] = 1536,
+         [MESA_SHADER_GEOMETRY]  = 960,
+      },
    }
 };
 
@@ -313,12 +358,16 @@ static const struct gen_device_info gen_device_info_chv = {
    .max_cs_threads = 6 * 7,
    .urb = {
       .size = 192,
-      .min_vs_entries = 34,
-      .max_vs_entries = 640,
-      .max_tcs_entries = 80,
-      .min_ds_entries = 34,
-      .max_tes_entries = 384,
-      .max_gs_entries = 256,
+      .min_entries = {
+         [MESA_SHADER_VERTEX]    = 34,
+         [MESA_SHADER_TESS_EVAL] = 34,
+      },
+      .max_entries = {
+         [MESA_SHADER_VERTEX]    = 640,
+         [MESA_SHADER_TESS_CTRL] = 80,
+         [MESA_SHADER_TESS_EVAL] = 384,
+         [MESA_SHADER_GEOMETRY]  = 256,
+      },
    }
 };
 
@@ -338,12 +387,16 @@ static const struct gen_device_info gen_device_info_chv = {
    .max_cs_threads = 56,                            \
    .urb = {                                         \
       .size = 384,                                  \
-      .min_vs_entries = 64,                         \
-      .max_vs_entries = 1856,                       \
-      .max_tcs_entries = 672,                       \
-      .min_ds_entries = 34,                         \
-      .max_tes_entries = 1120,                      \
-      .max_gs_entries = 640,                        \
+      .min_entries = {                              \
+         [MESA_SHADER_VERTEX]    = 64,              \
+         [MESA_SHADER_TESS_EVAL] = 34,              \
+      },                                            \
+      .max_entries = {                              \
+         [MESA_SHADER_VERTEX]    = 1856,            \
+         [MESA_SHADER_TESS_CTRL] = 672,             \
+         [MESA_SHADER_TESS_EVAL] = 1120,            \
+         [MESA_SHADER_GEOMETRY]  = 640,             \
+      },                                            \
    }
 
 #define GEN9_LP_FEATURES                           \
@@ -359,12 +412,16 @@ static const struct gen_device_info gen_device_info_chv = {
    .max_cs_threads = 6 * 6,                        \
    .urb = {                                        \
       .size = 192,                                 \
-      .min_vs_entries = 34,                        \
-      .min_ds_entries = 34,                        \
-      .max_vs_entries = 704,                       \
-      .max_tcs_entries = 256,                      \
-      .max_tes_entries = 416,                      \
-      .max_gs_entries = 256,                       \
+      .min_entries = {                             \
+         [MESA_SHADER_VERTEX]    = 34,             \
+         [MESA_SHADER_TESS_EVAL] = 34,             \
+      },                                           \
+      .max_entries = {                             \
+         [MESA_SHADER_VERTEX]    = 704,            \
+         [MESA_SHADER_TESS_CTRL] = 256,            \
+         [MESA_SHADER_TESS_EVAL] = 416,            \
+         [MESA_SHADER_GEOMETRY]  = 256,            \
+      },                                           \
    }
 
 #define GEN9_LP_FEATURES_2X6                       \
@@ -376,12 +433,16 @@ static const struct gen_device_info gen_device_info_chv = {
    .max_cs_threads = 6 * 6,                        \
    .urb = {                                        \
       .size = 128,                                 \
-      .min_vs_entries = 34,                        \
-      .min_ds_entries = 34,                        \
-      .max_vs_entries = 352,                       \
-      .max_tcs_entries = 128,                      \
-      .max_tes_entries = 208,                      \
-      .max_gs_entries = 128,                       \
+      .min_entries = {                             \
+         [MESA_SHADER_VERTEX]    = 34,             \
+         [MESA_SHADER_TESS_EVAL] = 34,             \
+      },                                           \
+      .max_entries = {                             \
+         [MESA_SHADER_VERTEX]    = 352,            \
+         [MESA_SHADER_TESS_CTRL] = 128,            \
+         [MESA_SHADER_TESS_EVAL] = 208,            \
+         [MESA_SHADER_GEOMETRY]  = 128,            \
+      },                                           \
    }
 
 static const struct gen_device_info gen_device_info_skl_gt1 = {
@@ -428,6 +489,7 @@ static const struct gen_device_info gen_device_info_bxt_2x6 = {
 
 static const struct gen_device_info gen_device_info_kbl_gt1 = {
    GEN9_FEATURES,
+   .is_kabylake = true,
    .gt = 1,
 
    .max_cs_threads = 7 * 6,
@@ -437,6 +499,7 @@ static const struct gen_device_info gen_device_info_kbl_gt1 = {
 
 static const struct gen_device_info gen_device_info_kbl_gt1_5 = {
    GEN9_FEATURES,
+   .is_kabylake = true,
    .gt = 1,
 
    .max_cs_threads = 7 * 6,
@@ -445,6 +508,7 @@ static const struct gen_device_info gen_device_info_kbl_gt1_5 = {
 
 static const struct gen_device_info gen_device_info_kbl_gt2 = {
    GEN9_FEATURES,
+   .is_kabylake = true,
    .gt = 2,
 
    .num_slices = 1,
@@ -452,6 +516,7 @@ static const struct gen_device_info gen_device_info_kbl_gt2 = {
 
 static const struct gen_device_info gen_device_info_kbl_gt3 = {
    GEN9_FEATURES,
+   .is_kabylake = true,
    .gt = 3,
 
    .num_slices = 2,
@@ -459,6 +524,7 @@ static const struct gen_device_info gen_device_info_kbl_gt3 = {
 
 static const struct gen_device_info gen_device_info_kbl_gt4 = {
    GEN9_FEATURES,
+   .is_kabylake = true,
    .gt = 4,
 
    /*