cube maps on r100 require newer drm than the same feature on r200 (regression from...
authorRoland Scheidegger <rscheidegger@gmx.ch>
Sat, 7 Jan 2006 20:42:16 +0000 (20:42 +0000)
committerRoland Scheidegger <rscheidegger@gmx.ch>
Sat, 7 Jan 2006 20:42:16 +0000 (20:42 +0000)
src/mesa/drivers/dri/r200/r200_context.c
src/mesa/drivers/dri/r200/r200_state_init.c
src/mesa/drivers/dri/radeon/radeon_context.c
src/mesa/drivers/dri/radeon/radeon_screen.c
src/mesa/drivers/dri/radeon/radeon_screen.h
src/mesa/drivers/dri/radeon/radeon_state_init.c

index 974b3bc..a3301f3 100644 (file)
@@ -468,7 +468,7 @@ GLboolean r200CreateContext( const __GLcontextModes *glVisual,
       _mesa_enable_extension( ctx, "GL_EXT_texture_compression_s3tc" );
    }
 
-   if (rmesa->r200Screen->drmSupportsCubeMaps)
+   if (rmesa->r200Screen->drmSupportsCubeMapsR200)
       _mesa_enable_extension( ctx, "GL_ARB_texture_cube_map" );
    if (rmesa->r200Screen->drmSupportsBlendColor) {
        driInitExtensions( ctx, blend_extensions, GL_FALSE );
index 24fe43a..14616b0 100644 (file)
@@ -291,7 +291,7 @@ void r200InitState( r200ContextPtr rmesa )
       ALLOC_STATE( afs[0], never, AFS_STATE_SIZE, "AFS/afsinst-0", 0 );
       ALLOC_STATE( afs[1], never, AFS_STATE_SIZE, "AFS/afsinst-1", 1 );
    }
-   if (rmesa->r200Screen->drmSupportsCubeMaps) {
+   if (rmesa->r200Screen->drmSupportsCubeMapsR200) {
       ALLOC_STATE( cube[0], tex_cube, CUBE_STATE_SIZE, "CUBE/tex-0", 0 );
       ALLOC_STATE( cube[1], tex_cube, CUBE_STATE_SIZE, "CUBE/tex-1", 1 );
       ALLOC_STATE( cube[2], tex_cube, CUBE_STATE_SIZE, "CUBE/tex-2", 2 );
index e819566..abfe56d 100644 (file)
@@ -417,7 +417,7 @@ radeonCreateContext( const __GLcontextModes *glVisual,
    }
 
    driInitExtensions( ctx, card_extensions, GL_TRUE );
-   if (rmesa->radeonScreen->drmSupportsCubeMaps)
+   if (rmesa->radeonScreen->drmSupportsCubeMapsR100)
       _mesa_enable_extension( ctx, "GL_ARB_texture_cube_map" );
    if (rmesa->glCtx->Mesa_DXTn) {
       _mesa_enable_extension( ctx, "GL_EXT_texture_compression_s3tc" );
index 39e9ade..0dcefe8 100644 (file)
@@ -365,11 +365,12 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv )
            fprintf(stderr, "drm_radeon_getparam_t (RADEON_PARAM_IRQ_NR): %d\n", ret);
            return NULL;
         }
-        screen->drmSupportsCubeMaps = (sPriv->drmMinor >= 7);
+        screen->drmSupportsCubeMapsR200 = (sPriv->drmMinor >= 7);
         screen->drmSupportsBlendColor = (sPriv->drmMinor >= 11);
         screen->drmSupportsTriPerf = (sPriv->drmMinor >= 16);
         screen->drmSupportsFragShader = (sPriv->drmMinor >= 18);
         screen->drmSupportsPointSprites = (sPriv->drmMinor >= 13);
+        screen->drmSupportsCubeMapsR100 = (sPriv->drmMinor >= 15);
       }
    }
 
@@ -586,7 +587,7 @@ radeonCreateScreen( __DRIscreenPrivate *sPriv )
    }
 
    if (screen->chip_family <= CHIP_FAMILY_RS200)
-      screen->chip_flags |= RADEON_CLASS_R200;
+      screen->chip_flags |= RADEON_CLASS_R100;
    else if (screen->chip_family <= CHIP_FAMILY_RV280)
       screen->chip_flags |= RADEON_CLASS_R200;
    else
index e8c5856..08433c4 100644 (file)
@@ -92,11 +92,12 @@ typedef struct {
    unsigned int gart_texture_offset;   /* offset in card memory space */
    unsigned int gart_base;
 
-   GLboolean drmSupportsCubeMaps;       /* need radeon kernel module >= 1.7 */
+   GLboolean drmSupportsCubeMapsR200;   /* need radeon kernel module >= 1.7 */
    GLboolean drmSupportsBlendColor;     /* need radeon kernel module >= 1.11 */
    GLboolean drmSupportsTriPerf;        /* need radeon kernel module >= 1.16 */
    GLboolean drmSupportsFragShader;     /* need radeon kernel module >= 1.18 */
    GLboolean drmSupportsPointSprites;   /* need radeon kernel module >= 1.13 */
+   GLboolean drmSupportsCubeMapsR100;   /* need radeon kernel module >= 1.15 */
    GLboolean depthHasSurface;
 
    /* Configuration cache with default values for all contexts */
index a2e3d1e..5682d95 100644 (file)
@@ -238,7 +238,7 @@ void radeonInitState( radeonContextPtr rmesa )
    ALLOC_STATE( tex[0], tex0, TEX_STATE_SIZE, "TEX/tex-0", 0 );
    ALLOC_STATE( tex[1], tex1, TEX_STATE_SIZE, "TEX/tex-1", 0 );
    ALLOC_STATE( tex[2], tex2, TEX_STATE_SIZE, "TEX/tex-2", 0 );
-   if (rmesa->radeonScreen->drmSupportsCubeMaps)
+   if (rmesa->radeonScreen->drmSupportsCubeMapsR100)
    {
       ALLOC_STATE( cube[0], cube0, CUBE_STATE_SIZE, "CUBE/cube-0", 0 );
       ALLOC_STATE( cube[1], cube1, CUBE_STATE_SIZE, "CUBE/cube-1", 0 );