Skip to content

Commit 7140a18

Browse files
committed
Fix AMD driver bug (#3)
1 parent 322b430 commit 7140a18

File tree

4 files changed

+13
-13
lines changed

4 files changed

+13
-13
lines changed

resources/shaders/splinemesh.vert

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ struct SplineSegment {
55
vec4 p1;
66
vec4 t0;
77
vec4 t1;
8-
float length;
8+
float len;
99
float _padding1_;
1010
float _padding2_;
1111
float _padding3_;
@@ -66,14 +66,14 @@ void main() {
6666

6767
// Determine spline segment
6868
int segmentIdx = instance.offset0;
69-
while (splinePos > segments[segmentIdx].length && segmentIdx < instance.offset1 - 1) {
70-
splinePos -= segments[segmentIdx].length;
69+
while (splinePos > segments[segmentIdx].len && segmentIdx < instance.offset1 - 1) {
70+
splinePos -= segments[segmentIdx].len;
7171
segmentIdx++;
7272
}
7373

7474
const SplineSegment segment = segments[segmentIdx];
7575

76-
const float t = clamp(splinePos / segment.length, 0.0f, 1.0f);
76+
const float t = clamp(splinePos / segment.len, 0.0f, 1.0f);
7777

7878
// Bezier control points
7979
const vec3 b0 = segment.p0.xyz;

src/MapWindow/DataView/DataView.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,21 +45,21 @@ namespace {
4545
// Determine spline segments
4646
int segmentIdx0 = offset0;
4747
int segmentIdx1 = offset0;
48-
while (t0 > splineSegments[segmentIdx0].length && segmentIdx0 < offset1 - 1) {
49-
t0 -= splineSegments[segmentIdx0].length;
50-
t1 -= splineSegments[segmentIdx1].length;
48+
while (t0 > splineSegments[segmentIdx0].len && segmentIdx0 < offset1 - 1) {
49+
t0 -= splineSegments[segmentIdx0].len;
50+
t1 -= splineSegments[segmentIdx1].len;
5151
segmentIdx0++;
5252
segmentIdx1++;
5353
}
54-
while (t1 > splineSegments[segmentIdx1].length && segmentIdx1 < offset1 - 1) {
55-
t1 -= splineSegments[segmentIdx1].length;
54+
while (t1 > splineSegments[segmentIdx1].len && segmentIdx1 < offset1 - 1) {
55+
t1 -= splineSegments[segmentIdx1].len;
5656
segmentIdx1++;
5757
}
5858
const Satisfactory3DMap::SplineSegmentGpu& segment0 = splineSegments[segmentIdx0];
5959
const Satisfactory3DMap::SplineSegmentGpu& segment1 = splineSegments[segmentIdx1];
6060

61-
const float segmentT0 = std::clamp(t0 / segment0.length, 0.0f, 1.0f);
62-
const float segmentT1 = std::clamp(t1 / segment1.length, 0.0f, 1.0f);
61+
const float segmentT0 = std::clamp(t0 / segment0.len, 0.0f, 1.0f);
62+
const float segmentT1 = std::clamp(t1 / segment1.len, 0.0f, 1.0f);
6363

6464
glm::vec3 p0 = deCasteljau(segment0, segmentT0);
6565
glm::vec3 p1 = deCasteljau(segment1, segmentT1);

src/MapWindow/DataView/SplineData.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ Satisfactory3DMap::SplineData::SplineData(const Satisfactory3DMap::SaveActor& ac
116116
segment.p1 = glm::vec4(p1, 0.0f);
117117
segment.tangent0 = glm::vec4(t0, 0.0f);
118118
segment.tangent1 = glm::vec4(t1, 0.0f);
119-
segment.length = length;
119+
segment.len = length;
120120
splineSegments_.emplace_back(segment);
121121
}
122122
}

src/MapWindow/DataView/SplineData.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace Satisfactory3DMap {
1313
glm::vec4 p1;
1414
glm::vec4 tangent0;
1515
glm::vec4 tangent1;
16-
float length;
16+
float len;
1717
float _padding_[3];
1818
};
1919
static_assert(sizeof(SplineSegmentGpu) == 5 * 4 * sizeof(float), "SplineSegmentGpu: Alignment issue!");

0 commit comments

Comments
 (0)