Changelog for keid-core
0.1.7.1
- SPIR-V reflection loader changed to
spirv-reflect-ffi
.
0.1.7.0
- Graphics pipelines extracted to
Engine.Vulkan.Pipeline.Graphics
.
- Added pipeline stage collections and
StageInfo
class.
- Shader creation can now pluck stage flags from the collection.
- Added
Engine.Vulkan.Pipeline.Raytrace
stages (no pipelines yet).
- Added
Engine.Vulkan.Pipeline.External
worker for reloading pipelines.
- Added
Engine.SpirV.Reflect
to facilitate safe reloads using spirv-reflect
toolchain.
- Added
Engine.Engine.Stage.Component
with rendering/resources/scenes decoupled.
0.1.6.1
- Minimal
vulkan
version is now 3.17.
- Fixed VMA setup for headless rendering.
- Add
Generically1
from base-4.17
to replace distributive
/repesentable
.
Engine.Worker.Cell
instances generalized to arbitrary pairs.
- I.e.
(Var i, Var o)
is a Cell
-like structure that can be driven externally
while retaining the Var
and Observer
machinery.
withFrozenCallStack
fixes for GHC-9.0.
Engine.Worker
boilerplate for coherent Resource.Buffer
.
- Added
Resource.Image.Atlas
experimental container for tile atlases.
- Added
Resource.Region
for detachable allocation scopes.
- Added
Engine.Window.MouseButton.Collection
to facilitate button-related dispatch.
- Added a shortcut around loop when a window is quitting.
- Skips allocation of loop resources that wouldn't be used.
- Sidesteps a race before release/allocate chain when unwinding stages leading to crashes.
- Added
Engine.UI.Layout.Linear
.
- Experimental for now, but require no workers and FRP-compatible.
0.1.6.0
- Added
Engine.Camera
with projection and view controls.
- Worker
Cell
changed into an input-annotated Merge
.
0.1.5.1
- Fixed
VMA.AllocatorCreateInfo
for vulkan-3.15
and newer.
0.1.5.0
- Removed
allocateRenderpass_
from RenderPass
class.
- Added
allocateRP
stage field.
- Added
Engine.Vulkan.Pipeline.Compute
.
- Common shader code extracted to
Engine.Vulkan.Shader
.
- Added shader specialization constants.
- Graphic and compute pipeline configs extended with
spec
parameter.
Shader.Specialization
class is used to derive vulkan schema at runtime and store values.
- Added
Pipline.Configure
and Compute.Configure
families to produce a matching Config
type.
- Added
cDepthCompare
to Pipeline.Config
.
- Removed
Zero
instance for pipline configs.
- Use
baseConfig
value for better type inference and less imports.
0.1.4.1
- Added size information to
Resource.Image
: aiExtent
.
0.1.4.0
- Changed
Render.Samplers.allocate
to use maxAnisotropy
directly.
- Relaxed
DescriptorSet.allocatePool
to any MonadResource
.
- Added KHR_Surface to headless requirements.
- Added
Render.Pass.setViewportScissor
.
- Added TRANSFER_SRC to Offscreen image usage.
- Published
Render.Samplers.params
.
0.1.3.1
- Added
Engine.Setup.setupHeadless
to use without a surface.
- Added queue assignment fallback when there are no distinct queues for compute and transfer.
Fixes startup crash on Intel iGPUs.
0.1.3.0
- Changed mesh codec to use
Serialise
class instead of Storable
.
- Replaced RIO in resource loaders with constraints.
- Added
Render.Pass
base module and Render.Pass.Offscreen
.
Resource.Image.AllocatedImage
got format and subresource information.
- Removed
Resource.Image.createColorResource
, Resource.Image.createDepthResource
.
- Added unified
Resource.Image.create
instead.
- Function names shortened to match qulified import style.
0.1.2.0
- Added
Resource.Source
type to mix external and embedded byte sources.
- Added
Zstd.Compressed
wrapper and functions to compress/decompress ByteString
.
- Removed
Ktx1.createTexture
.
- Added
load
, loadBytes
, loadKtx1
instead.
0.1.1.1
- Added
spawnMergeT
to merge traversable collections.
- Added
HasStateRef
to make stage state accessible from StageFrameRIO
.
- Added module labels to pipelines and their layouts.
0.1.1.0
- Added
--display NUM
to application arguments.
- Allow
Timed
workers to skip output update.
spawnTimed
and spawnTimed_
changed args: active/dt moved to front.
spawnTimed
now uses initialization function instead of deriving initial output from initial state.
0.1.0.1
- Inter-stage resource release waits for render job to finish.