gallium: set PIPE_CAP_MIXED_COLORBUFFER_FORMATS in some drivers
authorMarek Olšák <maraeo@gmail.com>
Tue, 29 Mar 2011 16:18:05 +0000 (18:18 +0200)
committerMarek Olšák <maraeo@gmail.com>
Fri, 1 Apr 2011 11:48:01 +0000 (13:48 +0200)
src/gallium/drivers/llvmpipe/lp_screen.c
src/gallium/drivers/noop/noop_pipe.c
src/gallium/drivers/nv50/nv50_screen.c
src/gallium/drivers/nvc0/nvc0_screen.c
src/gallium/drivers/nvfx/nvfx_screen.c
src/gallium/drivers/r300/r300_screen.c
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/svga/svga_screen.c

index 521a52ad3ae907a2dec5ee00e7e29f0f3e2137ef..036a6e0c3796b702e1fee22817b316b0457d15fe 100644 (file)
@@ -166,6 +166,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
       return 0;
    case PIPE_CAP_TGSI_INSTANCEID:
    case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR:
+   case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
       return 1;
    default:
       return 0;
index 496b7f5ec6dd827b43cab5c2af33783b4b5ff8be..18308b796f3402a518b30a4c2d7779e54b122a7c 100644 (file)
@@ -337,6 +337,7 @@ static int noop_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
        case PIPE_CAP_TEXTURE_SHADOW_MAP:
        case PIPE_CAP_TEXTURE_SWIZZLE:
        case PIPE_CAP_BLEND_EQUATION_SEPARATE:
+       case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
 
          return 1;
        case PIPE_CAP_DUAL_SOURCE_BLEND:
index 9978d1e7861e3f4345dde39a9366cfea9693044a..cfa49aa0394cd034df3b895062008f1c743c063c 100644 (file)
@@ -131,6 +131,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_PRIMITIVE_RESTART:
    case PIPE_CAP_TGSI_INSTANCEID:
    case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR:
+   case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
       return 1;
    default:
       NOUVEAU_ERR("unknown PIPE_CAP %d\n", param);
index f0f5237de52892a603754aa4b93febfebd42a63c..e98a4c0fd420496d87fbd11c405a17d1306d3f77 100644 (file)
@@ -115,6 +115,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_PRIMITIVE_RESTART:
    case PIPE_CAP_TGSI_INSTANCEID:
    case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR:
+   case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
       return 1;
    default:
       NOUVEAU_ERR("unknown PIPE_CAP %d\n", param);
index 9e6b9d6ef8fe14325c96b6003664038aeae5a117..0c8d33fb0aa2ed5f1f3bdf108a57a87536091e31 100644 (file)
@@ -81,6 +81,8 @@ nvfx_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
                return 0; // TODO: implement primitive restart
        case PIPE_CAP_SHADER_STENCIL_EXPORT:
                return 0;
+       case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
+                return 0;
        default:
                NOUVEAU_ERR("Warning: unknown PIPE_CAP %d\n", param);
                return 0;
index deaeb77429f8608e7fca268427deb9c68e29d660..f09c9c029723bd0eece0a9351a890399e7ff0990 100644 (file)
@@ -118,6 +118,8 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
             return 1;
         case PIPE_CAP_TEXTURE_SWIZZLE:
             return util_format_s3tc_enabled ? r300screen->caps.dxtc_swizzle : 1;
+        case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
+            return is_r500 ? 1 : 0;
 
         /* Unsupported features (boolean caps). */
         case PIPE_CAP_TIMER_QUERY:
index c5fc2ba2d357a275d95d9e6b305b40c088c4e4ca..3e24bfafe4a73240cdf54dacc9f439b9fc3d2eef 100644 (file)
@@ -371,6 +371,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
        case PIPE_CAP_SHADER_STENCIL_EXPORT:
        case PIPE_CAP_TGSI_INSTANCEID:
        case PIPE_CAP_VERTEX_ELEMENT_INSTANCE_DIVISOR:
+       case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
                return 1;
        case PIPE_CAP_INDEP_BLEND_ENABLE:
                /* R600 doesn't support per-MRT blends */
index 6c987abe0564e3c351769fa3ed0c9d48cea77ac1..b847cf331b3a7faf84264c969e0f6ca94587b870 100644 (file)
@@ -181,6 +181,8 @@ svga_get_paramf(struct pipe_screen *screen, enum pipe_cap param)
 
    case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE:
       return 1;
+   case PIPE_CAP_MIXED_COLORBUFFER_FORMATS:
+      return 0;
 
    default:
       return 0;