Exemplo n.º 1
0
bool
intel_driver_init(VADriverContextP ctx)
{
    struct intel_driver_data *intel = intel_driver_data(ctx);
    struct drm_state * const drm_state = (struct drm_state *)ctx->drm_state;
    int has_exec2 = 0, has_bsd = 0, has_blt = 0, has_vebox = 0;
    char *env_str = NULL;

    g_intel_debug_option_flags = 0;
//    if ((env_str = getenv("VA_INTEL_DEBUG")))
//        g_intel_debug_option_flags = atoi(env_str);

//    if (g_intel_debug_option_flags)
//        fprintf(stderr, "g_intel_debug_option_flags:%x\n", g_intel_debug_option_flags);

    assert(drm_state);

    intel->fd = drm_state->fd;
    intel->dri2Enabled = 1;

    intel->locked = 0;
//    pthread_mutex_init(&intel->ctxmutex, NULL);

    intel_driver_get_param(intel, I915_PARAM_CHIPSET_ID, &intel->device_id);
    intel->device_info = i965_get_device_info(intel->device_id);

    if (!intel->device_info)
        return false;

    if (intel_driver_get_param(intel, I915_PARAM_HAS_EXECBUF2, &has_exec2))
        intel->has_exec2 = has_exec2;
    if (intel_driver_get_param(intel, I915_PARAM_HAS_BSD, &has_bsd))
        intel->has_bsd = has_bsd;
    if (intel_driver_get_param(intel, I915_PARAM_HAS_BLT, &has_blt))
        intel->has_blt = has_blt;
    if (intel_driver_get_param(intel, I915_PARAM_HAS_VEBOX, &has_vebox))
        intel->has_vebox = !!has_vebox;

    intel_driver_get_revid(intel, &intel->revision);
    intel_memman_init(intel);
    return true;
}
Exemplo n.º 2
0
static void 
intel_driver_init(intel_driver_t *driver, int dev_fd)
{
  driver->fd = dev_fd;
  driver->locked = 0;
  pthread_mutex_init(&driver->ctxmutex, NULL);
#ifndef NDEBUG
  int res =
#endif /* NDEBUG */
  intel_driver_get_param(driver, I915_PARAM_CHIPSET_ID, &driver->device_id);
  assert(res);
  intel_driver_memman_init(driver);

#if EMULATE_GEN
  driver->gen_ver = EMULATE_GEN;
  if (EMULATE_GEN == 75)
    driver->device_id = PCI_CHIP_HASWELL_L;       /* we pick L for HSW */
  else if (EMULATE_GEN == 7)
    driver->device_id = PCI_CHIP_IVYBRIDGE_GT2; /* we pick GT2 for IVB */
  else if (EMULATE_GEN == 6)
    driver->device_id = PCI_CHIP_SANDYBRIDGE_GT2; /* we pick GT2 for SNB */
  else
    FATAL ("Unsupported Gen for emulation");
#else
  if (IS_GEN75(driver->device_id))
    driver->gen_ver = 75;
  else if (IS_GEN7(driver->device_id))
    driver->gen_ver = 7;
  else if (IS_GEN6(driver->device_id))
    driver->gen_ver = 6;
  else if(IS_IGDNG(driver->device_id))
    driver->gen_ver = 5;
  else
    driver->gen_ver = 4;
#endif /* EMULATE_GEN */
}