diff options
author | Dave Airlie <[email protected]> | 2012-11-03 20:53:33 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2012-11-10 06:20:46 +1000 |
commit | eb44c36df842af010269eda1be77c4aea8ebe736 (patch) | |
tree | 33fa9c3c55a6e29f6d05c464fad5bc69b5d34278 /src/gallium/drivers/r600/r600_texture.c | |
parent | e9cf40142d43e8a757cf6485329882c7e1c3a1d3 (diff) |
r600g: add initial cube map array support (v2)
This contains the evergreen support.
Support is possible on rv670 upwards and the code in here
should work, but it doesn't and I haven't debugged it to
figure out why.
Beyond just adding support for the cube map array sampling,
r600 resinfo isn't conformant with the GL specification,
which states the number of layers should be returned for
the textureSize, so we have to track in an external
constant buffer the layers for each sampler if we need
them in the shader.
v2: only update the sampler constants if the sampler views have changed,
as suggested by Marek.
Reviewed-by: Marek Olšák <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_texture.c')
-rw-r--r-- | src/gallium/drivers/r600/r600_texture.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c index 75e7f870efb..c4d5bb4dbbf 100644 --- a/src/gallium/drivers/r600/r600_texture.c +++ b/src/gallium/drivers/r600/r600_texture.c @@ -133,6 +133,7 @@ static int r600_init_surface(struct r600_screen *rscreen, surface->array_size = ptex->array_size; break; case PIPE_TEXTURE_2D_ARRAY: + case PIPE_TEXTURE_CUBE_ARRAY: /* cube array layout like 2d layout for now */ surface->flags |= RADEON_SURF_SET(RADEON_SURF_TYPE_2D_ARRAY, TYPE); surface->array_size = ptex->array_size; break; |