summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50/nv50_screen.c
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2011-05-06 21:11:03 +0200
committerChristoph Bumiller <[email protected]>2011-05-06 21:11:03 +0200
commit531b12af35a832bcd8928a4919d76f8e9405cde0 (patch)
tree6727d9e2e90efed5dbaaca90bdc3606a44668505 /src/gallium/drivers/nv50/nv50_screen.c
parent27d3e0b25cc3f2bd9f72778f0c9f54cb90c48622 (diff)
nv50,nvc0: activate seamless cube map filtering
Diffstat (limited to 'src/gallium/drivers/nv50/nv50_screen.c')
-rw-r--r--src/gallium/drivers/nv50/nv50_screen.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gallium/drivers/nv50/nv50_screen.c b/src/gallium/drivers/nv50/nv50_screen.c
index a2f13e3d703..4dad8599870 100644
--- a/src/gallium/drivers/nv50/nv50_screen.c
+++ b/src/gallium/drivers/nv50/nv50_screen.c
@@ -89,7 +89,10 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
case PIPE_CAP_TEXTURE_SHADOW_MAP:
case PIPE_CAP_NPOT_TEXTURES:
case PIPE_CAP_ANISOTROPIC_FILTER:
- return 1;
+ case PIPE_CAP_SEAMLESS_CUBE_MAP:
+ return nv50_screen(pscreen)->tesla->grclass >= NVA0_3D;
+ case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
+ return 0;
case PIPE_CAP_TWO_SIDED_STENCIL:
case PIPE_CAP_DEPTH_CLAMP:
case PIPE_CAP_DEPTHSTENCIL_CLEAR_SEPARATE:
@@ -417,6 +420,11 @@ nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *dev)
BEGIN_RING(chan, RING_3D(BLEND_SEPARATE_ALPHA), 1);
OUT_RING (chan, 1);
+ if (tesla_class >= NVA0_3D) {
+ BEGIN_RING(chan, RING_3D_(NVA0_3D_TEX_MISC), 1);
+ OUT_RING (chan, NVA0_3D_TEX_MISC_SEAMLESS_CUBE_MAP);
+ }
+
BEGIN_RING(chan, RING_3D(SCREEN_Y_CONTROL), 1);
OUT_RING (chan, 0);
BEGIN_RING(chan, RING_3D(WINDOW_OFFSET_X), 2);