Re: [Mesa-dev] [PATCH 3/4] st/mesa: add support for ARB_texture_multisample

2013-04-08 Thread Ian Romanick

On 04/06/2013 03:05 AM, Dave Airlie wrote:

From: Dave Airlie airl...@redhat.com

This adds support to the mesa state tracker for ARB_texture_multisample.

hardware doesn't seem to use a different texture instructions, so
I don't think we need to create one for TGSI at this time.

Thanks to Marek for fixes to sample number picking.

Reviewed-by: Marek Olšák mar...@gmail.com
Signed-off-by: Dave Airlie airl...@redhat.com
---
  src/mesa/state_tracker/st_atom_framebuffer.c |  1 +
  src/mesa/state_tracker/st_atom_msaa.c|  2 ++
  src/mesa/state_tracker/st_cb_bitmap.c|  4 +--
  src/mesa/state_tracker/st_cb_drawpixels.c|  2 +-
  src/mesa/state_tracker/st_cb_fbo.c   |  2 +-
  src/mesa/state_tracker/st_cb_texture.c   | 41 
  src/mesa/state_tracker/st_extensions.c   |  6 +++-
  src/mesa/state_tracker/st_gen_mipmap.c   |  1 +
  src/mesa/state_tracker/st_glsl_to_tgsi.cpp   | 17 ++--
  src/mesa/state_tracker/st_mesa_to_tgsi.c |  2 ++
  src/mesa/state_tracker/st_texture.c  |  8 +-
  src/mesa/state_tracker/st_texture.h  |  1 +
  12 files changed, 72 insertions(+), 15 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_framebuffer.c 
b/src/mesa/state_tracker/st_atom_framebuffer.c
index 3df8691..c752640 100644
--- a/src/mesa/state_tracker/st_atom_framebuffer.c
+++ b/src/mesa/state_tracker/st_atom_framebuffer.c
@@ -59,6 +59,7 @@ update_renderbuffer_surface(struct st_context *st,
 enum pipe_format format = st-ctx-Color.sRGBEnabled ? resource-format : 
util_format_linear(resource-format);

 if (!strb-surface ||
+   strb-surface-texture-nr_samples != strb-Base.NumSamples ||
 strb-surface-format != format ||
 strb-surface-texture != resource ||
 strb-surface-width != rtt_width ||
diff --git a/src/mesa/state_tracker/st_atom_msaa.c 
b/src/mesa/state_tracker/st_atom_msaa.c
index 9baa4fc..b749a17 100644
--- a/src/mesa/state_tracker/st_atom_msaa.c
+++ b/src/mesa/state_tracker/st_atom_msaa.c
@@ -63,6 +63,8 @@ static void update_sample_mask( struct st_context *st )
  sample_mask = ~sample_mask;
}
/* TODO merge with app-supplied sample mask */
+  if (st-ctx-Multisample.SampleMask)
+ sample_mask = st-ctx-Multisample.SampleMaskValue;
 }

 /* mask off unused bits or don't care? */
diff --git a/src/mesa/state_tracker/st_cb_bitmap.c 
b/src/mesa/state_tracker/st_cb_bitmap.c
index 0513814..ee66ab3 100644
--- a/src/mesa/state_tracker/st_cb_bitmap.c
+++ b/src/mesa/state_tracker/st_cb_bitmap.c
@@ -299,7 +299,7 @@ make_bitmap_texture(struct gl_context *ctx, GLsizei width, 
GLsizei height,
  * Create texture to hold bitmap pattern.
  */
 pt = st_texture_create(st, st-internal_target, st-bitmap.tex_format,
-  0, width, height, 1, 1,
+  0, width, height, 1, 1, 0,
PIPE_BIND_SAMPLER_VIEW);
 if (!pt) {
_mesa_unmap_pbo_source(ctx, unpack);
@@ -568,7 +568,7 @@ reset_cache(struct st_context *st)
 cache-texture = st_texture_create(st, PIPE_TEXTURE_2D,
st-bitmap.tex_format, 0,
BITMAP_CACHE_WIDTH, BITMAP_CACHE_HEIGHT,
-  1, 1,
+  1, 1, 0,
  PIPE_BIND_SAMPLER_VIEW);
  }

diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c 
b/src/mesa/state_tracker/st_cb_drawpixels.c
index b25b776..db2f03a 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -466,7 +466,7 @@ alloc_texture(struct st_context *st, GLsizei width, GLsizei 
height,
 struct pipe_resource *pt;

 pt = st_texture_create(st, st-internal_target, texFormat, 0,
-  width, height, 1, 1, PIPE_BIND_SAMPLER_VIEW);
+  width, height, 1, 1, 0, PIPE_BIND_SAMPLER_VIEW);

 return pt;
  }
diff --git a/src/mesa/state_tracker/st_cb_fbo.c 
b/src/mesa/state_tracker/st_cb_fbo.c
index 4452e52..127b123 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -433,7 +433,7 @@ st_render_texture(struct gl_context *ctx,
 strb-rtt_level = att-TextureLevel;
 strb-rtt_face = att-CubeMapFace;
 strb-rtt_slice = att-Zoffset;
-
+   rb-NumSamples = texImage-NumSamples;
 rb-Width = texImage-Width2;
 rb-Height = texImage-Height2;
 rb-_BaseFormat = texImage-_BaseFormat;
diff --git a/src/mesa/state_tracker/st_cb_texture.c 
b/src/mesa/state_tracker/st_cb_texture.c
index 0cd0d77..25ee352 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -78,6 +78,8 @@ gl_target_to_pipe(GLenum target)
 case GL_TEXTURE_2D:
 case GL_PROXY_TEXTURE_2D:
 case GL_TEXTURE_EXTERNAL_OES:
+   case GL_TEXTURE_2D_MULTISAMPLE:
+   case GL_PROXY_TEXTURE_2D_MULTISAMPLE:

[Mesa-dev] [PATCH 3/4] st/mesa: add support for ARB_texture_multisample

2013-04-06 Thread Dave Airlie
From: Dave Airlie airl...@redhat.com

This adds support to the mesa state tracker for ARB_texture_multisample.

hardware doesn't seem to use a different texture instructions, so
I don't think we need to create one for TGSI at this time.

Thanks to Marek for fixes to sample number picking.

Reviewed-by: Marek Olšák mar...@gmail.com
Signed-off-by: Dave Airlie airl...@redhat.com
---
 src/mesa/state_tracker/st_atom_framebuffer.c |  1 +
 src/mesa/state_tracker/st_atom_msaa.c|  2 ++
 src/mesa/state_tracker/st_cb_bitmap.c|  4 +--
 src/mesa/state_tracker/st_cb_drawpixels.c|  2 +-
 src/mesa/state_tracker/st_cb_fbo.c   |  2 +-
 src/mesa/state_tracker/st_cb_texture.c   | 41 
 src/mesa/state_tracker/st_extensions.c   |  6 +++-
 src/mesa/state_tracker/st_gen_mipmap.c   |  1 +
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp   | 17 ++--
 src/mesa/state_tracker/st_mesa_to_tgsi.c |  2 ++
 src/mesa/state_tracker/st_texture.c  |  8 +-
 src/mesa/state_tracker/st_texture.h  |  1 +
 12 files changed, 72 insertions(+), 15 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_framebuffer.c 
b/src/mesa/state_tracker/st_atom_framebuffer.c
index 3df8691..c752640 100644
--- a/src/mesa/state_tracker/st_atom_framebuffer.c
+++ b/src/mesa/state_tracker/st_atom_framebuffer.c
@@ -59,6 +59,7 @@ update_renderbuffer_surface(struct st_context *st,
enum pipe_format format = st-ctx-Color.sRGBEnabled ? resource-format : 
util_format_linear(resource-format);
 
if (!strb-surface ||
+   strb-surface-texture-nr_samples != strb-Base.NumSamples ||
strb-surface-format != format ||
strb-surface-texture != resource ||
strb-surface-width != rtt_width ||
diff --git a/src/mesa/state_tracker/st_atom_msaa.c 
b/src/mesa/state_tracker/st_atom_msaa.c
index 9baa4fc..b749a17 100644
--- a/src/mesa/state_tracker/st_atom_msaa.c
+++ b/src/mesa/state_tracker/st_atom_msaa.c
@@ -63,6 +63,8 @@ static void update_sample_mask( struct st_context *st )
 sample_mask = ~sample_mask;
   }
   /* TODO merge with app-supplied sample mask */
+  if (st-ctx-Multisample.SampleMask)
+ sample_mask = st-ctx-Multisample.SampleMaskValue;
}
 
/* mask off unused bits or don't care? */
diff --git a/src/mesa/state_tracker/st_cb_bitmap.c 
b/src/mesa/state_tracker/st_cb_bitmap.c
index 0513814..ee66ab3 100644
--- a/src/mesa/state_tracker/st_cb_bitmap.c
+++ b/src/mesa/state_tracker/st_cb_bitmap.c
@@ -299,7 +299,7 @@ make_bitmap_texture(struct gl_context *ctx, GLsizei width, 
GLsizei height,
 * Create texture to hold bitmap pattern.
 */
pt = st_texture_create(st, st-internal_target, st-bitmap.tex_format,
-  0, width, height, 1, 1,
+  0, width, height, 1, 1, 0,
   PIPE_BIND_SAMPLER_VIEW);
if (!pt) {
   _mesa_unmap_pbo_source(ctx, unpack);
@@ -568,7 +568,7 @@ reset_cache(struct st_context *st)
cache-texture = st_texture_create(st, PIPE_TEXTURE_2D,
   st-bitmap.tex_format, 0,
   BITMAP_CACHE_WIDTH, BITMAP_CACHE_HEIGHT,
-  1, 1,
+  1, 1, 0,
  PIPE_BIND_SAMPLER_VIEW);
 }
 
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c 
b/src/mesa/state_tracker/st_cb_drawpixels.c
index b25b776..db2f03a 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -466,7 +466,7 @@ alloc_texture(struct st_context *st, GLsizei width, GLsizei 
height,
struct pipe_resource *pt;
 
pt = st_texture_create(st, st-internal_target, texFormat, 0,
-  width, height, 1, 1, PIPE_BIND_SAMPLER_VIEW);
+  width, height, 1, 1, 0, PIPE_BIND_SAMPLER_VIEW);
 
return pt;
 }
diff --git a/src/mesa/state_tracker/st_cb_fbo.c 
b/src/mesa/state_tracker/st_cb_fbo.c
index 4452e52..127b123 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -433,7 +433,7 @@ st_render_texture(struct gl_context *ctx,
strb-rtt_level = att-TextureLevel;
strb-rtt_face = att-CubeMapFace;
strb-rtt_slice = att-Zoffset;
-
+   rb-NumSamples = texImage-NumSamples;
rb-Width = texImage-Width2;
rb-Height = texImage-Height2;
rb-_BaseFormat = texImage-_BaseFormat;
diff --git a/src/mesa/state_tracker/st_cb_texture.c 
b/src/mesa/state_tracker/st_cb_texture.c
index 0cd0d77..25ee352 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -78,6 +78,8 @@ gl_target_to_pipe(GLenum target)
case GL_TEXTURE_2D:
case GL_PROXY_TEXTURE_2D:
case GL_TEXTURE_EXTERNAL_OES:
+   case GL_TEXTURE_2D_MULTISAMPLE:
+   case GL_PROXY_TEXTURE_2D_MULTISAMPLE:
   return PIPE_TEXTURE_2D;
case GL_TEXTURE_RECTANGLE_NV:
case 

Re: [Mesa-dev] [PATCH 3/4] st/mesa: add support for ARB_texture_multisample

2013-03-04 Thread Marek Olšák
On Sun, Mar 3, 2013 at 9:27 PM, Dave Airlie airl...@gmail.com wrote:
 From: Dave Airlie airl...@redhat.com

 This adds support to the mesa state tracker for ARB_texture_multisample.

 hardware doesn't seem to use a different texture instructions, so
 I don't think we need to create one for TGSI at this time.

 Thanks to Marek for fixes to sample number picking.

 Signed-off-by: Dave Airlie airl...@redhat.com
 ---
  src/mesa/state_tracker/st_atom_framebuffer.c |  1 +
  src/mesa/state_tracker/st_atom_msaa.c|  2 ++
  src/mesa/state_tracker/st_cb_bitmap.c|  4 +--
  src/mesa/state_tracker/st_cb_drawpixels.c|  2 +-
  src/mesa/state_tracker/st_cb_fbo.c   |  2 +-
  src/mesa/state_tracker/st_cb_texture.c   | 41 
 
  src/mesa/state_tracker/st_extensions.c   |  7 +
  src/mesa/state_tracker/st_gen_mipmap.c   |  1 +
  src/mesa/state_tracker/st_glsl_to_tgsi.cpp   | 17 ++--
  src/mesa/state_tracker/st_mesa_to_tgsi.c |  2 ++
  src/mesa/state_tracker/st_texture.c  |  8 +-
  src/mesa/state_tracker/st_texture.h  |  1 +
  12 files changed, 74 insertions(+), 14 deletions(-)

 diff --git a/src/mesa/state_tracker/st_atom_framebuffer.c 
 b/src/mesa/state_tracker/st_atom_framebuffer.c
 index 3df8691..c752640 100644
 --- a/src/mesa/state_tracker/st_atom_framebuffer.c
 +++ b/src/mesa/state_tracker/st_atom_framebuffer.c
 @@ -59,6 +59,7 @@ update_renderbuffer_surface(struct st_context *st,
 enum pipe_format format = st-ctx-Color.sRGBEnabled ? resource-format : 
 util_format_linear(resource-format);

 if (!strb-surface ||
 +   strb-surface-texture-nr_samples != strb-Base.NumSamples ||
 strb-surface-format != format ||
 strb-surface-texture != resource ||
 strb-surface-width != rtt_width ||
 diff --git a/src/mesa/state_tracker/st_atom_msaa.c 
 b/src/mesa/state_tracker/st_atom_msaa.c
 index 9baa4fc..b749a17 100644
 --- a/src/mesa/state_tracker/st_atom_msaa.c
 +++ b/src/mesa/state_tracker/st_atom_msaa.c
 @@ -63,6 +63,8 @@ static void update_sample_mask( struct st_context *st )
  sample_mask = ~sample_mask;
}
/* TODO merge with app-supplied sample mask */
 +  if (st-ctx-Multisample.SampleMask)
 + sample_mask = st-ctx-Multisample.SampleMaskValue;
 }

 /* mask off unused bits or don't care? */
 diff --git a/src/mesa/state_tracker/st_cb_bitmap.c 
 b/src/mesa/state_tracker/st_cb_bitmap.c
 index 36fffe9..d7a95e2 100644
 --- a/src/mesa/state_tracker/st_cb_bitmap.c
 +++ b/src/mesa/state_tracker/st_cb_bitmap.c
 @@ -299,7 +299,7 @@ make_bitmap_texture(struct gl_context *ctx, GLsizei 
 width, GLsizei height,
  * Create texture to hold bitmap pattern.
  */
 pt = st_texture_create(st, st-internal_target, st-bitmap.tex_format,
 -  0, width, height, 1, 1,
 +  0, width, height, 1, 1, 0,
PIPE_BIND_SAMPLER_VIEW);
 if (!pt) {
_mesa_unmap_pbo_source(ctx, unpack);
 @@ -568,7 +568,7 @@ reset_cache(struct st_context *st)
 cache-texture = st_texture_create(st, PIPE_TEXTURE_2D,
st-bitmap.tex_format, 0,
BITMAP_CACHE_WIDTH, 
 BITMAP_CACHE_HEIGHT,
 -  1, 1,
 +  1, 1, 0,
   PIPE_BIND_SAMPLER_VIEW);
  }

 diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c 
 b/src/mesa/state_tracker/st_cb_drawpixels.c
 index e282bf9..e609eb5 100644
 --- a/src/mesa/state_tracker/st_cb_drawpixels.c
 +++ b/src/mesa/state_tracker/st_cb_drawpixels.c
 @@ -463,7 +463,7 @@ alloc_texture(struct st_context *st, GLsizei width, 
 GLsizei height,
 struct pipe_resource *pt;

 pt = st_texture_create(st, st-internal_target, texFormat, 0,
 -  width, height, 1, 1, PIPE_BIND_SAMPLER_VIEW);
 +  width, height, 1, 1, 0, PIPE_BIND_SAMPLER_VIEW);

 return pt;
  }
 diff --git a/src/mesa/state_tracker/st_cb_fbo.c 
 b/src/mesa/state_tracker/st_cb_fbo.c
 index 72bc960..cf3e27f 100644
 --- a/src/mesa/state_tracker/st_cb_fbo.c
 +++ b/src/mesa/state_tracker/st_cb_fbo.c
 @@ -430,7 +430,7 @@ st_render_texture(struct gl_context *ctx,
 strb-rtt_level = att-TextureLevel;
 strb-rtt_face = att-CubeMapFace;
 strb-rtt_slice = att-Zoffset;
 -
 +   rb-NumSamples = texImage-NumSamples;
 rb-Width = texImage-Width2;
 rb-Height = texImage-Height2;
 rb-_BaseFormat = texImage-_BaseFormat;
 diff --git a/src/mesa/state_tracker/st_cb_texture.c 
 b/src/mesa/state_tracker/st_cb_texture.c
 index c922a31..385bac6 100644
 --- a/src/mesa/state_tracker/st_cb_texture.c
 +++ b/src/mesa/state_tracker/st_cb_texture.c
 @@ -78,6 +78,8 @@ gl_target_to_pipe(GLenum target)
 case GL_TEXTURE_2D:
 case GL_PROXY_TEXTURE_2D:
 case GL_TEXTURE_EXTERNAL_OES:
 +   case 

[Mesa-dev] [PATCH 3/4] st/mesa: add support for ARB_texture_multisample

2013-03-03 Thread Dave Airlie
From: Dave Airlie airl...@redhat.com

This adds support to the mesa state tracker for ARB_texture_multisample.

hardware doesn't seem to use a different texture instructions, so
I don't think we need to create one for TGSI at this time.

Thanks to Marek for fixes to sample number picking.

Signed-off-by: Dave Airlie airl...@redhat.com
---
 src/mesa/state_tracker/st_atom_framebuffer.c |  1 +
 src/mesa/state_tracker/st_atom_msaa.c|  2 ++
 src/mesa/state_tracker/st_cb_bitmap.c|  4 +--
 src/mesa/state_tracker/st_cb_drawpixels.c|  2 +-
 src/mesa/state_tracker/st_cb_fbo.c   |  2 +-
 src/mesa/state_tracker/st_cb_texture.c   | 41 
 src/mesa/state_tracker/st_extensions.c   |  7 +
 src/mesa/state_tracker/st_gen_mipmap.c   |  1 +
 src/mesa/state_tracker/st_glsl_to_tgsi.cpp   | 17 ++--
 src/mesa/state_tracker/st_mesa_to_tgsi.c |  2 ++
 src/mesa/state_tracker/st_texture.c  |  8 +-
 src/mesa/state_tracker/st_texture.h  |  1 +
 12 files changed, 74 insertions(+), 14 deletions(-)

diff --git a/src/mesa/state_tracker/st_atom_framebuffer.c 
b/src/mesa/state_tracker/st_atom_framebuffer.c
index 3df8691..c752640 100644
--- a/src/mesa/state_tracker/st_atom_framebuffer.c
+++ b/src/mesa/state_tracker/st_atom_framebuffer.c
@@ -59,6 +59,7 @@ update_renderbuffer_surface(struct st_context *st,
enum pipe_format format = st-ctx-Color.sRGBEnabled ? resource-format : 
util_format_linear(resource-format);
 
if (!strb-surface ||
+   strb-surface-texture-nr_samples != strb-Base.NumSamples ||
strb-surface-format != format ||
strb-surface-texture != resource ||
strb-surface-width != rtt_width ||
diff --git a/src/mesa/state_tracker/st_atom_msaa.c 
b/src/mesa/state_tracker/st_atom_msaa.c
index 9baa4fc..b749a17 100644
--- a/src/mesa/state_tracker/st_atom_msaa.c
+++ b/src/mesa/state_tracker/st_atom_msaa.c
@@ -63,6 +63,8 @@ static void update_sample_mask( struct st_context *st )
 sample_mask = ~sample_mask;
   }
   /* TODO merge with app-supplied sample mask */
+  if (st-ctx-Multisample.SampleMask)
+ sample_mask = st-ctx-Multisample.SampleMaskValue;
}
 
/* mask off unused bits or don't care? */
diff --git a/src/mesa/state_tracker/st_cb_bitmap.c 
b/src/mesa/state_tracker/st_cb_bitmap.c
index 36fffe9..d7a95e2 100644
--- a/src/mesa/state_tracker/st_cb_bitmap.c
+++ b/src/mesa/state_tracker/st_cb_bitmap.c
@@ -299,7 +299,7 @@ make_bitmap_texture(struct gl_context *ctx, GLsizei width, 
GLsizei height,
 * Create texture to hold bitmap pattern.
 */
pt = st_texture_create(st, st-internal_target, st-bitmap.tex_format,
-  0, width, height, 1, 1,
+  0, width, height, 1, 1, 0,
   PIPE_BIND_SAMPLER_VIEW);
if (!pt) {
   _mesa_unmap_pbo_source(ctx, unpack);
@@ -568,7 +568,7 @@ reset_cache(struct st_context *st)
cache-texture = st_texture_create(st, PIPE_TEXTURE_2D,
   st-bitmap.tex_format, 0,
   BITMAP_CACHE_WIDTH, BITMAP_CACHE_HEIGHT,
-  1, 1,
+  1, 1, 0,
  PIPE_BIND_SAMPLER_VIEW);
 }
 
diff --git a/src/mesa/state_tracker/st_cb_drawpixels.c 
b/src/mesa/state_tracker/st_cb_drawpixels.c
index e282bf9..e609eb5 100644
--- a/src/mesa/state_tracker/st_cb_drawpixels.c
+++ b/src/mesa/state_tracker/st_cb_drawpixels.c
@@ -463,7 +463,7 @@ alloc_texture(struct st_context *st, GLsizei width, GLsizei 
height,
struct pipe_resource *pt;
 
pt = st_texture_create(st, st-internal_target, texFormat, 0,
-  width, height, 1, 1, PIPE_BIND_SAMPLER_VIEW);
+  width, height, 1, 1, 0, PIPE_BIND_SAMPLER_VIEW);
 
return pt;
 }
diff --git a/src/mesa/state_tracker/st_cb_fbo.c 
b/src/mesa/state_tracker/st_cb_fbo.c
index 72bc960..cf3e27f 100644
--- a/src/mesa/state_tracker/st_cb_fbo.c
+++ b/src/mesa/state_tracker/st_cb_fbo.c
@@ -430,7 +430,7 @@ st_render_texture(struct gl_context *ctx,
strb-rtt_level = att-TextureLevel;
strb-rtt_face = att-CubeMapFace;
strb-rtt_slice = att-Zoffset;
-
+   rb-NumSamples = texImage-NumSamples;
rb-Width = texImage-Width2;
rb-Height = texImage-Height2;
rb-_BaseFormat = texImage-_BaseFormat;
diff --git a/src/mesa/state_tracker/st_cb_texture.c 
b/src/mesa/state_tracker/st_cb_texture.c
index c922a31..385bac6 100644
--- a/src/mesa/state_tracker/st_cb_texture.c
+++ b/src/mesa/state_tracker/st_cb_texture.c
@@ -78,6 +78,8 @@ gl_target_to_pipe(GLenum target)
case GL_TEXTURE_2D:
case GL_PROXY_TEXTURE_2D:
case GL_TEXTURE_EXTERNAL_OES:
+   case GL_TEXTURE_2D_MULTISAMPLE:
+   case GL_PROXY_TEXTURE_2D_MULTISAMPLE:
   return PIPE_TEXTURE_2D;
case GL_TEXTURE_RECTANGLE_NV:
case GL_PROXY_TEXTURE_RECTANGLE_NV:
@@ -99,6 +101,8 @@