123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell/* 223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * Mesa 3-D graphics library 37dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul * Version: 6.5.1 422144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes * 57dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. 622144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes * 723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * Permission is hereby granted, free of charge, to any person obtaining a 823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * copy of this software and associated documentation files (the "Software"), 923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * to deal in the Software without restriction, including without limitation 1023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * the rights to use, copy, modify, merge, publish, distribute, sublicense, 1123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * and/or sell copies of the Software, and to permit persons to whom the 1223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * Software is furnished to do so, subject to the following conditions: 1322144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes * 1423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * The above copyright notice and this permission notice shall be included 1523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * in all copies or substantial portions of the Software. 1622144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes * 1723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 1823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 2023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 2123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 2223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell */ 2423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 257dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul/** 267dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul * \brief Templates for vector conversions. 277dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul * \author Keith Whitwell. 2823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell */ 2923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 3023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_4F 3123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwellstatic void DEST_4F( GLfloat (*t)[4], 3223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CONST void *ptr, 3323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint stride, 3479b2d13ae2280650070d5a0f157afecbfa02f9e6Gareth Hughes ARGS ) 3523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell{ 3623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *f = (GLubyte *) ptr + SRC_START * stride; 3723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *first = f; 3823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint i; 3923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 4023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) first; 4123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) start; 4223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell for (i = DST_START ; i < n ; i++, NEXT_F) { 4322144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes CHECK { 4423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell NEXT_F2; 4523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell if (SZ >= 1) t[i][0] = TRX_4F(f, 0); 4623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell if (SZ >= 2) t[i][1] = TRX_4F(f, 1); 4723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell if (SZ >= 3) t[i][2] = TRX_4F(f, 2); 48c6182ab54c6d11371ad523a89e22380996cf0742Brian Paul if (SZ == 4) t[i][3] = TRX_4F(f, 3); else t[i][3] = 1.0; 4923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 5023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 5123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell} 5223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 5323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 5423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 5512c037dbff3d5a812e31624645d577413cd54122Keith Whitwell 567dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul#ifdef DEST_4FN 577dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paulstatic void DEST_4FN( GLfloat (*t)[4], 5812c037dbff3d5a812e31624645d577413cd54122Keith Whitwell CONST void *ptr, 5912c037dbff3d5a812e31624645d577413cd54122Keith Whitwell GLuint stride, 6012c037dbff3d5a812e31624645d577413cd54122Keith Whitwell ARGS ) 6112c037dbff3d5a812e31624645d577413cd54122Keith Whitwell{ 6212c037dbff3d5a812e31624645d577413cd54122Keith Whitwell const GLubyte *f = (GLubyte *) ptr + SRC_START * stride; 6312c037dbff3d5a812e31624645d577413cd54122Keith Whitwell const GLubyte *first = f; 6412c037dbff3d5a812e31624645d577413cd54122Keith Whitwell GLuint i; 6512c037dbff3d5a812e31624645d577413cd54122Keith Whitwell 6612c037dbff3d5a812e31624645d577413cd54122Keith Whitwell (void) first; 6712c037dbff3d5a812e31624645d577413cd54122Keith Whitwell (void) start; 6812c037dbff3d5a812e31624645d577413cd54122Keith Whitwell for (i = DST_START ; i < n ; i++, NEXT_F) { 6912c037dbff3d5a812e31624645d577413cd54122Keith Whitwell CHECK { 7012c037dbff3d5a812e31624645d577413cd54122Keith Whitwell NEXT_F2; 717dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul if (SZ >= 1) t[i][0] = TRX_4FN(f, 0); 727dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul if (SZ >= 2) t[i][1] = TRX_4FN(f, 1); 737dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul if (SZ >= 3) t[i][2] = TRX_4FN(f, 2); 747dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul if (SZ == 4) t[i][3] = TRX_4FN(f, 3); else t[i][3] = 1.0; 7512c037dbff3d5a812e31624645d577413cd54122Keith Whitwell } 7612c037dbff3d5a812e31624645d577413cd54122Keith Whitwell } 7712c037dbff3d5a812e31624645d577413cd54122Keith Whitwell} 7812c037dbff3d5a812e31624645d577413cd54122Keith Whitwell#endif 7912c037dbff3d5a812e31624645d577413cd54122Keith Whitwell 8012c037dbff3d5a812e31624645d577413cd54122Keith Whitwell 817dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul#ifdef DEST_3FN 827dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paulstatic void DEST_3FN( GLfloat (*t)[3], 8323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CONST void *ptr, 8423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint stride, 8579b2d13ae2280650070d5a0f157afecbfa02f9e6Gareth Hughes ARGS ) 8623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell{ 8723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *f = (GLubyte *) ptr + SRC_START * stride; 8823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *first = f; 8923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint i; 9023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) first; 9123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) start; 9223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell for (i = DST_START ; i < n ; i++, NEXT_F) { 9323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CHECK { 9423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell NEXT_F2; 957dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul t[i][0] = TRX_3FN(f, 0); 967dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul t[i][1] = TRX_3FN(f, 1); 977dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul t[i][2] = TRX_3FN(f, 2); 9823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 9923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 10023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell} 10123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 10223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 10323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_1F 10423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwellstatic void DEST_1F( GLfloat *t, 10523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CONST void *ptr, 10623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint stride, 10779b2d13ae2280650070d5a0f157afecbfa02f9e6Gareth Hughes ARGS ) 10823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell{ 10923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *f = (GLubyte *) ptr + SRC_START * stride; 11023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *first = f; 11123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint i; 11223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) first; 11323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) start; 11423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell for (i = DST_START ; i < n ; i++, NEXT_F) { 11523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CHECK { 11623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell NEXT_F2; 11723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell t[i] = TRX_1F(f, 0); 11823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 11923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 12023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell} 12123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 12223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 12323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_4UB 12423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwellstatic void DEST_4UB( GLubyte (*t)[4], 12574b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul CONST void *ptr, 12674b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul GLuint stride, 12779b2d13ae2280650070d5a0f157afecbfa02f9e6Gareth Hughes ARGS ) 12823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell{ 12923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *f = (GLubyte *) ptr + SRC_START * stride; 13023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *first = f; 13123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint i; 13223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) start; 13323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) first; 13423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell for (i = DST_START ; i < n ; i++, NEXT_F) { 13523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CHECK { 13623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell NEXT_F2; 13723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell if (SZ >= 1) TRX_UB(t[i][0], f, 0); 13823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell if (SZ >= 2) TRX_UB(t[i][1], f, 1); 13922144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes if (SZ >= 3) TRX_UB(t[i][2], f, 2); 14023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell if (SZ == 4) TRX_UB(t[i][3], f, 3); else t[i][3] = 255; 14123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 14223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 14323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell} 14423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 14523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 14623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 14774b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul#ifdef DEST_4US 14874b493a5e61237de081a438e774e5d8139d4c6b7Brian Paulstatic void DEST_4US( GLushort (*t)[4], 14974b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul CONST void *ptr, 15074b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul GLuint stride, 15179b2d13ae2280650070d5a0f157afecbfa02f9e6Gareth Hughes ARGS ) 15274b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul{ 153eae38ca1b23cb78d0130d8b30d167a9d12b9f4b2Brian Paul const GLubyte *f = (GLubyte *) ((GLubyte *) ptr + SRC_START * stride); 154eae38ca1b23cb78d0130d8b30d167a9d12b9f4b2Brian Paul const GLubyte *first = f; 15574b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul GLuint i; 15674b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul (void) start; 15774b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul (void) first; 15874b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul for (i = DST_START ; i < n ; i++, NEXT_F) { 15974b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul CHECK { 16074b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul NEXT_F2; 16174b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul if (SZ >= 1) TRX_US(t[i][0], f, 0); 16274b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul if (SZ >= 2) TRX_US(t[i][1], f, 1); 16322144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes if (SZ >= 3) TRX_US(t[i][2], f, 2); 16474b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul if (SZ == 4) TRX_US(t[i][3], f, 3); else t[i][3] = 65535; 16574b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul } 16674b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul } 16774b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul} 16874b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul#endif 16974b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul 17074b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul 17123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_1UB 17223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwellstatic void DEST_1UB( GLubyte *t, 17323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CONST void *ptr, 17423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint stride, 17579b2d13ae2280650070d5a0f157afecbfa02f9e6Gareth Hughes ARGS ) 17623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell{ 17723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *f = (GLubyte *) ptr + SRC_START * stride; 17823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *first = f; 17923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint i; 18023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) start; 18123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) first; 18223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell for (i = DST_START ; i < n ; i++, NEXT_F) { 18323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CHECK { 18423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell NEXT_F2; 18523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell TRX_UB(t[i], f, 0); 18623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 18723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 18823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell} 18923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 19023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 19123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 19223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_1UI 19323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwellstatic void DEST_1UI( GLuint *t, 19423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CONST void *ptr, 19523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint stride, 19679b2d13ae2280650070d5a0f157afecbfa02f9e6Gareth Hughes ARGS ) 19723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell{ 19823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *f = (GLubyte *) ptr + SRC_START * stride; 19923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell const GLubyte *first = f; 20023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell GLuint i; 20123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) start; 20223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell (void) first; 20323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 20423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell for (i = DST_START ; i < n ; i++, NEXT_F) { 20523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell CHECK { 20623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell NEXT_F2; 20723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell t[i] = TRX_UI(f, 0); 20823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 20923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell } 21023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell} 21123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 21223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 21323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 21423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwellstatic void INIT(void) 21523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell{ 21623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_1UI 21723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell ASSERT(SZ == 1); 21823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell TAB(_1ui)[SRC_IDX] = DEST_1UI; 21923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 22023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_1UB 22123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell ASSERT(SZ == 1); 22223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell TAB(_1ub)[SRC_IDX] = DEST_1UB; 22323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 22423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_1F 22523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell ASSERT(SZ == 1); 22623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell TAB(_1f)[SRC_IDX] = DEST_1F; 22723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 2287dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul#ifdef DEST_3FN 22923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell ASSERT(SZ == 3); 2307dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul TAB(_3fn)[SRC_IDX] = DEST_3FN; 23123caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 23223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_4UB 23323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell TAB(_4ub)[SZ][SRC_IDX] = DEST_4UB; 23423caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 23574b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul#ifdef DEST_4US 23674b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul TAB(_4us)[SZ][SRC_IDX] = DEST_4US; 23774b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul#endif 23823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#ifdef DEST_4F 23923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell TAB(_4f)[SZ][SRC_IDX] = DEST_4F; 24023caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#endif 2417dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul#ifdef DEST_4FN 2427dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul TAB(_4fn)[SZ][SRC_IDX] = DEST_4FN; 24312c037dbff3d5a812e31624645d577413cd54122Keith Whitwell#endif 24422144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes 24523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell} 24623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 24723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell 248d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef INIT 24923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#undef INIT 250d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 251d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef DEST_1UI 25223caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#undef DEST_1UI 253d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 254d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef DEST_1UB 25523caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#undef DEST_1UB 256d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 257d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef DEST_4UB 25823caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#undef DEST_4UB 259d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 260d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef DEST_4US 26174b493a5e61237de081a438e774e5d8139d4c6b7Brian Paul#undef DEST_4US 262d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 2637dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul#ifdef DEST_3FN 2647dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul#undef DEST_3FN 265d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 266d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef DEST_4F 26723caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#undef DEST_4F 268d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 2697dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul#ifdef DEST_4FN 2707dfdf3a5b74d3498a98f71d18eb2e706f2fedd04Brian Paul#undef DEST_4FN 27112c037dbff3d5a812e31624645d577413cd54122Keith Whitwell#endif 272d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef DEST_1F 27323caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#undef DEST_1F 274d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 275d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef SZ 27623caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#undef SZ 277d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 278d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#ifdef TAG 27923caf20169ac38436ee9c13914f1d6aa7cf6bb5eKeith Whitwell#undef TAG 280d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul#endif 281d18c08fe890e100269be8d5cccbaf7cd7bf9916dBrian Paul 282