Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FFI interface for Linux framebuffer (eink-oriented for now) #96

Merged
merged 23 commits into from
Nov 26, 2013

Commits on Nov 1, 2013

  1. Configuration menu
    Copy the full SHA
    86e71e0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bd8cb62 View commit details
    Browse the repository at this point in the history
  3. remove RGB16

    we won't likely use it, it is full of bitops, thus pretty slow
    hwhw committed Nov 1, 2013
    Configuration menu
    Copy the full SHA
    220143e View commit details
    Browse the repository at this point in the history
  4. fix accidentally deleted types

    hwhw committed Nov 1, 2013
    Configuration menu
    Copy the full SHA
    0dab4f9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    097fbb1 View commit details
    Browse the repository at this point in the history
  6. bugfix for value setting

    hwhw committed Nov 1, 2013
    Configuration menu
    Copy the full SHA
    f38e223 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2013

  1. factor out POSIX API

    hwhw committed Nov 11, 2013
    Configuration menu
    Copy the full SHA
    8e358fc View commit details
    Browse the repository at this point in the history
  2. blitbuffer with much more optimized blitting

    this introduces the ability to implement n:m bpp optimized blitting.
    This allows for a major speedup. Comes with implementation especially
    for from/to 4bpp blitbuffer blitting.
    hwhw committed Nov 11, 2013
    Configuration menu
    Copy the full SHA
    c883db4 View commit details
    Browse the repository at this point in the history
  3. use blitbuffer API for conversion

    now that blitbuffer API for A8 format exists, we can use the output
    of mupdf directly.
    hwhw committed Nov 11, 2013
    Configuration menu
    Copy the full SHA
    e738d11 View commit details
    Browse the repository at this point in the history
  4. adapt blitbuffer API test to deletion of RGB16 format

    RGB16 was dropped since it won't likely be used. Reflect this by
    removing the according test routine.
    hwhw committed Nov 11, 2013
    Configuration menu
    Copy the full SHA
    81b7f08 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b46debd View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2013

  1. fix for rotation modes

    4bpp handling was a bit adapted so rotated 4bpp can now be handled easier
    hwhw committed Nov 18, 2013
    Configuration menu
    Copy the full SHA
    f42960e View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2013

  1. remove test function from blitbuffer.lua

    tests are now in our test suite
    hwhw committed Nov 20, 2013
    Configuration menu
    Copy the full SHA
    7d1693a View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2013

  1. Add FFI implementation of drawcontext

    Drawcontext was a bunch of accessor methods to a C struct.
    We can do this easily with FFI.
    hwhw committed Nov 26, 2013
    Configuration menu
    Copy the full SHA
    4bfb317 View commit details
    Browse the repository at this point in the history
  2. Switch method to get drawcontext struct pointers from Lua

    This change is backwards compatible - it will still work for the old
    way of passing Lua userdata objects.
    hwhw committed Nov 26, 2013
    Configuration menu
    Copy the full SHA
    e3adb63 View commit details
    Browse the repository at this point in the history
  3. remove Lua header inclusion from drawcontext.h

    drawcontext.h now only serves to provide the declaration
    of the drawcontext struct.
    hwhw committed Nov 26, 2013
    Configuration menu
    Copy the full SHA
    c8cd5d3 View commit details
    Browse the repository at this point in the history
  4. Major rework of blitbuffer.lua (again...)

    Optimized blitting is removed for now. 4bpp buffer handling is greatly
    simplified by using Color4{L,U}:set(...) methods.
    
    Inversion and rotation are now done by setting according flags for blitbuffers.
    Flag storage is done in the "allocated" uint8_t struct variable of the classic
    blitbuffer struct which is still unchanged (and thus compatible to "classic"
    C blitbuffers as they were before going to FFI).
    
    It is quite fast even without optimized blitting routines. Nevertheless, the
    method to implement optimized routines is still present, so optimized routines
    could be created later on. It is probably not wise, though, to focus on 4bpp to
    much now that we can work with other formats, too.
    
    For a lot of rendering, we still do 24bpp or 8bpp to 4bpp conversion in C land,
    then another 4bpp to 8bpp or 16bpp conversion in Lua/FFI when blitting to the
    framebuffer. This could further be reduced to one conversion (if at all).
    hwhw committed Nov 26, 2013
    Configuration menu
    Copy the full SHA
    42fd834 View commit details
    Browse the repository at this point in the history
  5. Adaptions and bugfixes for SDL framebuffer emulation

    Now properly does rotation.
    hwhw committed Nov 26, 2013
    Configuration menu
    Copy the full SHA
    e65a081 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    eb9e5de View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d7414cf View commit details
    Browse the repository at this point in the history
  8. fix dimRect()/lightenRect()

    both methods didn't take inversion into account. Now their implementation
    respects inversion.
    hwhw committed Nov 26, 2013
    Configuration menu
    Copy the full SHA
    bc00e46 View commit details
    Browse the repository at this point in the history
  9. use new FFI implementations

    do not build old einkfb, blitbuffer and drawcontext modules
    use the FFI implementations in koreader-base wrapper
    hwhw committed Nov 26, 2013
    Configuration menu
    Copy the full SHA
    5105979 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3c80d60 View commit details
    Browse the repository at this point in the history