<!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>