summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r--src/gallium/drivers/nouveau/nouveau_buffer.c3
-rw-r--r--src/gallium/drivers/nouveau/nouveau_mm.c5
-rw-r--r--src/gallium/drivers/nouveau/nouveau_screen.c7
-rw-r--r--src/gallium/drivers/nouveau/nouveau_screen.h2
4 files changed, 14 insertions, 3 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_buffer.c b/src/gallium/drivers/nouveau/nouveau_buffer.c
index 01d3aa46d0e..60d8e37a554 100644
--- a/src/gallium/drivers/nouveau/nouveau_buffer.c
+++ b/src/gallium/drivers/nouveau/nouveau_buffer.c
@@ -431,7 +431,8 @@ nouveau_buffer_migrate(struct nouveau_context *nv,
/* keep a system memory copy of our data in case we hit a fallback */
if (!nouveau_buffer_data_fetch(buf, buf->bo, buf->offset, size))
return FALSE;
- debug_printf("migrating %u KiB to VRAM\n", size / 1024);
+ if (nouveau_mesa_debug)
+ debug_printf("migrating %u KiB to VRAM\n", size / 1024);
}
offset = buf->offset;
diff --git a/src/gallium/drivers/nouveau/nouveau_mm.c b/src/gallium/drivers/nouveau/nouveau_mm.c
index 2a4e322e8eb..8d0b7bfe99a 100644
--- a/src/gallium/drivers/nouveau/nouveau_mm.c
+++ b/src/gallium/drivers/nouveau/nouveau_mm.c
@@ -145,8 +145,9 @@ mm_slab_new(struct nouveau_mman *cache, int chunk_order)
cache->allocated += size;
- debug_printf("MM: new slab, total memory = %"PRIu64" KiB\n",
- cache->allocated / 1024);
+ if (nouveau_mesa_debug)
+ debug_printf("MM: new slab, total memory = %"PRIu64" KiB\n",
+ cache->allocated / 1024);
return PIPE_OK;
}
diff --git a/src/gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c
index 223e7682ccd..cdc2bffee81 100644
--- a/src/gallium/drivers/nouveau/nouveau_screen.c
+++ b/src/gallium/drivers/nouveau/nouveau_screen.c
@@ -10,6 +10,7 @@
#include <stdio.h>
#include <errno.h>
+#include <stdlib.h>
#include "nouveau/nouveau_bo.h"
#include "nouveau/nouveau_mm.h"
@@ -21,6 +22,8 @@
#include "state_tracker/drm_driver.h"
#include "util/u_simple_screen.h"
+int nouveau_mesa_debug = 0;
+
static const char *
nouveau_screen_get_name(struct pipe_screen *pscreen)
{
@@ -202,6 +205,10 @@ nouveau_screen_init(struct nouveau_screen *screen, struct nouveau_device *dev)
struct pipe_screen *pscreen = &screen->base;
int ret;
+ char *nv_dbg = getenv("NOUVEAU_MESA_DEBUG");
+ if (nv_dbg)
+ nouveau_mesa_debug = atoi(nv_dbg);
+
ret = nouveau_channel_alloc(dev, 0xbeef0201, 0xbeef0202,
512*1024, &screen->channel);
if (ret)
diff --git a/src/gallium/drivers/nouveau/nouveau_screen.h b/src/gallium/drivers/nouveau/nouveau_screen.h
index 808500f3002..d2003e62f51 100644
--- a/src/gallium/drivers/nouveau/nouveau_screen.h
+++ b/src/gallium/drivers/nouveau/nouveau_screen.h
@@ -5,6 +5,8 @@
#include "util/u_memory.h"
typedef uint32_t u32;
+extern int nouveau_mesa_debug;
+
struct nouveau_bo;
struct nouveau_screen {