output: don't call output_get_dpms in case of commit-per-vblank disabled 12/118012/1
authorBoram Park <boram1288.park@samsung.com>
Wed, 8 Mar 2017 08:48:37 +0000 (17:48 +0900)
committerBoram Park <boram1288.park@samsung.com>
Wed, 8 Mar 2017 08:48:37 +0000 (17:48 +0900)
Change-Id: I3e1b57d58b6a71586a247b7611dd592baa2ad73e

src/tdm_output.c

index cb5045cea01eca777bcf5b865830d31e0756b91e..4fae5b0cacb9c1cd83952cdae09a5ee8e75fffe3 100644 (file)
@@ -884,7 +884,13 @@ tdm_output_commit_internal(tdm_output *output, int sync, tdm_output_commit_handl
                return TDM_ERROR_NOT_IMPLEMENTED;
        }
 
-       tdm_output_get_dpms_internal(output, &dpms_value);
+       /* TODO: this is ugly. But before using tdm_output_get_dpms_internal, we have
+        * to check if all backends's DPMS operation has no problem.
+        */
+       if (private_display->commit_per_vblank)
+               tdm_output_get_dpms_internal(output, &dpms_value);
+       else
+               dpms_value = private_output->current_dpms_value;
 
        if (dpms_value == TDM_OUTPUT_DPMS_ON) {
                if (func) {