Marcin Slusarz <marcin.slus...@gmail.com> writes:

> On 16MB cards it's too easy to hit ENOMEM with 2D use when this
> perf hack is enabled.
>
AFAIK the "hack" still makes sense on such low memory cards.  I guess
the right way to fix this corner case would be to have fall-back
placement ranges in TTM the same way there's a list of allowed placement
types right now.

But, it's probably not worth the effort.  For now I've just pushed a
patch changing the BO size threshold that determines whether to set the
placement range or not.  That's likely to behave better than a hard
memory limit of this kind, both when you have a <32MB card with small
enough render buffers or a >32MB card with huge render buffers that
would otherwise hit the same bug.

> This should fix https://bugs.freedesktop.org/show_bug.cgi?id=42384
>
> Signed-off-by: Marcin Slusarz <marcin.slus...@gmail.com>
> Cc: Francisco Jerez <curroje...@riseup.net>
> ---
>  drivers/gpu/drm/nouveau/nouveau_bo.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/gpu/drm/nouveau/nouveau_bo.c 
> b/drivers/gpu/drm/nouveau/nouveau_bo.c
> index 7226f41..a692648 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_bo.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_bo.c
> @@ -148,6 +148,7 @@ set_placement_range(struct nouveau_bo *nvbo, uint32_t 
> type)
>  
>       if (dev_priv->card_type == NV_10 &&
>           nvbo->tile_mode && (type & TTM_PL_FLAG_VRAM) &&
> +         dev_priv->vram_size >= 32 * 1024 * 1024 &&
>           nvbo->bo.mem.num_pages < vram_pages / 2) {
>               /*
>                * Make sure that the color and depth buffers are handled

Attachment: pgpGplBFlt7xG.pgp
Description: PGP signature

_______________________________________________
Nouveau mailing list
Nouveau@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to