mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 23:22:57 +00:00
[OSMESA]
- enable x86 optimisations for GCC builds svn path=/trunk/; revision=60155
This commit is contained in:
parent
4deaf51f33
commit
7f2ce261b2
4 changed files with 209 additions and 1 deletions
|
@ -14,6 +14,19 @@ add_definitions(
|
||||||
-D_GLAPI_NO_EXPORTS # prevent _glapi_* from being declared __declspec(dllimport)
|
-D_GLAPI_NO_EXPORTS # prevent _glapi_* from being declared __declspec(dllimport)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if((ARCH STREQUAL "i386") AND (NOT MSVC))
|
||||||
|
add_definitions(
|
||||||
|
-DUSE_X86_ASM
|
||||||
|
-DUSE_MMX_ASM
|
||||||
|
-DUSE_3DNOW_ASM
|
||||||
|
-DUSE_SSE_ASM
|
||||||
|
)
|
||||||
|
add_subdirectory(x86)
|
||||||
|
set(mesa_asm_lib mesa_x86)
|
||||||
|
else()
|
||||||
|
set(mesa_asm_lib)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_subdirectory(drivers/common)
|
add_subdirectory(drivers/common)
|
||||||
add_subdirectory(drivers/osmesa)
|
add_subdirectory(drivers/osmesa)
|
||||||
add_subdirectory(main)
|
add_subdirectory(main)
|
||||||
|
|
|
@ -15,7 +15,9 @@ target_link_libraries(osmesa
|
||||||
mesa_vbo
|
mesa_vbo
|
||||||
mesa_program
|
mesa_program
|
||||||
mesa_math
|
mesa_math
|
||||||
mesa_glsl)
|
mesa_glsl
|
||||||
|
${mesa_asm_lib}
|
||||||
|
)
|
||||||
|
|
||||||
set_module_type(osmesa win32dll)
|
set_module_type(osmesa win32dll)
|
||||||
add_importlibs(osmesa msvcrt kernel32 ntdll)
|
add_importlibs(osmesa msvcrt kernel32 ntdll)
|
||||||
|
|
31
reactos/dll/opengl/mesa/src/mesa/x86/CMakeLists.txt
Normal file
31
reactos/dll/opengl/mesa/src/mesa/x86/CMakeLists.txt
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
|
||||||
|
list(APPEND SOURCE
|
||||||
|
common_x86.c
|
||||||
|
x86_xform.c
|
||||||
|
3dnow.c
|
||||||
|
sse.c
|
||||||
|
common_x86_asm.S
|
||||||
|
x86_xform2.S
|
||||||
|
x86_xform3.S
|
||||||
|
x86_xform4.S
|
||||||
|
x86_cliptest.S
|
||||||
|
mmx_blend.S
|
||||||
|
3dnow_xform1.S
|
||||||
|
3dnow_xform2.S
|
||||||
|
3dnow_xform3.S
|
||||||
|
3dnow_xform4.S
|
||||||
|
3dnow_normal.S
|
||||||
|
sse_xform1.S
|
||||||
|
sse_xform2.S
|
||||||
|
sse_xform3.S
|
||||||
|
sse_xform4.S
|
||||||
|
sse_normal.S
|
||||||
|
read_rgba_span_x86.S
|
||||||
|
rtasm/x86sse.c
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(mesa_x86 STATIC ${SOURCE})
|
||||||
|
|
||||||
|
if(NOT MSVC)
|
||||||
|
add_compile_flags("-Wno-format")
|
||||||
|
endif()
|
162
reactos/dll/opengl/mesa/src/mesa/x86/matypes.h
Normal file
162
reactos/dll/opengl/mesa/src/mesa/x86/matypes.h
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
/*
|
||||||
|
* This file is automatically generated from the Mesa internal type
|
||||||
|
* definitions. Do not edit directly.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef __ASM_TYPES_H__
|
||||||
|
#define __ASM_TYPES_H__
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================
|
||||||
|
* Offsets for struct gl_context
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CTX_DRIVER_CTX 880
|
||||||
|
|
||||||
|
#define CTX_LIGHT_ENABLED 39952
|
||||||
|
#define CTX_LIGHT_SHADE_MODEL 39956
|
||||||
|
#define CTX_LIGHT_COLOR_MAT_FACE 39964
|
||||||
|
#define CTX_LIGHT_COLOR_MAT_MODE 39968
|
||||||
|
#define CTX_LIGHT_COLOR_MAT_MASK 39972
|
||||||
|
#define CTX_LIGHT_COLOR_MAT_ENABLED 39976
|
||||||
|
#define CTX_LIGHT_ENABLED_LIST 39988
|
||||||
|
#define CTX_LIGHT_NEED_VERTS 44341
|
||||||
|
#define CTX_LIGHT_FLAGS 44344
|
||||||
|
#define CTX_LIGHT_BASE_COLOR 44348
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================
|
||||||
|
* Offsets for struct vertex_buffer
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define VB_SIZE 0
|
||||||
|
#define VB_COUNT 4
|
||||||
|
|
||||||
|
#define VB_ELTS 8
|
||||||
|
#define VB_OBJ_PTR 60
|
||||||
|
#define VB_EYE_PTR 12
|
||||||
|
#define VB_CLIP_PTR 16
|
||||||
|
#define VB_PROJ_CLIP_PTR 20
|
||||||
|
#define VB_CLIP_OR_MASK 24
|
||||||
|
#define VB_CLIP_MASK 28
|
||||||
|
#define VB_NORMAL_PTR 68
|
||||||
|
#define VB_EDGE_FLAG 36
|
||||||
|
#define VB_TEX0_COORD_PTR 92
|
||||||
|
#define VB_TEX1_COORD_PTR 96
|
||||||
|
#define VB_TEX2_COORD_PTR 100
|
||||||
|
#define VB_TEX3_COORD_PTR 104
|
||||||
|
#define VB_INDEX_PTR 84
|
||||||
|
#define VB_COLOR_PTR 72
|
||||||
|
#define VB_SECONDARY_COLOR_PTR 76
|
||||||
|
#define VB_FOG_COORD_PTR 80
|
||||||
|
#define VB_PRIMITIVE 52
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Flags for struct vertex_buffer
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define VERT_BIT_OBJ 0x1
|
||||||
|
#define VERT_BIT_NORM 0x4
|
||||||
|
#define VERT_BIT_RGBA 0x8
|
||||||
|
#define VERT_BIT_SPEC_RGB 0x10
|
||||||
|
#define VERT_BIT_FOG_COORD 0x20
|
||||||
|
#define VERT_BIT_TEX0 0x100
|
||||||
|
#define VERT_BIT_TEX1 0x200
|
||||||
|
#define VERT_BIT_TEX2 0x400
|
||||||
|
#define VERT_BIT_TEX3 0x800
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================
|
||||||
|
* Offsets for GLvector4f
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define V4F_DATA 0
|
||||||
|
#define V4F_START 4
|
||||||
|
#define V4F_COUNT 8
|
||||||
|
#define V4F_STRIDE 12
|
||||||
|
#define V4F_SIZE 16
|
||||||
|
#define V4F_FLAGS 20
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Flags for GLvector4f
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define VEC_MALLOC 0x10
|
||||||
|
#define VEC_NOT_WRITEABLE 0x40
|
||||||
|
#define VEC_BAD_STRIDE 0x100
|
||||||
|
|
||||||
|
#define VEC_SIZE_1 0x1
|
||||||
|
#define VEC_SIZE_2 0x3
|
||||||
|
#define VEC_SIZE_3 0x7
|
||||||
|
#define VEC_SIZE_4 0xf
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================
|
||||||
|
* Offsets for GLmatrix
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define MATRIX_DATA 0
|
||||||
|
#define MATRIX_INV 4
|
||||||
|
#define MATRIX_FLAGS 8
|
||||||
|
#define MATRIX_TYPE 12
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================
|
||||||
|
* Offsets for struct gl_light
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LIGHT_NEXT 0
|
||||||
|
#define LIGHT_PREV 4
|
||||||
|
|
||||||
|
#define LIGHT_AMBIENT 8
|
||||||
|
#define LIGHT_DIFFUSE 24
|
||||||
|
#define LIGHT_SPECULAR 40
|
||||||
|
#define LIGHT_EYE_POSITION 56
|
||||||
|
#define LIGHT_SPOT_DIRECTION 72
|
||||||
|
#define LIGHT_SPOT_EXPONENT 88
|
||||||
|
#define LIGHT_SPOT_CUTOFF 92
|
||||||
|
#define LIGHT_COS_CUTOFF 100
|
||||||
|
#define LIGHT_CONST_ATTEN 104
|
||||||
|
#define LIGHT_LINEAR_ATTEN 108
|
||||||
|
#define LIGHT_QUADRATIC_ATTEN 112
|
||||||
|
#define LIGHT_ENABLED 116
|
||||||
|
|
||||||
|
#define LIGHT_FLAGS 120
|
||||||
|
|
||||||
|
#define LIGHT_POSITION 124
|
||||||
|
#define LIGHT_VP_INF_NORM 140
|
||||||
|
#define LIGHT_H_INF_NORM 152
|
||||||
|
#define LIGHT_NORM_DIRECTION 164
|
||||||
|
#define LIGHT_VP_INF_SPOT_ATTEN 180
|
||||||
|
|
||||||
|
#define LIGHT_SPOT_EXP_TABLE 184
|
||||||
|
#define LIGHT_MAT_AMBIENT 4280
|
||||||
|
#define LIGHT_MAT_DIFFUSE 4304
|
||||||
|
#define LIGHT_MAT_SPECULAR 4328
|
||||||
|
|
||||||
|
#define SIZEOF_GL_LIGHT 4352
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Flags for struct gl_light
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LIGHT_SPOT 0x1
|
||||||
|
#define LIGHT_LOCAL_VIEWER 0x2
|
||||||
|
#define LIGHT_POSITIONAL 0x4
|
||||||
|
|
||||||
|
#define LIGHT_NEED_VERTICES 0x6
|
||||||
|
|
||||||
|
|
||||||
|
/* =============================================================
|
||||||
|
* Offsets for struct gl_lightmodel
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define LIGHT_MODEL_AMBIENT 0
|
||||||
|
#define LIGHT_MODEL_LOCAL_VIEWER 16
|
||||||
|
#define LIGHT_MODEL_TWO_SIDE 17
|
||||||
|
#define LIGHT_MODEL_COLOR_CONTROL 20
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* __ASM_TYPES_H__ */
|
Loading…
Add table
Add a link
Reference in a new issue