ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

3dnow.c
Go to the documentation of this file.
00001 
00002 /*
00003  * Mesa 3-D graphics library
00004  * Version:  5.0.1
00005  *
00006  * Copyright (C) 1999-2003  Brian Paul   All Rights Reserved.
00007  *
00008  * Permission is hereby granted, free of charge, to any person obtaining a
00009  * copy of this software and associated documentation files (the "Software"),
00010  * to deal in the Software without restriction, including without limitation
00011  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
00012  * and/or sell copies of the Software, and to permit persons to whom the
00013  * Software is furnished to do so, subject to the following conditions:
00014  *
00015  * The above copyright notice and this permission notice shall be included
00016  * in all copies or substantial portions of the Software.
00017  *
00018  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00019  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00020  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
00021  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
00022  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00023  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00024  */
00025 
00026 /*
00027  * 3DNow! optimizations contributed by
00028  * Holger Waechtler <holger@akaflieg.extern.tu-berlin.de>
00029  */
00030 
00031 #include "main/glheader.h"
00032 #include "main/context.h"
00033 #include "math/m_xform.h"
00034 #include "tnl/t_context.h"
00035 
00036 #include "3dnow.h"
00037 #include "common_x86_macros.h"
00038 
00039 #ifdef DEBUG_MATH
00040 #include "math/m_debug.h"
00041 #endif
00042 
00043 
00044 #ifdef USE_3DNOW_ASM
00045 DECLARE_XFORM_GROUP( 3dnow, 2 )
00046 DECLARE_XFORM_GROUP( 3dnow, 3 )
00047 DECLARE_XFORM_GROUP( 3dnow, 4 )
00048 
00049 DECLARE_NORM_GROUP( 3dnow )
00050 
00051 
00052 extern void _ASMAPI
00053 _mesa_v16_3dnow_general_xform( GLfloat *first_vert,
00054                    const GLfloat *m,
00055                    const GLfloat *src,
00056                    GLuint src_stride,
00057                    GLuint count );
00058 
00059 extern void _ASMAPI
00060 _mesa_3dnow_project_vertices( GLfloat *first,
00061                   GLfloat *last,
00062                   const GLfloat *m,
00063                   GLuint stride );
00064 
00065 extern void _ASMAPI
00066 _mesa_3dnow_project_clipped_vertices( GLfloat *first,
00067                       GLfloat *last,
00068                       const GLfloat *m,
00069                       GLuint stride,
00070                       const GLubyte *clipmask );
00071 #endif
00072 
00073 
00074 void _mesa_init_3dnow_transform_asm( void )
00075 {
00076 #ifdef USE_3DNOW_ASM
00077    ASSIGN_XFORM_GROUP( 3dnow, 2 );
00078    ASSIGN_XFORM_GROUP( 3dnow, 3 );
00079    ASSIGN_XFORM_GROUP( 3dnow, 4 );
00080 
00081    /* There's a bug somewhere in the 3dnow_normal.S file that causes
00082     * bad shading.  Disable for now.
00083    ASSIGN_NORM_GROUP( 3dnow );
00084    */
00085 
00086 #ifdef DEBUG_MATH
00087    _math_test_all_transform_functions( "3DNow!" );
00088    _math_test_all_normal_transform_functions( "3DNow!" );
00089 #endif
00090 #endif
00091 }

Generated on Fri May 25 2012 04:18:57 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.