diff options
-rw-r--r-- | src/gallium/winsys/svga/drm/vmw_screen_svga.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/winsys/svga/drm/vmw_screen_svga.c b/src/gallium/winsys/svga/drm/vmw_screen_svga.c index cd3f21f6033..fb0bee77822 100644 --- a/src/gallium/winsys/svga/drm/vmw_screen_svga.c +++ b/src/gallium/winsys/svga/drm/vmw_screen_svga.c @@ -80,8 +80,11 @@ vmw_svga_winsys_buffer_create(struct svga_winsys_screen *sws, provider = vws->pools.query_fenced; } else if (usage == SVGA_BUFFER_USAGE_SHADER) { provider = vws->pools.mob_shader_slab_fenced; - } else + } else { + if (size > VMW_GMR_POOL_SIZE) + return NULL; provider = vws->pools.gmr_fenced; + } assert(provider); buffer = provider->create_buffer(provider, size, &desc.pb_desc); |