On 13/02/14 02:47, Emil Velikov wrote: > On 13/02/14 02:34, Ilia Mirkin wrote: >> On Wed, Feb 12, 2014 at 8:17 PM, Emil Velikov <emil.l.veli...@gmail.com> >> wrote: >>> ... over the version number provided by the headers. >>> Explicitly set extension members to improve clarity. >> >> So... the current value is 2, but I see code that does >> >> src/egl/drivers/dri2/egl_dri2.c:#if __DRI_TEX_BUFFER_VERSION >= 3 >> src/glx/dri2_glx.c:#if __DRI_TEX_BUFFER_VERSION >= 3 >> src/glx/drisw_glx.c:#if __DRI_TEX_BUFFER_VERSION >= 3 >> >> What's that all about? >> > Chaos wrt documentation and keeping up with it. > > Until git log churns this is the only reasonable thing that I can think of: > > - releaseTexBuffer was added with version 3 in mind. > - no driver implemented the function > - the version was never bumped or reverted. > Looks like cvs (or whatever was used back in 2009) failure :\
Eric introduced v2 with commit 66175aac760, bumping the version 1>2 Ian made an update with commit 82634ee8df7, bumping the version 1>2 I'll update the header but I'll keep version 2 everywhere (dropping the null member). -Emil > -Emil > >>> >>> Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com> >>> --- >>> src/mesa/drivers/dri/i915/intel_screen.c | 2 +- >>> src/mesa/drivers/dri/i965/intel_screen.c | 2 +- >>> src/mesa/drivers/dri/nouveau/nouveau_screen.c | 8 +++++--- >>> src/mesa/drivers/dri/radeon/radeon_screen.c | 16 ++++++++++------ >>> src/mesa/drivers/dri/swrast/swrast.c | 8 +++++--- >>> 5 files changed, 22 insertions(+), 14 deletions(-) >>> >>> diff --git a/src/mesa/drivers/dri/i915/intel_screen.c >>> b/src/mesa/drivers/dri/i915/intel_screen.c >>> index 296df16..68ad2b7 100644 >>> --- a/src/mesa/drivers/dri/i915/intel_screen.c >>> +++ b/src/mesa/drivers/dri/i915/intel_screen.c >>> @@ -146,7 +146,7 @@ aub_dump_bmp(struct gl_context *ctx) >>> } >>> >>> static const __DRItexBufferExtension intelTexBufferExtension = { >>> - .base = { __DRI_TEX_BUFFER, __DRI_TEX_BUFFER_VERSION }, >>> + .base = { __DRI_TEX_BUFFER, 2 }, >>> >>> .setTexBuffer = intelSetTexBuffer, >>> .setTexBuffer2 = intelSetTexBuffer2, >>> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c >>> b/src/mesa/drivers/dri/i965/intel_screen.c >>> index acdb5f3..c7b6c92 100644 >>> --- a/src/mesa/drivers/dri/i965/intel_screen.c >>> +++ b/src/mesa/drivers/dri/i965/intel_screen.c >>> @@ -157,7 +157,7 @@ aub_dump_bmp(struct gl_context *ctx) >>> } >>> >>> static const __DRItexBufferExtension intelTexBufferExtension = { >>> - .base = { __DRI_TEX_BUFFER, __DRI_TEX_BUFFER_VERSION }, >>> + .base = { __DRI_TEX_BUFFER, 2 }, >>> >>> .setTexBuffer = intelSetTexBuffer, >>> .setTexBuffer2 = intelSetTexBuffer2, >>> diff --git a/src/mesa/drivers/dri/nouveau/nouveau_screen.c >>> b/src/mesa/drivers/dri/nouveau/nouveau_screen.c >>> index a381064..3c85918 100644 >>> --- a/src/mesa/drivers/dri/nouveau/nouveau_screen.c >>> +++ b/src/mesa/drivers/dri/nouveau/nouveau_screen.c >>> @@ -233,9 +233,11 @@ static const struct __DRI2flushExtensionRec >>> nouveau_flush_extension = { >>> }; >>> >>> static const struct __DRItexBufferExtensionRec nouveau_texbuffer_extension >>> = { >>> - { __DRI_TEX_BUFFER, __DRI_TEX_BUFFER_VERSION }, >>> - NULL, >>> - nouveau_set_texbuffer, >>> + .base = { __DRI_TEX_BUFFER, 2 }, >>> + >>> + .setTexBuffer = NULL, >>> + .setTexBuffer2 = nouveau_set_texbuffer, >>> + .releaseTexBuffer = NULL, >>> }; >>> >>> static const __DRIextension *nouveau_screen_extensions[] = { >>> diff --git a/src/mesa/drivers/dri/radeon/radeon_screen.c >>> b/src/mesa/drivers/dri/radeon/radeon_screen.c >>> index 57e866e..8d6840f 100644 >>> --- a/src/mesa/drivers/dri/radeon/radeon_screen.c >>> +++ b/src/mesa/drivers/dri/radeon/radeon_screen.c >>> @@ -170,15 +170,19 @@ radeonGetParam(__DRIscreen *sPriv, int param, void >>> *value) >>> >>> #if defined(RADEON_R100) >>> static const __DRItexBufferExtension radeonTexBufferExtension = { >>> - { __DRI_TEX_BUFFER, __DRI_TEX_BUFFER_VERSION }, >>> - radeonSetTexBuffer, >>> - radeonSetTexBuffer2, >>> + .base = { __DRI_TEX_BUFFER, 2 }, >>> + >>> + .setTexBuffer = radeonSetTexBuffer, >>> + .setTexBuffer2 = radeonSetTexBuffer2, >>> + .releaseTexBuffer = NULL, >>> }; >>> #elif defined(RADEON_R200) >>> static const __DRItexBufferExtension r200TexBufferExtension = { >>> - { __DRI_TEX_BUFFER, __DRI_TEX_BUFFER_VERSION }, >>> - r200SetTexBuffer, >>> - r200SetTexBuffer2, >>> + .base = { __DRI_TEX_BUFFER, 2 }, >>> + >>> + .setTexBuffer = r200SetTexBuffer, >>> + .setTexBuffer2 = r200SetTexBuffer2, >>> + .releaseTexBuffer = NULL, >>> }; >>> #endif >>> >>> diff --git a/src/mesa/drivers/dri/swrast/swrast.c >>> b/src/mesa/drivers/dri/swrast/swrast.c >>> index 071192c..826ee92 100644 >>> --- a/src/mesa/drivers/dri/swrast/swrast.c >>> +++ b/src/mesa/drivers/dri/swrast/swrast.c >>> @@ -110,9 +110,11 @@ static void swrastSetTexBuffer(__DRIcontext *pDRICtx, >>> GLint target, >>> } >>> >>> static const __DRItexBufferExtension swrastTexBufferExtension = { >>> - { __DRI_TEX_BUFFER, __DRI_TEX_BUFFER_VERSION }, >>> - swrastSetTexBuffer, >>> - swrastSetTexBuffer2, >>> + .base = { __DRI_TEX_BUFFER, 2 }, >>> + >>> + .setTexBuffer = swrastSetTexBuffer, >>> + .setTexBuffer2 = swrastSetTexBuffer2, >>> + .releaseTexBuffer = NULL, >>> }; >>> >>> static const __DRIextension *dri_screen_extensions[] = { >>> -- >>> 1.8.5.4 >>> >>> _______________________________________________ >>> mesa-dev mailing list >>> mesa-dev@lists.freedesktop.org >>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev