<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Julien Cristau wrote:
<blockquote cite="mid:20090601084031.GF5715@radis.liafa.jussieu.fr"
 type="cite">
  <pre wrap="">On Mon, Jun  1, 2009 at 11:22:19 +0800, Shuang He wrote:

  </pre>
  <blockquote type="cite">
    <pre wrap="">According to GLX_EXT_texture_from_pixmap spec, "The storage for the GLX pixmap will be freed when it is not current to any client and all color buffers that are bound to a texture object have been released."
---
 include/GL/internal/dri_interface.h          |    8 +++++
 src/glx/x11/glxcmds.c                        |   18 ++++++++++-
 src/mesa/drivers/dri/intel/intel_screen.c    |    2 +
 src/mesa/drivers/dri/intel/intel_tex.h       |    7 ++++
 src/mesa/drivers/dri/intel/intel_tex_image.c |   42 ++++++++++++++++++++++++++
 5 files changed, 76 insertions(+), 1 deletions(-)

diff --git a/include/GL/internal/dri_interface.h b/include/GL/internal/dri_interface.h
index 910c916..e4cb308 100644
--- a/include/GL/internal/dri_interface.h
+++ b/include/GL/internal/dri_interface.h
@@ -245,6 +245,10 @@ struct __DRItexBufferExtensionRec {
     void (*setTexBuffer)(__DRIcontext *pDRICtx,
                         GLint target,
                         __DRIdrawable *pDraw);
+    void (*unsetTexBuffer)(__DRIcontext *pDRICtx,
+                        GLint target,
+                        __DRIdrawable *pDraw);
+
 
    </pre>
  </blockquote>
  <pre wrap=""><!---->Adding this in the middle of the struct looks like it breaks binary
compat.  I think what you want is to add one unsetTexBuffer hook at the
end, and bump the interface version to 3, no?
  </pre>
</blockquote>
Thanks Julien<span class="moz-smiley-s1"><span> :-) </span></span>.
I'm updating the patch, will send out later again.<br>
<br>
Thanks<br>
    --Shuang<br>
<blockquote cite="mid:20090601084031.GF5715@radis.liafa.jussieu.fr"
 type="cite">
  <pre wrap="">
  </pre>
  <blockquote type="cite">
    <pre wrap="">     /**
      * Method to override base texture image with the contents of a
@@ -256,6 +260,10 @@ struct __DRItexBufferExtensionRec {
                          GLint target,
                          GLint format,
                          __DRIdrawable *pDraw);
+    void (*unsetTexBuffer2)(__DRIcontext *pDRICtx,
+                         GLint target,
+                         __DRIdrawable *pDraw);
+
 };
 
 /**
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Cheers,
Julien
  </pre>
</blockquote>
<br>
</body>
</html>