r300-gallium: Update r300_screen comments and add a few formats.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Sat, 14 Feb 2009 10:24:30 +0000 (02:24 -0800)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Sat, 14 Feb 2009 10:24:30 +0000 (02:24 -0800)
src/gallium/drivers/r300/r300_screen.c

index 5088c130392978eac35847e0d8afbadb26af7c89..d7354ad893e1295afd15f744bd6e0ac8955c1069 100644 (file)
@@ -120,7 +120,7 @@ static int r300_get_param(struct pipe_screen* pscreen, int param)
              * shows why this is silly. Assuming RGBA, 4cpp, we can see that
              * 4096*4096*4096 = 64.0 GiB exactly, so it's not exactly
              * practical. However, if at some point a game really wants this,
-             * then we can remove this limit. */
+             * then we can remove or raise this limit. */
             if (r300screen->caps->is_r500) {
                 /* 9 == 256x256x256 */
                 return 9;
@@ -141,7 +141,7 @@ static int r300_get_param(struct pipe_screen* pscreen, int param)
         case PIPE_CAP_TEXTURE_MIRROR_REPEAT:
             return 1;
         case PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS:
-            /* XXX guessing */
+            /* XXX guessing (what a terrible guess) */
             return 2;
         default:
             debug_printf("r300: Implementation error: Bad param %d\n",
@@ -174,13 +174,25 @@ static float r300_get_paramf(struct pipe_screen* pscreen, int param)
     }
 }
 
-/* XXX moar formats */
+/* XXX even moar formats */
 static boolean check_tex_2d_format(enum pipe_format format)
 {
     switch (format) {
+        /* Colorbuffer */
         case PIPE_FORMAT_A8R8G8B8_UNORM:
+        /* Texture */
         case PIPE_FORMAT_I8_UNORM:
+        /* Z buffer */
+        case PIPE_FORMAT_Z16_UNORM:
+        /* Z buffer with stencil */
+        case PIPE_FORMAT_Z24S8_UNORM:
             return TRUE;
+
+        /* These formats are explicitly not supported, in order to keep
+         * people from wasting their time trying to implement them... */
+        case PIPE_FORMAT_S8Z24_UNORM:
+            return FALSE;
+
         default:
             debug_printf("r300: Warning: Got unknown format: %s, in %s\n",
                 pf_name(format), __FUNCTION__);