[Mesa-dev] [PATCH 1/3] gallium: split transfer_inline_write into buffer and texture callbacks

Roland Scheidegger sroland at vmware.com
Fri Jul 22 23:31:49 UTC 2016


Am 22.07.2016 um 22:40 schrieb Marek Olšák:
> Would anybody from VMWare like to comment?
I didn't really feel compelled to ;-).
The change looks reasonable to me. The whole transfer_inline_write thing
is there to make things faster, so if it's help saving cpu cycles by
using two separate functions that looks good (plus, buffers and textures
are quite different indeed). (We'll have some code to adapt of course,
but this should be trivial.)

So, Acked-by:
Roland Scheidegger <sroland at vmware.com>


> 
> Marek
> 
> On Mon, Jul 18, 2016 at 2:25 PM, Marek Olšák <maraeo at gmail.com> wrote:
>> From: Marek Olšák <marek.olsak at amd.com>
>>
>> to reduce the call indirections with u_resource_vtbl.
>>
>> The worst call tree you could get was:
>>   - u_transfer_inline_write_vtbl
>>     - u_default_transfer_inline_write
>>       - u_transfer_map_vtbl
>>         - driver_transfer_map
>>       - u_transfer_unmap_vtbl
>>         - driver_transfer_unmap
>>
>> That's 6 indirect calls. Some drivers only had 5. The goal is to have
>> 1 indirect call for drivers that care. The resource type can be determined
>> statically at most call sites.
>>
>> The new interface is:
>>   pipe_context::buffer_subdata(ctx, resource, usage, offset, size, data)
>>   pipe_context::texture_subdata(ctx, resource, level, usage, box, data,
>>                                 stride, layer_stride)
>> ---
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.freedesktop.org_mailman_listinfo_mesa-2Ddev&d=CwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Vjtt0vs_iqoI31UfJxBl7yv9I2FeiaeAYgMTLKRBc_I&m=s2X_1io_PXD1egZQfheQjckhnywN9aNskmn_3OXJbkA&s=Co_Nq1RW9hhWF1eyX42-yY6adnS2VRD4zJEEkAwvxzM&e= 
> 



More information about the mesa-dev mailing list