NEMAP1.4.1720250625-SW (NemaGFX [1.4.17] - 2025-06, NemaVG [1.1.12] - 2025-06)
October 8, 2025 ยท View on GitHub
Added
Changed
Fixed
- interpolating depth when z values are different at each vertex. Workaround for current HW (Z24_8 format)
- interpolating negative depth steps
- Collinear optimisation in stroking when lines have different direction
NEMAP_1.4.15_20250508-SW (NemaGFX [1.4.15] - 2025-05, NemaVG [1.1.11] - 2025-05)
Added
Changed
Fixed
- nema_fill_rounded_rect_aa: remove extra drawn triangle in corners for STM32U5A9 revision B
- Circular flag is set during bind stage not unbind
- Fix putting caps in zero paths when other parts of the path are drawn
- Reset end line information when a new subpath starts
- Do not draw a join between first and last line when they are not adjacent
- Clipped path writing incorrectly the user provided buffer size
NEMAP_1.4.13_20250120-SW (NemaGFX [1.4.13] - 2025-01, NemaVG [1.1.9] - 2025-01)
Added
- nema_enable_aa_flags: takes uint32_t aa flags as an argument
- nema_cmdlist: nema_cl_bind_sectored_circular()
- bind a command list as a sectored circular that is, a circular with multiple sectors (subCLs)
- NEMA_ERR_INVALID_SECTORED_CL_SIZE
- error when sectors of sectored CL are less than 512 bytes in size
- nema_vg_verify_path()
- Verify a path's coordinates if valid
- nema_vg_bind_clip_coords_buffer()
- new function for binding clipped data as float and clipped segments as unit8_t array
- nema_vg_bind_stencil_buffer_prealloc()
- new function for binding new stencil buffer at runtime
- nema_vg_bind_stencil_pool()
- new function for binding new stencil buffer at runtime
- nema_vg_bind_stencil()
- new function for binding new stencil buffer at runtime
- nema_vg_stroke_set_dash_pattern
- sets dash pattern
- nema_vg_stroke_set_dash_phase
- sets dash phase
- nema_vg_stroke_reset_dash_phase
- controls reset dash phase behaviour
Changed
- nema_vg_font_t struct has extra member of "units_per_em"
- nema_vg_bind_clip_coords_buf
- DEPRECATED
- nema_vg_draw_ring
- function now follows the caps set by nema_vg_stroke_set_cap_style()
Fixed
- nema_blender: perform masking with texture
- drawing coordinates outside nema hw limits when sw handling is enabled
- Vector font converter: generated font struct "units_per_em" field location
- miter limit calculation
- nema_vg_path_clear()
- Clear path data and segs
- nema_vg_generate_raster_font()
- Bugfix, incorrect bitmaps buffer clear
- nema_vg_tsvg_draw()
- Use non-zero fill rule when rendering fonts with fill
NEMAP_1.4.11_20240704-SW (NemaGFX [1.4.11] - 2024-06, NemaVG [1.1.7] - 2024-06)
Added
- nema_vg_stroke_set_cap_style()
- Support for end/start stroke caps (BUTT/SQUARE/ROUND)
- nema_vg_stroke_set_join_style()
- Support for stroke joins (BEVEL/ROUND/MITER)
- nema_vg_stroke_set_miter_limit
- Support for mitter join limit
- nema_vg_generate_raster_font()
- Generate a raster font from a vector font
- nema_vg_tsvg_disable_feature()
- Disables a tsvg feature from drawing
Changed
- nema_font: blending mode when rendering opaque characters
- nema_vg_paint_set_stroke_width() to nema_vg_stroke_set_width() nema_vg_paint_set_stroke_width() kept as DEPRECATED
NEMAP_1.4.10_20240301-SW (NemaGFX [1.4.10] - 2024-02, NemaVG [1.1.6] - 2024-02)
Added
- New blending operation: NEMA_BLOP_RECOLOR
- Support for multithread on circular command list
- provisional: nema_vg_thread_init() -Support for multiple threads in NemaVG
- nema_get_sw_device_name(): Function to return the name of the architecture for which the software has been compiled
Fixed
- nema_font: line width calculation
- nema_vg_font: line width calculation
- nema_vg: fixed NEMA_BLOP_SRC_CKEY mode with vg operations
- nema_cmdlist: flush command lists we have branched/jumped to
- nema_graphics: nema_reinit - preloaded shaders not loaded during reinit
- nema_vg_reinit: context stencil/lut buffer correct address after reinit
- AA issue in rotations (found in Tiger Ice cream demo, STMTCS-59)
NEMAP_H23.10_S1.4.9_20231110-SW
Added
- nema_get_sw_device_name(): Function to return the name of the architecture for which the software has been compiled
Fixed
- nema_reinit: preloaded shaders not loaded during reinit
- nema_vg_reinit: context stencil/lut buffer correct address after reinit
- AA issue in rotations (found in Tiger Icecream demo, STMTCS-59)
NEMAP_H23.0.6_S1.4.8_20230703-SW
Added
- nema_blit_quad_m
- Blit function with a user provided matrix
- Support for NEMA_L1LE,NEMA_L2LE,NEMA_L4LE in lut's indices
NEMAP_S1.4.7_20230512-SW
Added
- tsi_malloc: tsi_malloc_init_pool_aligned()
- memory allocations in a pool are byte aligned
- Add error codes for missing init: NEMA_ERR_NO_INIT, NEMA_VG_ERR_NO_INIT
- nema_font: nema_string_indexed_get_bbox
- get the bounding box of a string with indexed glyphs
- nema_font: nema_font_get_x_advance
- get the bound font horizontal advance
Fixed
- Correctly Flush CL buffer on circular CLs
- nema_provisional: fill_rounded_rect_corner() fix for RASTERIZER_BUG_WA flow
- Conical gradient in stroked ellipse
- Broaden stencil dirty area on stencil clear
- Correct gradient buffer when clipping is enabled
- Bevel joins not showing when path closes implicitly
- Correct stroke width when multi-transformation matrix
- nema_font: blending: modulate alpha channel when alpha value is smaller than 255
- nema_font: nema_print_char_indexed - set blending mode and character color