-
1.11.0 Stable
released this
2023-02-07 20:26:58 +00:00 | 45 commits to main since this releaseBUG 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
2023-01-04 19:23:51 +00:00 | 56 commits to main since this releaseBUG 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
2022-11-09 20:07:50 +00:00 | 63 commits to main since this releaseBUG 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
2022-11-01 23:27:40 +00:00 | 67 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
-
1.8.1 Stable
released this
2022-10-04 17:17:05 +00:00 | 70 commits to main since this release- Fix backend iteration when certain backends are not compiled into the binary
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 241 KiB Refresh.dll
- 180 KiB libRefresh.so
-
1.8.0 Stable
released this
2022-09-29 21:13:46 +00:00 | 72 commits to main since this release- The application must now call Refresh_SetBackend before creating the device
- Refresh_SetBackend can set a preferred backend, but will fall back if it is not available
- Device creation no longer takes presentation parameters
- Windows must now be explicitly claimed by the device
- Windows can be unclaimed by the device
- Windows can have their swapchain present mode changed after creation
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 241 KiB Refresh.dll
- 180 KiB libRefresh.so
-
1.7.1 Stable
released this
2022-09-22 21:02:18 +00:00 | 74 commits to main since this release- Fix memory barrier issue on texture copies
- Slight memory barrier optimization for color and depth stencil render targets
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 239 KiB Refresh.dll
- 175 KiB libRefresh.so
-
1.7.0 Stable
released this
2022-09-13 20:56:35 +00:00 | 76 commits to main since this release- Adds several new unsigned integer texture formats.
- Renames many texture formats to include number format. Textures that do not have a format postfix are assumed to be unsigned normalized floats.
- Fixes heap iteration on certain devices.
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 239 KiB Refresh.dll
- 175 KiB libRefresh.so
-
1.6.1 Stable
released this
2022-08-25 23:22:14 +00:00 | 79 commits to main since this release- Fixes a barrier issue when sampling depth textures
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 238 KiB Refresh.dll
- 175 KiB libRefresh.so
-
1.6.0 Stable
released this
2022-08-25 20:54:53 +00:00 | 81 commits to main since this release- Add Refresh_DrawPrimitivesIndirect. This enables GPU-driven rendering.
- Fix various synchronization issues related to using resources in a compute shader.
- Fix crash when using a compute shader with no uniform buffer.
Downloads
- Source Code (ZIP)
- Source Code (TAR.GZ)
- 238 KiB Refresh.dll
- 175 KiB libRefresh.so