Skip to content

Commit

Permalink
Version 0.6.2 Release [Bugfix]
Browse files Browse the repository at this point in the history
Bugfix release
  • Loading branch information
Dreaming381 committed Dec 11, 2022
1 parent 9f63de3 commit d9b7d2d
Show file tree
Hide file tree
Showing 8 changed files with 28 additions and 56 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic
Versioning](http://semver.org/spec/v2.0.0.html).

## [0.6.2] – 2022-12-10

Officially supports Entities [1.0.0 prerelease 15]

### Changed

- Updated Kinemation to v0.6.2

## [0.6.1] – 2022-11-28

Officially supports Entities [1.0.0 prerelease 15]
Expand Down
2 changes: 0 additions & 2 deletions Core/Math/Rng.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
using Unity.Entities;
using Unity.Mathematics;

// Todo: Need an RngForIJobEntity that avoids EntityInQueryIndex.

namespace Latios
{
/// <summary>
Expand Down
10 changes: 10 additions & 0 deletions Documentation~/Kinemation Animation and Rendering/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic
Versioning](http://semver.org/spec/v2.0.0.html).

## [0.6.2] – 2022-12-10

Officially supports Entities [1.0.0 prerelease 15]

### Improved

- Kinemation renderer now uses a fixed frame count when recycling rendering
buffers instead of an async readback, which prevented devices from going
into a sleep state

## [0.6.1] – 2022-11-28

Officially supports Entities [1.0.0 prerelease 15]
Expand Down
2 changes: 0 additions & 2 deletions Documentation~/Kinemation Animation and Rendering/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,8 +193,6 @@ that version.*
for this in a future release which will be more extensible and customizable.
- Skeletons are uploaded to the GPU multiple times in a frame if different
LODs are used in different culling passes.
- GPU uploads are done in a way that prevent the processors from going into an
idle state.

## Near-Term Roadmap

Expand Down
54 changes: 5 additions & 49 deletions Kinemation/Internal/ComputeBufferTrackingPool.cs
Original file line number Diff line number Diff line change
Expand Up @@ -326,72 +326,28 @@ public void Dispose()

struct FencePool : IDisposable
{
struct TrackedFence
{
public ComputeBuffer buffer;
public uint frameId;
public AsyncGPUReadbackRequest request;
}

uint m_currentFrameId;
uint m_recoveredFrameId;

List<TrackedFence> m_fencesInFlight;
List<TrackedFence> m_fencesInPool;
int m_numberOfFramesToWait;

public uint CurrentFrameId => m_currentFrameId;
public uint RecoveredFrameId => m_recoveredFrameId;

public FencePool(bool dummy)
{
m_fencesInFlight = new List<TrackedFence>();
m_fencesInPool = new List<TrackedFence>();
m_currentFrameId = 1;
m_recoveredFrameId = 0;
m_numberOfFramesToWait = Unity.Rendering.SparseUploader.NumFramesInFlight;
m_currentFrameId = (uint)m_numberOfFramesToWait;
m_recoveredFrameId = 0;
}

public void Update()
{
for (int i = 0; i < m_fencesInFlight.Count; i++)
{
var fence = m_fencesInFlight[i];
if (fence.request.done)
{
if (IsEqualOrNewer(fence.frameId, m_recoveredFrameId))
m_recoveredFrameId = fence.frameId;
m_fencesInPool.Add(fence);
m_fencesInFlight.RemoveAtSwapBack(i);
i--;
}
}

TrackedFence newFence;
if (m_fencesInPool.Count > 0)
{
newFence = m_fencesInPool[0];
m_fencesInPool.RemoveAtSwapBack(0);
}
else
{
newFence = new TrackedFence
{
buffer = new ComputeBuffer(1, 4, ComputeBufferType.Default, ComputeBufferMode.Immutable),
};
}

newFence.frameId = m_currentFrameId;
newFence.request = AsyncGPUReadback.Request(newFence.buffer);
m_fencesInFlight.Add(newFence);

m_recoveredFrameId++;
m_currentFrameId++;
}

public void Dispose()
{
foreach (var buffer in m_fencesInPool)
buffer.buffer.Dispose();
foreach (var buffer in m_fencesInFlight)
buffer.buffer.Dispose();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -999,7 +999,7 @@ public static bool ColliderCast(in ConvexCollider convexToCast,
result = default;
return false;
}
// Todo: Capsule

public static bool ColliderCast(in ConvexCollider convexToCast,
in RigidTransform castStart,
float3 castEnd,
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
![](Documentation~/media/bf2cb606139bb3ca01fe1c4c9f92cdf7.png)

# Latios Framework Packages for DOTS – [0.6.1]
# Latios Framework Packages for DOTS – [0.6.2]

The packages contained in this repository are packages built upon Unity DOTS
which I use for my own personal hobbyist game development. All packages are
Expand Down Expand Up @@ -32,6 +32,8 @@ survey**](https://docs.google.com/forms/d/e/1FAIpQLSfxgFumJvhwjzi-r7L7rGssPoeSLX
spatialized sounds and music streaming
- [Kinemation](Documentation~/Kinemation%20Animation%20and%20Rendering/README.md)
– Authored animation, simulated animation, and everything in between
- Latios Transforms – A novel QVVS transform system designed to be fast,
intuitive, and flexible (Coming in 0.7)
- Mach-Axle AI – An infinite axis utility evaluator designed for high
throughput (No public release)
- Life FX – VFX simulations which add immersion to stylized worlds (No public
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "com.latios.latiosframework",
"displayName": "Latios Framework for DOTS",
"version": "0.6.1",
"version": "0.6.2",
"unity": "2022.2",
"description": "Latios Framework for DOTS is a collection of tools, algorithms, and API extensions developed by a hardcore hobbyist game developer.\n\nThis package includes all of the following packages:\n\u25aa Core\n\u25aa Psyshock Physics\n\u25aa Myri Audio\n\u25aa Kinemation Animation and Rendering\n\nExamples: \n\u25aa Latios Space Shooter Sample - https://github.com/Dreaming381/lsss-wip/tree/v0.4.5\n\u25aa Mini Demos - https://github.com/Dreaming381/LatiosFrameworkMiniDemos",
"dependencies": {
Expand Down

0 comments on commit d9b7d2d

Please sign in to comment.