[Mesa-dev] [PATCH 1/7] mesa: Add usage history bitfield to buffer objects

Marek Olšák maraeo at gmail.com
Thu Oct 2 12:03:29 PDT 2014


On Thu, Oct 2, 2014 at 8:21 PM, Ian Romanick <idr at freedesktop.org> wrote:
> On 10/01/2014 09:06 AM, Marek Olšák wrote:
>> On Wed, Oct 1, 2014 at 11:02 AM, Chris Forbes <chrisf at ijw.co.nz> wrote:
>>> In the drivers, we occasionally want to reallocate the backing
>>> store for a buffer object; often to avoid waiting for the GPU
>>> to be finished with the previous contents.
>>>
>>> At the point that happens, we don't have a good way of determining
>>> where else the buffer object may be bound, and so no good way of
>>> determining which dirty flags need to be raised -- it's fairly
>>> expensive to go looking at all the possible binding points.
>>
>> I don't think so. We do look at all binding points in radeon drivers.
>> See for example r600_invalidate_buffer. It also only flags the binding
>> points where the buffer being invalidated is bound and only those
>> bindings points are updated.
>>
>> Also I don't see a point in adding things to mtypes.h that are only
>> used by one driver.
>
> Well... it's only used in one driver because only one driver has been
> modified to use it. :)
>
> The question is whether the radeon or nvc0 drivers could use this to
> avoid burning some CPU cycles.  If they can't, is there some changes to
> the patches that would enable them to do so.

Gallium drivers cannot use anything from src/mesa. Only st/mesa can.

Gallium drivers shouldn't depend on certain features from src/mesa,
because there are also other users of gallium that use the 3D engine.

I think st/mesa will only use the new driver flag from gl_driver_flags.

Marek


More information about the mesa-dev mailing list