Mesa (master): swrast: Add depth cube map support.

Kenneth Graunke kwg at kemper.freedesktop.org
Tue Dec 6 01:03:15 UTC 2011


Module: Mesa
Branch: master
Commit: c3aae7745a648d5d8f8386e09cd6d965f919c7d9
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3aae7745a648d5d8f8386e09cd6d965f919c7d9

Author: Anuj Phogat <anuj.phogat at gmail.com>
Date:   Wed Nov 30 11:39:57 2011 -0800

swrast: Add depth cube map support.

Signed-off-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/swrast/s_texfilter.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/mesa/swrast/s_texfilter.c b/src/mesa/swrast/s_texfilter.c
index fb172f3..21b55a8 100644
--- a/src/mesa/swrast/s_texfilter.c
+++ b/src/mesa/swrast/s_texfilter.c
@@ -3437,7 +3437,8 @@ sample_depth_texture( struct gl_context *ctx,
           tObj->Target == GL_TEXTURE_2D ||
           tObj->Target == GL_TEXTURE_RECTANGLE_NV ||
           tObj->Target == GL_TEXTURE_1D_ARRAY_EXT ||
-          tObj->Target == GL_TEXTURE_2D_ARRAY_EXT);
+          tObj->Target == GL_TEXTURE_2D_ARRAY_EXT ||
+          tObj->Target == GL_TEXTURE_CUBE_MAP);
 
    ambient = tObj->Sampler.CompareFailValue;
 
@@ -3684,7 +3685,10 @@ _swrast_choose_texture_sample_func( struct gl_context *ctx,
             return &sample_nearest_3d;
          }
       case GL_TEXTURE_CUBE_MAP:
-         if (needLambda) {
+         if (format == GL_DEPTH_COMPONENT || format == GL_DEPTH_STENCIL_EXT) {
+	    return &sample_depth_texture;
+	 }
+	 else if (needLambda) {
             return &sample_lambda_cube;
          }
          else if (t->Sampler.MinFilter == GL_LINEAR) {
@@ -3709,7 +3713,10 @@ _swrast_choose_texture_sample_func( struct gl_context *ctx,
             return &sample_nearest_rect;
          }
       case GL_TEXTURE_1D_ARRAY_EXT:
-         if (needLambda) {
+         if (format == GL_DEPTH_COMPONENT || format == GL_DEPTH_STENCIL_EXT) {
+            return &sample_depth_texture;
+         }
+	 else if (needLambda) {
             return &sample_lambda_1d_array;
          }
          else if (t->Sampler.MinFilter == GL_LINEAR) {
@@ -3720,7 +3727,10 @@ _swrast_choose_texture_sample_func( struct gl_context *ctx,
             return &sample_nearest_1d_array;
          }
       case GL_TEXTURE_2D_ARRAY_EXT:
-         if (needLambda) {
+         if (format == GL_DEPTH_COMPONENT || format == GL_DEPTH_STENCIL_EXT) {
+            return &sample_depth_texture;
+         }
+	 else if (needLambda) {
             return &sample_lambda_2d_array;
          }
          else if (t->Sampler.MinFilter == GL_LINEAR) {




More information about the mesa-commit mailing list