summaryrefslogtreecommitdiff
path: root/lib/mesa/src/gallium/drivers/swr
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mesa/src/gallium/drivers/swr')
-rw-r--r--lib/mesa/src/gallium/drivers/swr/swr_screen.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/mesa/src/gallium/drivers/swr/swr_screen.cpp b/lib/mesa/src/gallium/drivers/swr/swr_screen.cpp
index de9008ddf..c29a90bad 100644
--- a/lib/mesa/src/gallium/drivers/swr/swr_screen.cpp
+++ b/lib/mesa/src/gallium/drivers/swr/swr_screen.cpp
@@ -844,7 +844,9 @@ swr_texture_layout(struct swr_screen *screen,
size_t total_size = (uint64_t)res->swr.depth * res->swr.qpitch *
res->swr.pitch * res->swr.numSamples;
- if (total_size > SWR_MAX_TEXTURE_SIZE)
+
+ // Let non-sampled textures (e.g. buffer objects) bypass the size limit
+ if (swr_resource_is_texture(&res->base) && total_size > SWR_MAX_TEXTURE_SIZE)
return false;
if (allocate) {