diff options
author | Christoph Bumiller <[email protected]> | 2013-04-12 13:42:01 +0200 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2013-04-18 20:35:40 +0200 |
commit | 729abfd0f53c27ba58da95882bef985945933c65 (patch) | |
tree | 47623e71727be33fda952923809fb9b8391311ee /src/gallium/drivers/nvc0 | |
parent | 246ff8f887e10a2828fb43104a06ba6f2505b74d (diff) |
st/mesa: optionally apply texture swizzle to border color v2
This is the only sane solution for nv50 and nvc0 (really, trust me),
but since on other hardware the border colour is tightly coupled with
texture state they'd have to undo the swizzle, so I've added a cap.
The dependency of update_sampler on the texture updates was
introduced to avoid doing the apply_depthmode to the swizzle twice.
v2: Moved swizzling helper to u_format.c, extended the CAP to
provide more accurate information.
Diffstat (limited to 'src/gallium/drivers/nvc0')
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_screen.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c index ccdf2cde84b..8dfd4d12a02 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -176,6 +176,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) return (class_3d >= NVE4_3D_CLASS) ? 1 : 0; case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER: return 1; + case PIPE_CAP_TEXTURE_BORDER_COLOR_QUIRK: + return PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50; default: NOUVEAU_ERR("unknown PIPE_CAP %d\n", param); return 0; |