---
 src/gallium/drivers/r600/r600_pipe.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_pipe.c 
b/src/gallium/drivers/r600/r600_pipe.c
index e02da6e..6a6f4d8 100644
--- a/src/gallium/drivers/r600/r600_pipe.c
+++ b/src/gallium/drivers/r600/r600_pipe.c
@@ -373,6 +373,10 @@ static int r600_get_param(struct pipe_screen* pscreen, 
enum pipe_cap param)
        case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
                return family >= CHIP_CEDAR ? 1 : 0;
 
+       /* Supported since DRM 2.9.0. */
+       case PIPE_CAP_ARRAY_TEXTURES:
+               return r600_get_minor_version(rscreen->radeon) >= 9;
+
        /* Unsupported features. */
        case PIPE_CAP_STREAM_OUTPUT:
        case PIPE_CAP_TGSI_INSTANCEID:
@@ -380,10 +384,6 @@ static int r600_get_param(struct pipe_screen* pscreen, 
enum pipe_cap param)
        case PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER:
                return 0;
 
-       case PIPE_CAP_ARRAY_TEXTURES:
-               /* fix once the CS checker upstream is fixed */
-               return debug_get_bool_option("R600_ARRAY_TEXTURE", FALSE);
-
        /* Texturing. */
        case PIPE_CAP_MAX_TEXTURE_2D_LEVELS:
        case PIPE_CAP_MAX_TEXTURE_3D_LEVELS:
@@ -392,6 +392,8 @@ static int r600_get_param(struct pipe_screen* pscreen, enum 
pipe_cap param)
                        return 15;
                else
                        return 14;
+       case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS:
+               return family >= CHIP_CEDAR ? 16384 : 8192;
        case PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS:
        case PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS:
                return 16;
-- 
1.7.4.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to