diff --git a/src/i915_pciids.h b/src/i915_pciids.h index 33466bfc..e1f46bb7 100644 --- a/src/i915_pciids.h +++ b/src/i915_pciids.h @@ -336,4 +336,8 @@ INTEL_KBL_GT3_IDS(info), \ INTEL_KBL_GT4_IDS(info) +#define INTEL_GLK_IDS(info) \ + INTEL_VGA_DEVICE(0x3184, info), \ + INTEL_VGA_DEVICE(0x3185, info) + #endif /* _I915_PCIIDS_H */ diff --git a/src/intel_module.c b/src/intel_module.c index e443c9e9..68ec9fe3 100644 --- a/src/intel_module.c +++ b/src/intel_module.c @@ -134,6 +134,10 @@ static const struct intel_device_info intel_kabylake_info = { .gen = 0112, }; +static const struct intel_device_info intel_geminilake_info = { + .gen = 0113, +}; + static const SymTabRec intel_chipsets[] = { {PCI_CHIP_I810, "i810"}, {PCI_CHIP_I810_DC100, "i810-dc100"}, @@ -335,6 +339,8 @@ static const struct pci_id_match intel_device_match[] = { INTEL_KBL_IDS(&intel_kabylake_info), + INTEL_GLK_IDS(&intel_geminilake_info), + INTEL_VGA_DEVICE(PCI_MATCH_ANY, &intel_generic_info), #endif diff --git a/src/sna/gen9_render.c b/src/sna/gen9_render.c index 5f6b5428..e5f12c72 100644 --- a/src/sna/gen9_render.c +++ b/src/sna/gen9_render.c @@ -240,6 +240,11 @@ static const struct gt_info kbl_gt_info = { .urb = { .max_vs_entries = 960 }, }; +static const struct gt_info glk_gt_info = { + .name = "Geminilake (gen9)", + .urb = { .max_vs_entries = 320 }, +}; + static bool is_skl(struct sna *sna) { return sna->kgem.gen == 0110; @@ -255,6 +260,11 @@ static bool is_kbl(struct sna *sna) return sna->kgem.gen == 0112; } +static bool is_glk(struct sna *sna) +{ + return sna->kgem.gen == 0113; +} + static inline bool too_large(int width, int height) { @@ -4028,6 +4038,8 @@ static bool gen9_render_setup(struct sna *sna) state->info = &bxt_gt_info; if (is_kbl(sna)) state->info = &kbl_gt_info; + if (is_glk(sna)) + state->info = &glk_gt_info; sna_static_stream_init(&general);