diff options
author | Marek Olšák <[email protected]> | 2014-03-09 20:03:57 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2014-03-11 18:51:20 +0100 |
commit | 4f1f32306a5238507af44dde0e3a53820b896930 (patch) | |
tree | 29199a3ca19df40311281629f208fb8e28ce8691 /src/gallium | |
parent | 8bd7a6f48c03b8bec2740cae392b6b1b00cbe1fc (diff) |
r600g,radeonsi: fix MAX_TEXTURE_3D_LEVELS and MAX_TEXTURE_ARRAY_LAYERS limits
CB_COLORi_VIEW.SLICE_MAX can be at most 2047.
This fixes the maxlayers piglit test.
Cc: [email protected]
Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/r600/r600_pipe.c | 8 | ||||
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pipe.c | 9 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.c b/src/gallium/drivers/r600/r600_pipe.c index 2fceb3c645a..88fbdd8d5fd 100644 --- a/src/gallium/drivers/r600/r600_pipe.c +++ b/src/gallium/drivers/r600/r600_pipe.c @@ -423,15 +423,17 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param) /* Texturing. */ case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: - case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: if (family >= CHIP_CEDAR) return 15; else return 14; + case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: + /* textures support 8192, but layered rendering supports 2048 */ + return 12; case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: - return rscreen->b.info.drm_minor >= 9 ? - (family >= CHIP_CEDAR ? 16384 : 8192) : 0; + /* textures support 8192, but layered rendering supports 2048 */ + return rscreen->b.info.drm_minor >= 9 ? 2048 : 0; /* Render targets. */ case PIPE_CAP_MAX_RENDER_TARGETS: diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 040fc5c6535..95f022be874 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -307,11 +307,14 @@ static int si_get_param(struct pipe_screen* pscreen, enum pipe_cap param) /* Texturing. */ case PIPE_CAP_MAX_TEXTURE_2D_LEVELS: - case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: case PIPE_CAP_MAX_TEXTURE_CUBE_LEVELS: - return 15; + return 15; /* 16384 */ + case PIPE_CAP_MAX_TEXTURE_3D_LEVELS: + /* textures support 8192, but layered rendering supports 2048 */ + return 12; case PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS: - return 16384; + /* textures support 8192, but layered rendering supports 2048 */ + return 2048; /* Render targets. */ case PIPE_CAP_MAX_RENDER_TARGETS: |