Releases Tags
-
1.15.0 Stable
released this 2 weeks ago | 1 commits to main since this release
BREAKING API CHANGES
- Added
Refresh_SubmitAndAcquireFence
- Added
Refresh_WaitForFences
- Added
Refresh_QueryFence
- Added
Refresh_ReleaseFence
- Changed
Refresh_Submit
to only take a single command buffer
BEHAVIOR CHANGES
Refresh_Wait
waits for device idle instead of waiting on submission fences
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 257 KiB Refresh.dll
- 188 KiB libRefresh.so
- Added
-
1.14.1 Stable
released this 2 months ago | 3 commits to main since this release
BEHAVIOR CHANGES
- Reworked Vulkan physical device selection
- Reworked Vulkan logical device initialization
This should hopefully resolve Vulkan initialization issues on laptops.
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 255 KiB Refresh.dll
- 183 KiB libRefresh.so
-
1.14.0 Stable
released this 4 months ago | 8 commits to main since this release
BREAKING API CHANGES
- Changed SetTextureDataYUV to take three data pointers and stride input, to optimize interop between video decoder libraries
If you are using compressed video, you should grab this change!
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 254 KiB Refresh.dll
- 184 KiB libRefresh.so
-
1.13.1 Stable
released this 5 months ago | 10 commits to main since this release
No ABI break in this release, but there is a significant memory management improvement!
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 254 KiB Refresh.dll
- 184 KiB libRefresh.so
-
1.13.0 Stable
released this 6 months ago | 11 commits to main since this release
BREAKING API CHANGES
- Removed format and data type specific load and free functions
- Removed SaveQOI
- Removed BGRA SavePNG path
Refresh_Image_Load
takes raw RGBA bytes in PNG or QOI format and decodes them, returning a pixel bufferRefresh_Image_Free
should be used on data returned fromRefresh_Image_Load
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 247 KiB Refresh.dll
- 179 KiB libRefresh.so
-
1.12.0 Stable
released this 6 months ago | 14 commits to main since this release
BUG FIXES
- Added missing texture formats to size function
- Fix MultipleThreads validation error when resetting command buffers
BREAKING API CHANGES
- Changed
Refresh_Image_Load
toRefresh_Image_LoadPNGFromFile
- Changed
Refresh_Image_Free
toRefresh_Image_FreePNG
- Added
Refresh_Image_LoadPNGFromMemory
- Added
Refresh_Image_LoadQOIFromFile
- Added
Refresh_Image_LoadQOIFromMemory
- Added
Refresh_Image_FreeQOI
- Added
Refresh_Image_SaveQOI
BEHAVIOR CHANGES
- You can now load images directly from memory instead of using a filename.
- Added support for the QOI image format: https://qoiformat.org/
- You must call the appropriate
Free
function when freeing an image load pixel buffer.
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 248 KiB Refresh.dll
- 184 KiB libRefresh.so
-
1.11.0 Stable
released this 8 months ago | 18 commits to main since this release
BUG FIXES
- Fixed transfer buffer alignment
- Fixed 3D texture creation
- Fixed framebuffers interacting incorrectly with mip levels
BREAKING API CHANGES
- Removed fixed command buffers
- Shader loading now expects a
.refresh
blob instead of backend-specific shader binary - Removed sample count from render passes
- Added sample count to textures
BEHAVIOR CHANGES
- We now ship a shader compiler,
refreshc
, which accepts glsl code and emits a.refresh
binary blob that is used to load shaders from any backend. This tool expects that your machine hasglslc
andspirv-cross
available, which can both be obtained from the Vulkan SDK. - MSAA support for depth textures
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 242 KiB Refresh.dll
- 180 KiB libRefresh.so
-
1.10.0 Stable
released this 9 months ago | 29 commits to main since this release
BUG FIXES
- Fixed a render target segfault
- Fixed an issue where pushing data multiple times to the same resource would not set a memory barrier
BREAKING API CHANGES
- Removed SRC1 blend factors
- Removed depth clamp feature
BEHAVIOR CHANGES
- Enabled multi draw indirect feature and added indirect command struct
- Made submission mutex behavior consistent across Refresh_Wait and Refresh_Submit
- Removed input validation from several APIs - if you're using the C API directly you are responsible for submitting correct inputs!
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 240 KiB Refresh.dll
- 180 KiB libRefresh.so
-
1.9.0 Stable
released this 11 months ago | 36 commits to main since this release
BUG FIXES
- Enabled missing anisotropy feature
- Fixed bug where multisample enum values were not being translated into their equivalent Vulkan enums
- Fixed bug where MSAA attachments in transient render pass creation were using a sample count of 1
- Fixed bug where the clearValues array in BeginRenderPass was not being populated with clear values for multisample attachments
- Fixed bug where the multisample texture was not being transitioned when beginning a render pass
- Fixed bugs where multisampling logic wasn't kicking in for certain sample counts due to incorrect enum comparisons
BREAKING API CHANGES
- Removed REFRESH_SAMPLECOUNT_16/32/64, since hardware support for these sample counts is generally poor (and completely non-existent with MoltenVK and certain consoles).
- Removed unused sampleCount parameter from Refresh_TextureCreateInfo
- Removed sampleCount parameter from Refresh_ColorAttachmentDescription
- Removed the renderArea parameter from Refresh_BeginRenderPass
BEHAVIOR CHANGES
- When creating a render pass or graphics pipeline, the requested multisample count will be converted into a sample count that's actually supported by the GPU
- All color attachments are now forced to have an internal store op of STORE, even if REFRESH_STORE_OP_DONTCARE is specified. The one exception is internal multisample textures -- if DONTCARE is used, those textures will be discarded to save on bandwidth. (Their resolve textures will still be stored)
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 242 KiB Refresh.dll
- 180 KiB libRefresh.so
-
1.8.2 Stable
released this 11 months ago | 40 commits to main since this release
- Fixes window minimize regression on SDL 2.24
- Various fixes related to claiming windows and swapchain recreation
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 241 KiB Refresh.dll
- 180 KiB libRefresh.so