[Nouveau] [mesa v2 8/9] nvc0: remove allocation of unused sw class
Samuel Pitoiset
samuel.pitoiset at gmail.com
Tue Dec 8 06:56:16 PST 2015
NACK.
This patches breaks MP performance counters on Fermi/Kepler because they
actually use software methods to configure multiplexers. Global perf
counters will also use software methods to init, sample and read
hardware counters, so this SW object is definitely needed.
Instead of removing it, we need to do something like that:
http://paste.awesom.eu/EQeX
Thanks.
On 11/27/2015 02:05 AM, Ben Skeggs wrote:
> From: Ben Skeggs <bskeggs at redhat.com>
>
> This would need to be fixed before NVIF can be switched on, but since we
> don't use it anyway, just remove it.
>
> Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
> ---
> src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 8 --------
> src/gallium/drivers/nouveau/nvc0/nvc0_screen.h | 1 -
> 2 files changed, 9 deletions(-)
>
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> index 4897ebe..11cb74a 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
> @@ -447,7 +447,6 @@ nvc0_screen_destroy(struct pipe_screen *pscreen)
> nouveau_object_del(&screen->eng2d);
> nouveau_object_del(&screen->m2mf);
> nouveau_object_del(&screen->compute);
> - nouveau_object_del(&screen->nvsw);
>
> nouveau_screen_fini(&screen->base);
>
> @@ -698,13 +697,6 @@ nvc0_screen_create(struct nouveau_device *dev)
> screen->base.fence.update = nvc0_screen_fence_update;
>
>
> - ret = nouveau_object_new(chan,
> - (dev->chipset < 0xe0) ? 0x1f906e : 0x906e, 0x906e,
> - NULL, 0, &screen->nvsw);
> - if (ret)
> - FAIL_SCREEN_INIT("Error creating SW object: %d\n", ret);
> -
> -
> switch (dev->chipset & ~0xf) {
> case 0x110:
> case 0x100:
> diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.h b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.h
> index 8b73102..caf34aa 100644
> --- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.h
> +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.h
> @@ -105,7 +105,6 @@ struct nvc0_screen {
> struct nouveau_object *eng2d;
> struct nouveau_object *m2mf;
> struct nouveau_object *compute;
> - struct nouveau_object *nvsw;
> };
>
> static inline struct nvc0_screen *
>
--
-Samuel
More information about the Nouveau
mailing list