Summary: The Evas Drm engine makes use of Ecore_Drm functions now so
we no longer need private versions of the same code
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: As we already have Ecore_Drm which handles all things drm
related, let's make use of it in the Evas Drm Engine. This modifies
the 'meat' of the Evas Drm engine to use Ecore_Drm functions rather
than keeping private versions of the same code.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: With the evas drm engine refactor, some of the fields in the
Render_Engine structure are unused so remove them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: With the evas drm engine refactor, a lot of these fields in
the Outbuf structure are unused so remove them. This also removes
unused private function declarations.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: A few of these engine fields are no longer needed or were
unused in the Evas Drm engine so remove them.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This makes use of the newly added Ecore_Drm API functions to
get information about the output so we can setup the Evas engine
properly
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This modifies the ecore_drm_device pageflip function to make
use of the ecore_drm_fb callbacks passed into the ecore_drm_fb_send
function
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds 2 new API functions we can use from within the evas
drm engine to set framebuffers as current, and to call a pageflip on
given buffers.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This commit adds an API function that can be used to find an
output given an x/y coordinate pair.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This API was added in the header while testing a theory, and
should not have been committed.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Since we only create one drm context in the drm_device
structure now, we need the drm headers to be included in Ecore_Drm.h
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This changes allows us to reuse the same drmEventContext once
so that when we get drm events, we are not constantly recreating the
drmEventContext.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This marks an Ecore_Drm_Device as active or not when we VT
switch. We do this so we can skip rendering if we are not active.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If we are using the software version of ecore_evas_drm, then
make API call to setup the Ecore_Drm_Device for software rendering.
This creates the dumb buffers on the Ecore_Drm_Device.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Since we now create the dumb buffers in the ecore_drm_device
structure, we don't need them on a per-output basis. This commit fixes
the output & device code to adjust to this.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds an API we can call from ecore_evas to setup the
device for software rendering which will cause dumb buffers to be
created in the Ecore_Drm_Device structure.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: No real need for each output to have its own framebuffers as
we can just create dumb buffers in the drm device structure
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When we make the call to outputs_geometry_get, we should NOT
include cloned outputs in the final size.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If an output has a pending page flip, we cannot destroy it
until the page flip has completed. This commit adds support to delay
destroying an output until the page flip is completed.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This removes an internal evas drm engine function and instead
uses the new ecore_drm_fb_dirty function call to mark the framebuffer
as dirty
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes an issue where heights of all outputs would get
added, thus causing the ecore_evas to be created at the wrong size.
Now, the height will be whichever output is larger.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This fixes a minor oversight in ecore_drm_output_mode_add
which was not setting the mode->flag to preferred if this is a
preferred mode.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This refactors the output creation code to support better
mode detection, cloning of hotplugged outputs, and initial support for
setting of output gamma (API to follow)
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: If we unplug an output, we should still be sending this event
so that the compositor can remove any unplugged outputs
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This commit adds support for setting DPMS level of an output.
This adds a new API function 'ecore_drm_output_dpms_set' to set the
level.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: libdrm has support for Virtual and DSI connector types, so
add those to the connector types
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: Move the Eeze udev watch to inside the ecore_drm_device. This
allows us to only create One watch to catch all output changes. No
need for more than one watch (one per output) as was done previously
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This commit changes the evas drm engine to use Ecore_Drm_Fb
for framebuffers. We remove the old 'Buffer' structure from the evas
engine and replace it in Outbuf with Ecore_Drm_Fb. This also removes
unused functions from the evas_drm.c file as we can now use
ecore_drm_fb calls
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This adds a w & h field to the Ecore_Drm_Fb structure so it
can be used from within the Evas engine
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: This file is not needed for the software drm engine. This was
added (initially) for combining the drm software & hardware engines
into one. As that is not the case, this file is unused.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: By default, we should be creating dumb buffers using XRGB8888
that way it does not matter if we have an alpha channel or not in the
buffer.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>