Reduce the versioning madness required to create a DRI2 screen.
authorKristian Høgsberg <krh@redhat.com>
Tue, 26 Feb 2008 04:37:23 +0000 (23:37 -0500)
committerKristian Høgsberg <krh@redhat.com>
Fri, 29 Feb 2008 20:05:39 +0000 (15:05 -0500)
commit16242a8007f41ab63f9a28bb9a750857c8cdb8af
treeef4dc590c76a1bb22bc99eae6da5910d9a20d1fb
parent5197a31b8e64a047d058c4cb174efb9c8b816652
Reduce the versioning madness required to create a DRI2 screen.

Right now the DRI2 screen constructor takes 3 different versions:
DRI, DDX and DRM.  This is mostly useless, though:

  DRI: The DRI driver doesn't actually care about the DRI protocol,
  it only talks to the loader, which in turn speaks DRI protocol.  Thus,
  the DRI protocol version is of not interest to the DRI driver, but it
  needs to know what functionality the loader provides.  At this point
  that's reflected in the __DRIinterfaceMethods struct and the
  internal_version integer.

  DDX: The DDX version number is essentially used to track extensions
  to the SAREA.  With DRI2 the SAREA consists of a number of versioned,
  self-describing blocks, so the DDX version is no longer interesting.

  DRM: We have the fd, lets just ask the kernel ourselves.
include/GL/internal/dri_interface.h
src/mesa/drivers/dri/common/dri_util.c
src/mesa/drivers/dri/intel/intel_context.c
src/mesa/drivers/dri/intel/intel_screen.c