diff options
author | Christoph Bumiller <[email protected]> | 2013-03-27 23:39:06 +0100 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2013-03-29 00:33:01 +0100 |
commit | ee624ced364bfd2f896809874ef3a808a11c5ecf (patch) | |
tree | 3ca90f856159a2a932df731a64255096b2ece61c /src/gallium/drivers/nvc0/nvc0_screen.c | |
parent | 480359bcf644c496c5318e89fe7ad60d95772acd (diff) |
nvc0: implement MP performance counters
There's more, but this only adds (most) of the counters that are
handled directly by the shader processors.
The other counter domains are not handled on the multiprocessor and
there are no FIFO object methods for configuring them.
Instead, they have to be programmed by the kernel via PCOUNTER, and
the interface for this isn't in place yet.
Diffstat (limited to 'src/gallium/drivers/nvc0/nvc0_screen.c')
-rw-r--r-- | src/gallium/drivers/nvc0/nvc0_screen.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_screen.c b/src/gallium/drivers/nvc0/nvc0_screen.c index bf353c48251..5b9385ad724 100644 --- a/src/gallium/drivers/nvc0/nvc0_screen.c +++ b/src/gallium/drivers/nvc0/nvc0_screen.c @@ -352,6 +352,10 @@ nvc0_screen_destroy(struct pipe_screen *pscreen) if (screen->blitter) nvc0_blitter_destroy(screen); + if (screen->pm.prog) { + screen->pm.prog->code = NULL; /* hardcoded, don't FREE */ + nvc0_program_destroy(NULL, screen->pm.prog); + } nouveau_bo_ref(NULL, &screen->text); nouveau_bo_ref(NULL, &screen->uniform_bo); @@ -581,6 +585,7 @@ nvc0_screen_create(struct nouveau_device *dev) pscreen->get_param = nvc0_screen_get_param; pscreen->get_shader_param = nvc0_screen_get_shader_param; pscreen->get_paramf = nvc0_screen_get_paramf; + pscreen->get_driver_query_info = nvc0_screen_get_driver_query_info; nvc0_screen_init_resource_functions(pscreen); @@ -785,6 +790,7 @@ nvc0_screen_create(struct nouveau_device *dev) value = (16 << 8) | 4; } screen->mp_count = value >> 8; + screen->mp_count_compute = screen->mp_count; nvc0_screen_resize_tls_area(screen, 128 * 16, 0, 0x200); |