Skip to content
Snippets Groups Projects
  1. Feb 20, 2023
    • Rob Swindell's avatar
      Resolve GCC warning · d20d7fd0
      Rob Swindell authored
      warning: passing argument 1 of ‘ra’ discards ‘const’ qualifier from
      pointer target type
      d20d7fd0
  2. Feb 11, 2023
    • Deucе's avatar
      Fix a couple issues found by Coverity · e45ef7f1
      Deucе authored
      1) Unreachable return without a lock in sdl_useR_func_ret() (harmless)
      2) LOR in handling SDL_USEREVENT
         - vstatlock was obtained inside of win_mutex which should never
           be done... this could (and likely does) result in a deadlock
           when using SDL mode.
      e45ef7f1
  3. Dec 29, 2022
  4. Dec 28, 2022
    • Deucе's avatar
      aeca9bc0
    • Deucе's avatar
      Add support for PPM graphics to SyncTERM · 6f97dfce
      Deucе authored
      You can copy whole, or portions of a PPM file from the cache directory
      to the screen, optionally applying a mask.  The mask can be specified
      as a base64-encoded bitmap or as a PBM file in the cache directory.
      
      You can also copy portions of the screen into an internal buffer, and
      draw from that internal buffer.  There's plans to support loading an
      image file from the cache directory into the buffer as well.
      
      Portions of the buffer can be copied to the screen, optionally
      applying a mask as with drawing PPMs.
      
      There's also plans to support copying a PBM file into a mask buffer.
      
      I've added the syncterm-bounce.js script which simply bounces the
      SyncTERM icon around the screen like the classic screensaver we all
      hate.  I initially wanted to replace the spinning cursor with it,
      but there doesn't seem to be a way to replace that with a script. :(
      
      To use the script, just add the text:
      @EXEC:syncterm-bounce.js@ to the end of your logon.js script.
      
      Log in to nix.synchro.net with the latest nightly build or build from
      git to see the script in action.
      6f97dfce
  5. Dec 26, 2022
  6. Dec 23, 2022
  7. Nov 07, 2022
  8. Nov 06, 2022
  9. Oct 12, 2022
  10. Oct 08, 2022
  11. Jun 11, 2022
  12. Feb 27, 2022
  13. Feb 26, 2022
  14. Feb 25, 2022
  15. Feb 23, 2022
  16. Feb 12, 2022
  17. Feb 11, 2022
  18. Feb 10, 2022
  19. Jun 03, 2021
  20. May 23, 2021
    • Deucе's avatar
      Default to blocky scaling · 96b14c03
      Deucе authored
      For programs that don't specify a scaling type (scfg, syncdraw)
      use blocky scaling.
      96b14c03
  21. May 22, 2021
  22. May 21, 2021
    • Deucе's avatar
      Fix newly-introduced memory leak... · 233c1bf4
      Deucе authored
      I was going to start keeping the old rect around again, but that
      idea didn't pan out.  This massive memory leak is what I get for
      not doing more commits while tuning.
      233c1bf4
    • Rob Swindell's avatar
    • Deucе's avatar
      Fix bug in last commit · b8628152
      Deucе authored
      Pixes set via setpixels() were only set in the "blink off" screen
      and not in the "blink on" screen... so they all reverse blinked.
      b8628152
    • Deucе's avatar
      Optimizations: · cc1c4f34
      Deucе authored
      1) Keep a rectangle updated per-screen rather than regenerate each time
      2) Strip palette info when putting pixels into rectangles rather than
         during scaling
      3) Tighten up the screen locks a bit
      4) Don't require a full resend of both screens on an update request
      5) Only force a redraw for cursor movement when the cursor is visible
         (And force it whenever the cursor changes)
      6) Avoid doubles in interpolation
      7) Heavily optimize interpolate_height()
         interpolate_width() likely doesn't need it because it's generally not
         used and also it reads from the next pixel in memory making the
         prefetchers job easier.
      8) Fix some memory-leak-on-error issues
      9) For ARGB8 XImages, manipulate the data directly rather than through
         XPutPixel()
      
      At this point, the scaling and X11 output time is heavily dominated by
      cache misses.  The only really effective way to reduce this hit is to
      spread the work across all the L3 caches in the system or move it into
      the GPU.
      
      With the latest updates, at the SyncTERM menu, over 90% of the time is
      spent in the rendering pipeline, and over 90% of that time is spent
      thrashing the caches... the only real easy win left is vectorizing, but
      that's highly compiler specific.
      
      To that end, I've switched to -O3 for release builds.  There was a comment
      that -finline-functions broke Baja "badly", but that's clearly false since
      -f-inline-functions has been part of -O2 for quite a while now, and Baja
      doesn't seem any more broken that it ever was.
      cc1c4f34
Loading