Skip to content

Releases: AgonPlatform/vdp-gl

hard-cursors

01 Jan 14:02
346c604

Choose a tag to compare

hard-cursors Pre-release
Pre-release

Version 1.05 with all the changes from previous tags up to and including firm-sprites.

This version brings three new features, and fixes one bug:

  • The mouse cursor is now drawn using the hardware sprite support on scan-out
    • It will be drawn after all other hardware sprites
    • Support for rendering the mouse cursor as a software sprite has been removed
    • Adjusting the mouse cursor in any way no longer forces (software) sprites to be redrawn
    • Restrictions on hardware sprite support means that mouse cursors can no longer use "mask/mono" bitmaps
  • Hardware sprites using RGBA2222 bitmaps can be set to using the XOR painting mode
    • Any other paint mode will be interpreted as "set pixel"
    • No other painting modes are supported, and hardware sprites using RGBA8888 bitmaps still only support "set"
  • Support for a hardware-sprite based text cursor has been added
    • If a text cursor sprite has been set it will be drawn before any other hardware sprites
    • Setting a sprite to use as the text cursor is done by calling vgaController->setTextCursor(spritePtr);
    • Clearing the cursor sprite is done using vgaController->setTextCursor(null);
    • vdp-gl does not update the position or visibility of this sprite, as it does not contain any text cursor management code...
      • This means that the caller is responsible for adjusting the sprite positioning, and other functionality such as toggling the sprite visibility to make the text cursor flash
  • The stack size for the primitives drawing task has been increased from 1200 bytes to 3000 bytes
    • The original smaller stack size was found to be responsible for some instabilities seen in the Agon's VDP firmware, especially when hardware sprites were being used, as well as when some more complex drawing operations were performed. Stack overflows were occurring, corrupting memory which could cause spurious crashes, often without meaningful stack traces
    • Increasing this stack size has resolved those issues and resulted in a significant increase in VDP stability

firm-sprites

08 Apr 12:12
7fbecf0

Choose a tag to compare

firm-sprites Pre-release
Pre-release

Version 1.05 with all the changes from previous tags up to and including hard-copper.

This version addresses two significant bugs:

  • Fixes VDP firmware updates using the agon-flash tool
    • It was discovered that the new VGA scan-out routines that support hardware sprites was conflicting with the VDP firmware upload using the flash tool, causing the VDP to crash and restart. This has now been addressed, and the flash tool works again
  • Fixes for hardware sprites using RGBA2222 format bitmaps
    • In investigating issues with uploading firmware via the flash tool it was also discovered that hardware sprites that used bitmaps in RGBA2222 format could also crash and restart the VDP. This has also now been addressed

hard-copper

18 Feb 14:21
c0537d4

Choose a tag to compare

hard-copper Pre-release
Pre-release

Version 1.05 with all the changes from the previous tags up to and including canvas-noop.

This version adds in two significant features:

  • Hardware sprites
    • sprites now support a hardware boolean, which will mean that they are rendered on-the-fly during scan-out
    • this works for all modes based on VGAPalettedController
    • VGAController does not support hardware sprites but...
    • a new VGA64Controller, based on VGAPalettedController, has been added. The framebuffer in this mode is identical to VGAController, but scanout works identically to the other palette-based controllers, thus it supports hardware sprites. It does not actually support a palette - the framebuffer is SRGB2222 format (Signal, Red, Green Blue). Performance appears to be very similar to VGAController
  • "Copper" effects
    • These are some facilities that are inspired by the Amiga "Copper" chip
    • In modes that include a palette, multiple different palettes can be defined, and a "signal list" can be defined to dictate which palette should be used for different scanlines
    • This therefore allows for 2, 4, 8 and 16 colour modes to vary their palette during scan-out, allowing them to use up to all 64 available colours - similar in concept to the "HAM mode" concept on an Amiga
    • A frame counter is now kept for all screen modes, which can be used for simplified checking for new frames, which can facilitate some other effects to be built

canvas-noop

15 Jan 16:50
f4292a5

Choose a tag to compare

canvas-noop Pre-release
Pre-release

Version 1.05 with all the changes from the previous tags up to and including tweaked-terminal.

Adds in a simple canvas->noOp() method which can be used in conjunction with canvas->waitCompletion(true) to guarantee a "wait for VSYNC". Without this when the canvas drawing queue is empty a wait completion call will always just return immediately.

tweaked-terminal

14 Jan 16:34
8c5c40d

Choose a tag to compare

tweaked-terminal Pre-release
Pre-release

Version 1.0.5 with all the changes from previous tags up to and including get-bitmap-pixel.

Adds in changes made to fab-gl terminal code after vdp-gl was forked.

get-bitmap-pixel

24 Aug 11:29
9bd8fc8

Choose a tag to compare

get-bitmap-pixel Pre-release
Pre-release

Version 1.0.5 with changes from copy-to-bitmap, gcol-paint-modes, dotted-arcs-etc and transformed-bitmaps.

Also adds in:

  • Support for getting individual pixels from a bitmap in RGBA8888 or RGBA2222 format
    • used in agon-vdp to create a new bitmap that is transformed from an original
  • Reduces the minimum free internal memory block configuration from 40000 bytes to 4000 bytes
    • allows more screen modes to be used than before
    • increases reliability of screen mode availability

transformed-bitmaps

04 Jun 18:01
c161014

Choose a tag to compare

transformed-bitmaps Pre-release
Pre-release

Version 1.0.5, with changes from copy-to-bitmap, gcol-paint-modes and dottedlines-arcs-etc tags

Also adds in:

  • Support for drawing bitmaps with a 3x3 2d affine transformation matrix of float values
    • this is supported in all screen depths
    • for all bitmap formats, except for "native"

dottedlines-arcs-etc

21 Mar 16:31
9bd6386

Choose a tag to compare

dottedlines-arcs-etc Pre-release
Pre-release

Version 1.0.5, with changes from copy-to-bitmap and gcol-paint-modes tags.

Also adds in:

  • support for drawing dotted lines
  • ability to skip start and/or end pixels of lines
  • drawing arcs
  • filled sectors
  • filled segments

gcol-paint-modes

08 Feb 15:49
88b81c8

Choose a tag to compare

gcol-paint-modes Pre-release
Pre-release

Version 1.0.5, with changes from copy-to-bitmap tag, and also adding in new paint modes compatible with Acorn's 0-7 GCOL paint modes

copy-to-bitmap

14 Dec 16:11

Choose a tag to compare

copy-to-bitmap Pre-release
Pre-release

Version 1.0.5 with additional copyToBitmap function