diff options
author | Brian <brian@yutani.localnet.net> | 2006-12-15 15:32:11 -0700 |
---|---|---|
committer | Brian <brian@yutani.localnet.net> | 2006-12-15 15:32:11 -0700 |
commit | 6579245800f39c14f738db8e8ae1d93a65a32a4c (patch) | |
tree | abc0d00f8cb65d3eda9c4ad9143c5ea6fa76fb09 /src/mesa/shader/slang/library/slang_core.gc | |
parent | 4b4632f94c726c19d3c1efd05ceb5770a430cefd (diff) |
redo mat4 addition, mat4 constructor from vec4s
Diffstat (limited to 'src/mesa/shader/slang/library/slang_core.gc')
-rwxr-xr-x | src/mesa/shader/slang/library/slang_core.gc | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/src/mesa/shader/slang/library/slang_core.gc b/src/mesa/shader/slang/library/slang_core.gc index 8f1b0c2d3c..e94fa20a7f 100755 --- a/src/mesa/shader/slang/library/slang_core.gc +++ b/src/mesa/shader/slang/library/slang_core.gc @@ -307,6 +307,18 @@ mat4 __constructor (const bool b) { return mat4 (b ? 1.0 : 0.0); } + +mat4 __constructor (const vec4 r0, const vec4 r1, const vec4 r2, const vec4 r3) +{ + __retVal[0] = r0; + __retVal[1] = r1; + __retVal[2] = r2; + __retVal[3] = r3; +} + + + + void __operator += (inout float a, const float b) { __asm float_add a, a, b; } @@ -1040,12 +1052,21 @@ mat3 __operator / (const mat3 m, const mat3 n) { return mat3 (m[0] / n[0], m[1] / n[1], m[2] / n[2]); } -mat4 __operator + (const mat4 m, const mat4 n) { - return mat4 (m[0] + n[0], m[1] + n[1], m[2] + n[2], m[3] + n[3]); + +mat4 __operator + (const mat4 m, const mat4 n) +{ + __retVal[0] = m[0] + n[0]; + __retVal[1] = m[1] + n[1]; + __retVal[2] = m[2] + n[2]; + __retVal[3] = m[3] + n[3]; } -mat4 __operator - (const mat4 m, const mat4 n) { - return mat4 (m[0] - n[0], m[1] - n[1], m[2] - n[2], m[3] - n[3]); +mat4 __operator - (const mat4 m, const mat4 n) +{ + __retVal[0] = m[0] - n[0]; + __retVal[1] = m[1] - n[1]; + __retVal[2] = m[2] - n[2]; + __retVal[3] = m[3] - n[3]; } mat4 __operator / (const mat4 m, const mat4 n) { |