[PATCH weston 2/2] compositor-drm: Restore use-current-mode functionality

Armin Krezović krezovic.armin at gmail.com
Thu Nov 10 10:20:10 UTC 2016


On 09.11.2016 15:43, Daniel Stone wrote:
> Hi Armin,
> 

Hi,

> On 9 October 2016 at 22:48, Armin Krezović <krezovic.armin at gmail.com> wrote:
>> diff --git a/compositor/main.c b/compositor/main.c
>> index 320305c..ffeadfb 100644
>> --- a/compositor/main.c
>> +++ b/compositor/main.c
>> @@ -78,6 +78,7 @@ struct wet_compositor {
>>         struct weston_config *config;
>>         struct wet_output_config *parsed_options;
>>         struct wl_listener pending_output_listener;
>> +       bool drm_use_current_mode;
>>  };
> 
> I'm fairly confused about this one, though I freely admit I didn't
> track the libweston config work, so may have missed something.
> 
> What makes --use-current-mode special enough that it should be the
> only such option inside struct wet_compositor? What makes it different
> to, say, use_pixman, which lives in the DRM backend?
> 

The thing is, --use-pixman flag is used in many places throughout the backend,
while --use-current-mode is only used by function that sets the mode. That
function is now called by the user, and is required to be called before
enabling the output, whereas it was previously done in the backend itself, and
it got the necessary configuration values by calling into an user-defined function
(configure output -> user defined function -> set mode).

>> @@ -1138,7 +1140,7 @@ drm_backend_output_configure(struct wl_listener *listener, void *data)
>>                 weston_output_disable(output);
>>                 free(s);
>>                 return;
>> -       } else if (strcmp(s, "current") == 0) {
>> +       } else if (wet->drm_use_current_mode || strcmp(s, "current") == 0) {
>>                 mode = WESTON_DRM_BACKEND_OUTPUT_CURRENT;
>>         } else if (strcmp(s, "preferred") != 0) {
>>                 modeline = s;
> 
> What would the difference be to making this check be 'else if
> (b->use_current_mode || strcmp(s, "current") == 0)'?
> 
> Cheers,
> Daniel
> 

struct drm_backend is private to compositor-drm.c as far as I'm aware. We can't
use it here.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 837 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20161110/40bd4d2a/attachment.sig>


More information about the wayland-devel mailing list