Skip to content

Commit e917c4e

Browse files
committed
fix sub struct padding
1 parent 2f4e006 commit e917c4e

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

jme3-core/src/main/java/com/jme3/util/struct/StructUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public static BufferObject setStd140BufferLayout(List<StructField<?>> fields, St
140140
int start = serializer.align(pos + 1, basicAlignment);
141141
int end = start + length - 1;
142142

143-
if ((i == fields.size() - 1) || f.getDepth() > fields.get(i + 1).getDepth()) {
143+
if ((i == fields.size() - 1) || f.getGroup()!= fields.get(i + 1).getGroup()){// > fields.get(i + 1).getDepth()) {
144144
end = (serializer.align(end, 16)) - 1;
145145
}
146146

jme3-core/src/test/java/com/jme3/util/StructTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public void testStd140Serialization() {
6060

6161
ByteBuffer bbf = bo.getData();
6262

63-
String expectedData = "100 0 0 0 0 0 -56 66 0 0 0 0 0 0 0 0 0 0 -56 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -106 67 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 -56 66 100 0 0 0 0 0 -56 66 100 0 0 0 0 0 -56 66 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ";
63+
String expectedData = "100 0 0 0 0 0 -56 66 0 0 0 0 0 0 0 0 0 0 -56 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -106 67 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 -56 66 0 0 0 0 0 0 0 0 100 0 0 0 0 0 -56 66 0 0 0 0 0 0 0 0 100 0 0 0 0 0 -56 66 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ";
6464
String actualData = "";
6565
while (bbf.hasRemaining()) {
6666
actualData += bbf.get() + " ";
@@ -78,8 +78,8 @@ public void testStd140PartialUpdate() {
7878
java.util.List<StructField<?>> fields = StructUtils.getFields(test);
7979
StructUtils.setStd140BufferLayout(fields, layout, bo);
8080
int bolength = bo.getData().limit();
81-
assertEquals(112, bolength);
82-
assertEquals(112, bo.getData().capacity());
81+
assertEquals(128, bolength);
82+
assertEquals(128, bo.getData().capacity());
8383

8484
int nUpdated;
8585

@@ -96,7 +96,7 @@ public void testStd140PartialUpdate() {
9696
int end = region.getEnd();
9797
System.out.println("Update from " + start + " to " + end + " in buffer of length " + bolength);
9898
assertEquals(0, start);
99-
assertEquals(111,end);
99+
assertEquals(127,end);
100100
assertTrue(region.isFullBufferRegion());
101101
assertTrue(region.isDirty());
102102
region.clearDirty();
@@ -172,8 +172,8 @@ public void testStd140PartialUpdate() {
172172
assertEquals(4, start);
173173
assertEquals(7, end);
174174
} else {
175-
assertEquals(96, start);
176-
assertEquals(111, end);
175+
assertEquals(112, start);
176+
assertEquals(127, end);
177177
}
178178
assertFalse(region.isFullBufferRegion());
179179
assertTrue(region.isDirty());

0 commit comments

Comments
 (0)