[Mesa-dev] Implement memory information for RPi4 Vulkan

Jason Ekstrand jason at jlekstrand.net
Sun Oct 27 00:31:25 UTC 2019


First off, ignore the whole 48-bit heap thing. It exists to work around
some weird issues with our vertex fetch hardware.  We're going to be
deleting it and switching to using a different workaround (more tracking
and flushing) in the near future.

As far as heap sizes go, copying ANV is probably not a bad idea since it's
also a UMA. We claim half of your RAM if the system has <= 4GB and 3/4 if
your system has > 4GB. It's not perfect but it's been working well for 4
years now.  We also have code in there (which you're free to steal) for
figuring out your available system and reporting that back to the app.

--Jason

On Sat, Oct 26, 2019, 16:23 <abergmeier at gmx.net> wrote:

> On my impossible quest  to try to implement a Vulkan driver for RPi4, I
> now need to implement memory information (mostly heap and types).
> As always I shadowed what anv is doing but have no access to RPi
> documentation. What is the best approach to get necessary information for
> question like:
> 1. Need 48+bit addresses supported (would assume no since the max. memory
> config is 4GB)?
> 2. What can be exposed as the heap start/end/size?
> 3. Which types of memory can one support (would
> assume VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
> VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_COHERENT_BIT
> and VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT |
> VK_MEMORY_PROPERTY_HOST_VISIBLE_BIT | VK_MEMORY_PROPERTY_HOST_CACHED_BIT)?
>
> I will have another look at v3d (drm) sources. Is there something to be
> found in v3d (gallium)?
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20191026/c693b693/attachment.html>


More information about the mesa-dev mailing list