Commit Graph

30032 Commits

Author SHA1 Message Date
Chris Michael 9ce8a3b4fa evas-drm: Add back in the r, g, b masks for conversion
Summary: This is a big oopsie !! Should not have been removed during
previous commit.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:37:53 -04:00
Chris Michael eea1f831c2 evas-drm: Remove evas_drm file from build order
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>
2015-04-08 14:03:49 -04:00
Chris Michael 50cb68dbc6 evas-drm: Make evas drm engine use new ecore_drm functions
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>
2015-04-08 14:03:49 -04:00
Chris Michael 1e5557469a evas-drm: Cleanup drm engine code
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>
2015-04-08 14:03:49 -04:00
Chris Michael 10973238e3 evas-drm: Cleanup evas_engine header file
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>
2015-04-08 14:03:49 -04:00
Chris Michael bdc4d3ebcc evas-drm: Cleanup Engine Info structure
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>
2015-04-08 14:03:49 -04:00
Chris Michael 4bbb84ceb0 ecore-evas-drm: Use new Ecore_Drm functions to get properties of the output
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>
2015-04-08 14:03:49 -04:00
Chris Michael 72af269a7a ecore-drm: Change @since 1.15 to @since 1.14 for newly added APIs
Summary: As requested by stefan, change newly added APIs to be @since
1.15

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael 677e0c0952 ecore-drm: Modify device pageflip function to accept ecore_drm_fb callbacks
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>
2015-04-08 14:03:49 -04:00
Chris Michael c98ac111d3 ecore-drm: Add private structure used during pageflip calls
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael 382a10d7df ecore-drm: Add 2 new API functions for setting and sending framebuffers
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>
2015-04-08 14:03:49 -04:00
Chris Michael bcdec3c57c ecore-drm: Add an API function to return the connector id of an output
Summary: This adds an API function to return the connector id of a
given output.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael 9b4511d6be ecore-drm: Whitespace removal
Summary: No functional changes, just removing whitespace

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael 45dbff677d ecore-drm: Add API function to return an output's crtc id
Summary: This adds an API function to return the crtc id of an output

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael c4b7400d5a ecore-drm: Add API function to return an output crtc buffer id
Summary: This adds an API function to return an output's crtc buffer id

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael 06107c9720 ecore-drm: Add API function to find an output at given coordinates
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>
2015-04-08 14:03:49 -04:00
Chris Michael 2715ce856c ecore-drm: Move doxygen documentation to main Ecore_Drm header
Summary: This moves all doxygen to the main Ecore_Drm header to match
rest of efl.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael 40aff97087 ecore-drm: Remove unused API function that should not have been committed
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>
2015-04-08 14:03:49 -04:00
Chris Michael 245a3c50a2 ecore-drm: Move drm headers to Ecore_Drm
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>
2015-04-08 14:03:49 -04:00
Chris Michael 104a43708b ecore-drm: Create drmEventContext Once during device open
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>
2015-04-08 14:03:49 -04:00
Chris Michael 77513e7976 ecore-drm: Skip repaints if we are VT switched away
Summary: This allows us to skip output rendering if we are VT switched
away.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael 8bea018adc ecore-drm: Update device active state on VT switch and use new output_disable function
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>
2015-04-08 14:03:49 -04:00
Chris Michael 36f79649e7 ecore-drm: Add API function to disable an output
Summary: This adds a new API function we can call to disable an Ecore_Drm_Output

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:49 -04:00
Chris Michael c1b625678f ecore-evas-drm: Setup Ecore_Drm_Device for software rendering
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>
2015-04-08 14:03:49 -04:00
Chris Michael 22f2ab18ed ecore-drm: Update drm device & output code to remove per-output dumb buffers
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>
2015-04-08 14:03:49 -04:00
Chris Michael 1a21ff3c13 ecore-drm: Add API to setup the drm device for software rendering
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>
2015-04-08 14:03:49 -04:00
Chris Michael 8acd29ff4a ecore-drm: Remove per-output framebuffers
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>
2015-04-08 14:03:49 -04:00
Chris Michael adfff7c05e ecore-drm: Fix issue of outputs_geometry_get not skipping cloned outputs
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>
2015-04-08 14:03:49 -04:00
Chris Michael 0722632c78 ecore-drm: Delay destroy of output if there is a pending flip
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>
2015-04-08 14:03:48 -04:00
Chris Michael 2a4a095dbe evas-drm: Use ecore_drm_fb_dirty function to mark framebuffer as dirty
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>
2015-04-08 14:03:48 -04:00
Chris Michael 4a2425d342 ecore-drm: Add API function to mark a Framebuffer as dirty
Summary: This adds an API function used to mark a framebuffer as dirty

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:48 -04:00
Chris Michael 9c227fb56b ecore-drm: Fix output_geometry_get function
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>
2015-04-08 14:03:48 -04:00
Chris Michael 061967f67a ecore-drm: Remove debug line from launcher
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:48 -04:00
Chris Michael ff9b8f64d3 ecore-drm: Set mode flag for preferred if this is the preferred mode
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>
2015-04-08 14:03:48 -04:00
Chris Michael e034b2a1e9 ecore-drm: Add API function to set output gamma
Summary: This commit adds new API for setting gamma of an Ecore_Drm_Output

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:48 -04:00
Chris Michael 135a1b8696 ecore-drm: Improve drm output creation, mode detection, and cloning support
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>
2015-04-08 14:03:48 -04:00
Chris Michael 911f253770 ecore-drm: Send ECORE_DRM_EVENT_OUTPUT on unplug also
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>
2015-04-08 14:03:48 -04:00
Chris Michael 8cbffe36c2 ecore-drm: Add support for DPMS on an output
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>
2015-04-08 14:03:48 -04:00
Chris Michael 20832a3c48 ecore-drm: Better output name format
Summary: Make output names match format reported from kernel

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:48 -04:00
Chris Michael 10669573ac ecore-drm: Fix formatting
Summary: NO functional changes, just formatting

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:48 -04:00
Chris Michael 8a3581f13a ecore-drm: Fix issue with edid_parse_string truncating strings
Summary: We should only truncate the string if it's greater than 4

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:48 -04:00
Chris Michael fbc7f2235c ecore-drm: Add more connector types
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>
2015-04-08 14:03:48 -04:00
Chris Michael 1a38dc0819 ecore-drm: Fix formatting
Summary: NO functional changes, just formatting.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-04-08 14:03:48 -04:00
Chris Michael 25927cb5c7 ecore-drm: Move Eeze Udev Watch to Drm Device
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>
2015-04-08 14:03:48 -04:00
Chris Michael 52752072ae evas-drm: Use Ecore_Drm_Fb for framebuffers
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>
2015-04-08 14:03:48 -04:00
Chris Michael 5f9ddce261 ecore-drm: Add width & height to Ecore_Drm_Fb structure
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>
2015-04-08 14:03:48 -04:00
Chris Michael e1d6cbdee9 evas-drm: Remove evas_bufmgr.c from the Evas Drm engine
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>
2015-04-08 14:03:48 -04:00
Chris Michael a39b72c798 ecore-drm: Create all framebuffers using XRGB8888 by default
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>
2015-04-08 14:03:48 -04:00
Stefan Schmidt c3ee9ff22b eina_matrix: Add since tags to all new functions in 1.14 2015-04-08 14:39:50 +02:00
Stefan Schmidt a12c53ba7a eina_quad: Add since tags for new eina_quad*()
This needs documentation for the new functions.
2015-04-08 14:39:49 +02:00