DRI2: Make setTexBuffer take a __DRIdrawable instead of a BO handle.
authorKristian Høgsberg <krh@sasori.boston.redhat.com>
Mon, 10 Mar 2008 01:28:04 +0000 (21:28 -0400)
committerKristian Høgsberg <krh@sasori.boston.redhat.com>
Mon, 10 Mar 2008 01:28:04 +0000 (21:28 -0400)
commitdcbe215c015c8dc48440f578023c2b9d12b934e4
treeff2196f4e814c36ec23cbaf1a94bac152a8acdf7
parent180b41594c669574355b54ceb2c2ff96889bf336
DRI2: Make setTexBuffer take a __DRIdrawable instead of a BO handle.

This fixes a problem where texturing from the same Pixmap more than
once per batchbuffer would hang the DRI driver.  We just use the region
associated with the front left renderbuffer of the __DRIdrawable for
texturing, which avoids creating different regions for the same BO.

This change also make GLX_EXT_texture_from_pixmap work for direct
rendering, since tracking the __DRIdrawable -> BO handle now uses
the standard DRI2 event buffer.  Of course, DRI2 direct rendering
doesn't exist yet.

Finally, this commit bumps the DRI interface version again, accounting
for the change in the DRI_TEX_BUFFER extension and the change in
commit 0bba0e5be7a4a7275dad1edc34bdcc134ea1f424 to pass in the
event buffer head index on drawable creation.
include/GL/internal/dri_interface.h
src/mesa/drivers/dri/intel/intel_tex.h
src/mesa/drivers/dri/intel/intel_tex_image.c