i965/cnl: Handle gen10 in switch cases across the driver
authorAnuj Phogat <anuj.phogat@gmail.com>
Tue, 16 May 2017 17:15:17 +0000 (10:15 -0700)
committerAnuj Phogat <anuj.phogat@gmail.com>
Fri, 9 Jun 2017 23:02:59 +0000 (16:02 -0700)
V2: Start using gen10 functions isl_gen10*(), gen10_blorp_exec()
    gen10_init_atoms() (Jason)
    Remove Vulkan changes. Do them later in a separate patch.

Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/intel/common/gen_l3_config.c
src/intel/compiler/brw_eu.c
src/intel/compiler/brw_eu_compact.c
src/intel/isl/isl.c
src/mesa/drivers/dri/i965/brw_blorp.c
src/mesa/drivers/dri/i965/brw_formatquery.c
src/mesa/drivers/dri/i965/brw_state_upload.c
src/mesa/drivers/dri/i965/intel_screen.c

index 2520838e7d9c455a120e1df87e6d3e32729ee0f0..ae31d08bdf384481be5177c45393a436c66ccf12 100644 (file)
@@ -116,6 +116,7 @@ get_l3_configs(const struct gen_device_info *devinfo)
       return (devinfo->is_cherryview ? chv_l3_configs : bdw_l3_configs);
 
    case 9:
+   case 10:
       return chv_l3_configs;
 
    default:
index f5202a05ebe2d54b3830870a4afd33449c41863d..0ef52e219cadd7bc720e79fbfd71bad6155e5d6b 100644 (file)
@@ -412,6 +412,7 @@ enum gen {
    GEN75 = (1 << 5),
    GEN8  = (1 << 6),
    GEN9  = (1 << 7),
+   GEN10  = (1 << 8),
    GEN_ALL = ~0
 };
 
@@ -688,6 +689,7 @@ gen_from_devinfo(const struct gen_device_info *devinfo)
    case 7: return devinfo->is_haswell ? GEN75 : GEN7;
    case 8: return GEN8;
    case 9: return GEN9;
+   case 10: return GEN10;
    default:
       unreachable("not reached");
    }
index b2af76d533ad47a5bd0bbcd937ac67186f0df67c..740a395f786b3ccb05ee47b48fa5e96290d5507b 100644 (file)
@@ -1362,6 +1362,7 @@ brw_init_compaction_tables(const struct gen_device_info *devinfo)
    assert(gen8_src_index_table[ARRAY_SIZE(gen8_src_index_table) - 1] != 0);
 
    switch (devinfo->gen) {
+   case 10:
    case 9:
    case 8:
       control_index_table = gen8_control_index_table;
index 60a594394b91486374438013aa5b96def9e09c86..860fc28b274f2653ce4529fefd4fd0340c2692e3 100644 (file)
@@ -1778,6 +1778,9 @@ isl_surf_fill_state_s(const struct isl_device *dev, void *state,
    case 9:
       isl_gen9_surf_fill_state_s(dev, state, info);
       break;
+   case 10:
+      isl_gen10_surf_fill_state_s(dev, state, info);
+      break;
    default:
       assert(!"Cannot fill surface state for this gen");
    }
@@ -1809,6 +1812,9 @@ isl_buffer_fill_state_s(const struct isl_device *dev, void *state,
    case 9:
       isl_gen9_buffer_fill_state_s(state, info);
       break;
+   case 10:
+      isl_gen10_buffer_fill_state_s(state, info);
+      break;
    default:
       assert(!"Cannot fill surface state for this gen");
    }
@@ -1876,6 +1882,9 @@ isl_emit_depth_stencil_hiz_s(const struct isl_device *dev, void *batch,
    case 9:
       isl_gen9_emit_depth_stencil_hiz_s(dev, batch, info);
       break;
+   case 10:
+      isl_gen10_emit_depth_stencil_hiz_s(dev, batch, info);
+      break;
    default:
       assert(!"Cannot fill surface state for this gen");
    }
index d14050c3334fbeb8cc30b244c3410d91eda46076..70aecfba19b9969714c82c4d1cac0cf3317c25ca 100644 (file)
@@ -109,6 +109,12 @@ brw_blorp_init(struct brw_context *brw)
       brw->blorp.mocs.vb = SKL_MOCS_WB;
       brw->blorp.exec = gen9_blorp_exec;
       break;
+   case 10:
+      brw->blorp.mocs.tex = SKL_MOCS_WB;
+      brw->blorp.mocs.rb = SKL_MOCS_PTE;
+      brw->blorp.mocs.vb = SKL_MOCS_WB;
+      brw->blorp.exec = gen10_blorp_exec;
+      break;
    default:
       unreachable("Invalid gen");
    }
index 96cc6e04ee7c8076c9921a218596a4a90255333d..5faf91fa9e7762dbb7995689b38d081708eb227e 100644 (file)
@@ -37,6 +37,7 @@ brw_query_samples_for_format(struct gl_context *ctx, GLenum target,
    (void) internalFormat;
 
    switch (brw->gen) {
+   case 10:
    case 9:
       samples[0] = 16;
       samples[1] = 8;
index 4647f1c41e01267c38611dab8bc27c072a7530a3..9a858e64a2e3ae9139757e2882378554c4eec91b 100644 (file)
@@ -136,7 +136,9 @@ void brw_init_state( struct brw_context *brw )
 
    brw_init_caches(brw);
 
-   if (brw->gen >= 9)
+   if (brw->gen >= 10)
+      gen10_init_atoms(brw);
+   else if (brw->gen >= 9)
       gen9_init_atoms(brw);
    else if (brw->gen >= 8)
       gen8_init_atoms(brw);
index 1c46f8e742d993fd5b648794249a3620f77b9511..fec4feabaff11159d5ed76c310839525eb84b9b0 100644 (file)
@@ -1852,6 +1852,7 @@ set_max_gl_versions(struct intel_screen *screen)
    const bool has_astc = screen->devinfo.gen >= 9;
 
    switch (screen->devinfo.gen) {
+   case 10:
    case 9:
    case 8:
       dri_screen->max_gl_core_version = 45;