gallium: add some #if FEATURE_x tests
[mesa.git] / src / mesa / state_tracker / st_format.c
index 17a3cfd5a466357f8d3be741a35843ea60f6729f..5759f393af08f3340db33f0ca6d19e46d143e02f 100644 (file)
@@ -274,8 +274,11 @@ st_mesa_format_to_pipe_format(GLuint mesaFormat)
       return PIPE_FORMAT_Z32_UNORM;
    case MESA_FORMAT_Z24_S8:
       return PIPE_FORMAT_Z24S8_UNORM;
+   case MESA_FORMAT_S8_Z24:
+      return PIPE_FORMAT_S8Z24_UNORM;
    case MESA_FORMAT_YCBCR:
       return PIPE_FORMAT_YCBCR;
+#if FEATURE_texture_s3tc
    case MESA_FORMAT_RGB_DXT1:
       return PIPE_FORMAT_DXT1_RGB;
    case MESA_FORMAT_RGBA_DXT1:
@@ -284,6 +287,7 @@ st_mesa_format_to_pipe_format(GLuint mesaFormat)
       return PIPE_FORMAT_DXT3_RGBA;
    case MESA_FORMAT_RGBA_DXT5:
       return PIPE_FORMAT_DXT5_RGBA;
+#endif
    default:
       assert(0);
       return 0;
@@ -559,14 +563,15 @@ translate_gallium_format_to_mesa_format(enum pipe_format format)
       return &_mesa_texformat_z16;
    case PIPE_FORMAT_Z32_UNORM:
       return &_mesa_texformat_z32;
-   case PIPE_FORMAT_S8Z24_UNORM:
-      /* XXX fallthrough OK? */
    case PIPE_FORMAT_Z24S8_UNORM:
       return &_mesa_texformat_z24_s8;
+   case PIPE_FORMAT_S8Z24_UNORM:
+      return &_mesa_texformat_s8_z24;
    case PIPE_FORMAT_YCBCR:
       return &_mesa_texformat_ycbcr;
    case PIPE_FORMAT_YCBCR_REV:
       return &_mesa_texformat_ycbcr_rev;
+#if FEATURE_texture_s3tc
    case PIPE_FORMAT_DXT1_RGB:
       return &_mesa_texformat_rgb_dxt1;
    case PIPE_FORMAT_DXT1_RGBA:
@@ -575,6 +580,7 @@ translate_gallium_format_to_mesa_format(enum pipe_format format)
       return &_mesa_texformat_rgba_dxt3;
    case PIPE_FORMAT_DXT5_RGBA:
       return &_mesa_texformat_rgba_dxt5;
+#endif
    /* XXX add additional cases */
    default:
       assert(0);