diff options
author | Christoph Bumiller <[email protected]> | 2012-12-07 22:47:40 +0100 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2012-12-07 22:48:54 +0100 |
commit | f7599b2c32185535b4c215de0ba0454129fa523f (patch) | |
tree | 03734693a28bc7a3852d9a71e0b334bfddb5a420 /src/gallium/drivers/nvc0 | |
parent | ff5a9868c8d5041a3d944ce300c857934f4e8251 (diff) |
nv50,nvc0: add support for cube map arrays
NOTE: nv50 support not enabled, someone with nva3/8 please fix.
Diffstat (limited to 'src/gallium/drivers/nvc0')
-rw-r--r-- | src/gallium/drivers/nvc0/codegen/nv50_ir_emit_gk110.cpp | 1 | ||||
-rw-r--r-- | src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp | 1 | ||||
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_screen.c | 1 | ||||
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_tex.c | 9 |
4 files changed, 6 insertions, 6 deletions
diff --git a/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_gk110.cpp index 6c229fddf70..c771459d514 100644 --- a/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_gk110.cpp +++ b/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_gk110.cpp @@ -110,7 +110,6 @@ private: void emitTEX(const TexInstruction *); void emitTEXCSAA(const TexInstruction *); void emitTXQ(const TexInstruction *); - void emitPIXLD(const TexInstruction *); void emitQUADOP(const Instruction *, uint8_t qOp, uint8_t laneMask); diff --git a/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp b/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp index cd04f4cfb97..92496a3b6d8 100644 --- a/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp +++ b/src/gallium/drivers/nvc0/codegen/nv50_ir_emit_nvc0.cpp @@ -110,7 +110,6 @@ private: void emitTEX(const TexInstruction *); void emitTEXCSAA(const TexInstruction *); void emitTXQ(const TexInstruction *); - void emitPIXLD(const TexInstruction *); void emitQUADOP(const Instruction *, uint8_t qOp, uint8_t laneMask); diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c index 3bf21913a89..08fc3b4114c 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -88,6 +88,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) case PIPE_CAP_NPOT_TEXTURES: case PIPE_CAP_ANISOTROPIC_FILTER: case PIPE_CAP_SEAMLESS_CUBE_MAP: + case PIPE_CAP_CUBE_MAP_ARRAY: return 1; case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE: return (class_3d >= NVE4_3D_CLASS) ? 1 : 0; diff --git a/src/gallium/drivers/nvc0/nvc0_tex.c b/src/gallium/drivers/nvc0/nvc0_tex.c index b52918e1319..2bce97b32c7 100644 --- a/src/gallium/drivers/nvc0/nvc0_tex.c +++ b/src/gallium/drivers/nvc0/nvc0_tex.c @@ -180,10 +180,7 @@ nvc0_create_texture_view(struct pipe_context *pipe, break; case PIPE_TEXTURE_CUBE: depth /= 6; - if (depth > 1) - tic[2] |= NV50_TIC_2_TARGET_CUBE_ARRAY; - else - tic[2] |= NV50_TIC_2_TARGET_CUBE; + tic[2] |= NV50_TIC_2_TARGET_CUBE; break; case PIPE_TEXTURE_1D_ARRAY: tic[2] |= NV50_TIC_2_TARGET_1D_ARRAY; @@ -192,6 +189,10 @@ nvc0_create_texture_view(struct pipe_context *pipe, case PIPE_TEXTURE_2D_ARRAY: tic[2] |= NV50_TIC_2_TARGET_2D_ARRAY; break; + case PIPE_TEXTURE_CUBE_ARRAY: + depth /= 6; + tic[2] |= NV50_TIC_2_TARGET_CUBE_ARRAY; + break; default: NOUVEAU_ERR("invalid texture target: %d\n", mt->base.base.target); return FALSE; |