[Mesa-dev] [PATCH 1/3] vl/dri3: handle the case of different GPU(v4)
Christian König
deathsimple at vodafone.de
Fri Sep 16 08:17:57 UTC 2016
Am 16.09.2016 um 10:07 schrieb Michel Dänzer:
> On 14/09/16 02:34 PM, Nayan Deshmukh wrote:
>> In case of prime when rendering is done on GPU other then the
>> server GPU, use a seprate linear buffer for each back buffer
>> which will be displayed using present extension.
>>
>> v2: Use a seprate linear buffer for each back buffer (Michel)
>> v3: Change variable names and fix coding style (Leo and Emil)
>> v4: Use PIPE_BIND_SAMPLER_VIEW for back buffer in case when
>> a seprate linear buffer is used (Michel)
>>
>> Signed-off-by: Nayan Deshmukh <nayan26deshmukh at gmail.com>
> Looks mostly good to me, but Leo should probably also take a look.
>
> Acked-by: Michel Dänzer <michel.daenzer at amd.com>
I was just about to ping you guys for comments on this.
Leo anything more you want to add or should I commit it? I'm not so deep
into this code either.
Christian.
>
>
>> @@ -235,16 +240,35 @@ dri3_alloc_back_buffer(struct vl_dri3_screen *scrn)
>> templ.height0 = scrn->height;
>> templ.depth0 = 1;
>> templ.array_size = 1;
>> - buffer->texture = scrn->base.pscreen->resource_create(scrn->base.pscreen,
>> - &templ);
>> - if (!buffer->texture)
>> - goto unmap_shm;
>>
>> + if (scrn->is_different_gpu) {
>> + buffer->texture = scrn->base.pscreen->resource_create(scrn->base.pscreen,
>> + &templ);
>> + if (!buffer->texture)
>> + goto unmap_shm;
>> +
>> + templ.bind |= PIPE_BIND_SCANOUT | PIPE_BIND_SHARED |
>> + PIPE_BIND_LINEAR;
>> + buffer->linear_texture = scrn->base.pscreen->resource_create(scrn->base.pscreen,
>> + &templ);
>> + pixmap_buffer_texture = buffer->linear_texture;
>> +
>> + if (!buffer->linear_texture)
>> + goto no_linear_texture;
>> +
>> + } else {
> Bonus points for not adding the empty line at the end of the block here. :)
>
>
More information about the mesa-dev
mailing list