소스 검색

Fix field access alignment on not 4 component fields.

clementlandrin 10 달 전
부모
커밋
0d75998bc9
1개의 변경된 파일2개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 2
      hxsl/Flatten.hx

+ 2 - 2
hxsl/Flatten.hx

@@ -184,7 +184,7 @@ class Flatten {
 				if( idx == idx2 )
 					readField(expr, pos, size);
 				else {
-					var k = 4 - pos;
+					var k = (idx2 << 2) - pos;
 					var type = switch(size) {
 					case 2: Vec2;
 					case 3: Vec3;
@@ -193,7 +193,7 @@ class Flatten {
 					}
 					{ e : TCall({ e : TGlobal(type), p : e.p, t : TVoid },[
 						readField(expr, pos, k),
-						readField(expr, pos + 1, size - k)
+						readField(expr, pos + k, size - k)
 					]), t : e.t, p : e.p }
 				}
 			case TMat4: