diff options
author | Luca Barbieri <luca@luca-barbieri.com> | 2010-03-17 20:31:56 +0100 |
---|---|---|
committer | Luca Barbieri <luca@luca-barbieri.com> | 2010-03-23 15:40:41 +0100 |
commit | a6cc9cf38d6e01d39b34f17a51c42e2d4962c0c9 (patch) | |
tree | 95fb637578f50a1e1ddd9539239a67515700eede | |
parent | c652ad907f0715a0c23476ebd48ab722c96a5064 (diff) | |
download | external_mesa3d-a6cc9cf38d6e01d39b34f17a51c42e2d4962c0c9.zip external_mesa3d-a6cc9cf38d6e01d39b34f17a51c42e2d4962c0c9.tar.gz external_mesa3d-a6cc9cf38d6e01d39b34f17a51c42e2d4962c0c9.tar.bz2 |
nvfx: stop incessantly spewing debug messages on the terminal
Currently we are continuously spewing messages about these variables
since we call debug_get_bool_option everytime we want to check their value.
This is annoying, slows things down due to terminal rerendering
and obscures useful messages.
This patch only calls debug_get_bool_option once and caches the result in a
static variable.
-rw-r--r-- | src/gallium/drivers/nvfx/nvfx_miptree.c | 5 | ||||
-rw-r--r-- | src/gallium/drivers/nvfx/nvfx_transfer.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_miptree.c b/src/gallium/drivers/nvfx/nvfx_miptree.c index 0f5ed61..9de2517 100644 --- a/src/gallium/drivers/nvfx/nvfx_miptree.c +++ b/src/gallium/drivers/nvfx/nvfx_miptree.c @@ -67,6 +67,9 @@ nvfx_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt) struct nvfx_miptree *mt; unsigned buf_usage = PIPE_BUFFER_USAGE_PIXEL | NOUVEAU_BUFFER_USAGE_TEXTURE; + static int no_swizzle = -1; + if(no_swizzle < 0) + no_swizzle = debug_get_bool_option("NOUVEAU_NO_SWIZZLE", FALSE); mt = MALLOC(sizeof(struct nvfx_miptree)); if (!mt) @@ -106,7 +109,7 @@ nvfx_miptree_create(struct pipe_screen *pscreen, const struct pipe_texture *pt) case PIPE_FORMAT_B8G8R8X8_UNORM: case PIPE_FORMAT_R16_SNORM: { - if (debug_get_bool_option("NOUVEAU_NO_SWIZZLE", FALSE)) + if (no_swizzle) mt->base.tex_usage |= NOUVEAU_TEXTURE_USAGE_LINEAR; break; } diff --git a/src/gallium/drivers/nvfx/nvfx_transfer.c b/src/gallium/drivers/nvfx/nvfx_transfer.c index 409b354..c81b44a 100644 --- a/src/gallium/drivers/nvfx/nvfx_transfer.c +++ b/src/gallium/drivers/nvfx/nvfx_transfer.c @@ -42,6 +42,9 @@ nvfx_transfer_new(struct pipe_context *pcontext, struct pipe_texture *pt, struct nvfx_miptree *mt = (struct nvfx_miptree *)pt; struct nvfx_transfer *tx; struct pipe_texture tx_tex_template, *tx_tex; + static int no_transfer = -1; + if(no_transfer < 0) + no_transfer = debug_get_bool_option("NOUVEAU_NO_TRANSFER", TRUE/*XXX:FALSE*/); tx = CALLOC_STRUCT(nvfx_transfer); if (!tx) @@ -59,8 +62,7 @@ nvfx_transfer_new(struct pipe_context *pcontext, struct pipe_texture *pt, tx->base.zslice = zslice; /* Direct access to texture */ - if ((pt->tex_usage & PIPE_TEXTURE_USAGE_DYNAMIC || - debug_get_bool_option("NOUVEAU_NO_TRANSFER", TRUE/*XXX:FALSE*/)) && + if ((pt->tex_usage & PIPE_TEXTURE_USAGE_DYNAMIC || no_transfer) && pt->tex_usage & NOUVEAU_TEXTURE_USAGE_LINEAR) { tx->direct = true; |