path: root/src/lib/ector/software/ector_software_buffer.c (follow)
AgeCommit message (Collapse)Author
2016-05-11Ector generic: Remove .Generic and .Base (hack no longer needed).Tom Hacohen
2016-03-03Automatic migration to Eo4.Tom Hacohen
I just ran my script (email to follow) to migrate all of the EFL automatically. This commit is *only* the automatic conversion, so it can be easily reverted and re-run.
2016-01-05ector: add Ector.GL.Buffer.* support.Jean-Philippe Andre
2016-01-05ector: add drawable flag to buffersJean-Philippe Andre
This indicates that a buffer can be used as a source to draw pixels. Can't they all do that? Well, not exactly. A CPU buffer can't be drawn by the GPU... not directly at least. That's what this flag is for.
2016-01-05ector buffer: add COW access modeJean-Philippe Andre
In case you map a buffer once for read-only and once for write, we can generate a temporary copy and return that instead. This buffer will be copied back to the original surface once the COW surface is unmapped.
2016-01-05ector: on-the-fly convert sw buffers during map()Jean-Philippe Andre
Also use map to generate spans. This should simplify some filters code, making things work, albeit inefficiently. At least they should work. Fix doc too.
2016-01-05ector: track maps in software bufferJean-Philippe Andre
2016-01-05ector: add engine-specific evas image buffer wrapperJean-Philippe Andre
Since Evas still relies entirely on Image_Entry and Evas_GL_Image, we will need an engine-specific wrapper object creating a Buffer around an existing cached image. Currently only SW support is implemented. GL will be more fun to do (with glReadPixels and whatnot).
2016-01-05ector: remove offset from Ector.Buffer.{map,unmap}Jean-Philippe Andre
It just makes things a bit more complicated and doesn't correspond to a classic "map" operation anyways. Also return void* instead of uint8_t*. This is more correct and avoid extra casts.
2015-12-03Ector: Another minor code cleanupJean-Philippe Andre
Remove DATA8, DATA16, DATA32 Remove empty data structure Remove unnecessary typedef
2015-12-03Ector: Move drawhelper to static_libsJean-Philippe Andre
Rename a few things: - draw helper -> efl_draw - Ector_Rop -> Efl.Gfx.Render_Op - ECTOR_ bla bla -> DRAW_ bla bla (base pixel ops) - ector_memfill -> draw_memset32 (and invert arg order to match memset) The main rasterizer file is now draw.h in static_libs/draw This is a non functional change, simple code refactor.
2015-12-03Ector: Use Ector Buffer inside SW and Cairo renderersJean-Philippe Andre
Ector Surface now inherits from Ector Buffer, and the current two renderers (SW and Cairo SW) use Ector.Software.Buffer implementations for pixel surfaces. Basic pixel handling is merged and will allow easy extension (color conversion, etc...). Buffer classes are Mixins to be fully implemented by the final class, such as: Ector.Software.Buffer, Ector.Software.Surface or Ector.Cairo.Surface. This is a large ugly commit. Sorry. The code is quite a mess right now.
2015-12-03Ector: Implement pixel buffer supportJean-Philippe Andre
The objective of this patch is to propose a standardized format for pixel buffers to use within Ector and Evas. The basic EO API provided here is not meant to be the fastest path for all operations, simply the most convenient to generalize. Performance will be achieved by implementing (or porting) custom draw functions. This implements support for: - Generic pixel buffers - Generic buffer renderer to draw images with ector - Software engine pixel buffers, ie. malloc buffers - Software buffer renderer Cairo support has not been implemented yet. The only renderer is still extremely limited, as it does not support Fill modes, Scaling, etc... yet. Not a single line from this patch has been tested yet. It compiles. That's pretty damn good for a start! @feature