llvmpipe: decrease MAX_SCENES from 2 to 1
authorRoland Scheidegger <sroland@vmware.com>
Wed, 3 Dec 2014 02:57:15 +0000 (03:57 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Sat, 6 Dec 2014 17:03:18 +0000 (18:03 +0100)
commit6f2cf5f3d0764e096b6b099ef9dc7bc92047c3cb
treed22ffed65746b41d8b9fbeb432f3f96c3f3cbd75
parent1b6db3593ed716ff36f9300c2ad646a80682ea85
llvmpipe: decrease MAX_SCENES from 2 to 1

Multiple scenes per context are meant to be used so a new scene can be built
while another one is processed in rasterization. However, quite surprisingly,
this does not actually work (and according to git log, possibly never did,
though maybe it did at some point further back (5 years+) but was buggy)
because we always wait immediately on the rasterizer to finish the scene when
contexts (and hence setup/scene) is flushed. This means when we try to get
an empty scene later, any old one is already empty again.
Thus using multiple scenes is just a waste of memory (not too bad, since the
additional scenes are guaranteed to be empty, which means their size ought to
be one data block (64kB) plus the size of some structs), without actually
really doing anything. (There is also quite some code for the whole concept of
multiple scenes which doesn't really do much in practice, but keep it hoping
the wait-on-scene-flush can be fixed some day.)

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup_context.h