[PATCH 1/5] wined3d: Use the chunk allocator for GL indirect draw buffers.

Henri Verbeet hverbeet at gmail.com
Thu Feb 3 04:12:25 CST 2022


On Thu, 3 Feb 2022 at 02:11, Zebediah Figura <zfigura at codeweavers.com> wrote:
> On 2/2/22 16:22, Alexandre Julliard wrote:
> > Zebediah Figura <zfigura at codeweavers.com> writes:
> >
> >> From: Henri Verbeet <hverbeet at codeweavers.com>
> >>
> >> Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
> >> ---
> >>   dlls/wined3d/adapter_gl.c      |   1 +
> >>   dlls/wined3d/context_gl.c      | 258 +++++++++++++++++++++++++++++----
> >>   dlls/wined3d/device.c          | 110 ++++++++++++++
> >>   dlls/wined3d/wined3d_private.h |  66 ++++++---
> >>   4 files changed, 390 insertions(+), 45 deletions(-)
> >
> > That series is causing crashes here:
>
> I can reproduce the same crashes.
>
> The crashes are because we run out of virtual address space. They are
> introduced by this patch set because we are, for performance reasons,
> suddenly mapping larger buffers than we strictly need to, and we are
> doing so $(nproc) times in a single process. In the case of d2d1 at
> least the main offender seems to be pixel unpack buffers.
>
> Running the tests singlethreaded helps for me. I didn't come across this
> before because I'd been already running all of the tests singlethreaded
> anyway, mostly for nouveau reasons.
>
> I don't know what to do about this really. We could potentially limit
> the number of concurrent tests on 32-bit wine, although determining how
> far to limit them is not exactly trivial.
>
> Running the tests in separate processes would also help, instead of
> separate threads in the same process. That might be a better approach.
>
I suppose my machine doesn't have enough cores to run into this...

One of the issues here is that we do buffer allocation per device
instead of per GPU. Unfortunately, for GL in particular, that's not
entirely trivial to fix. I suppose we could put an upper limit on the
number of worker threads the D3D tests spawn, although that's also a
little unfortunate.



More information about the wine-devel mailing list