Subversion Repositories Kolibri OS

Compare Revisions

Ignore whitespace Rev 4631 → Rev 4632

/contrib/sdk/sources/Mesa/Makefile.new
28,7 → 28,7
 
EGL_DEFS = -DHAVE_DRM_PLATFORM -D__unix__ -DMESA_EGL_NO_X11_HEADERS -D_EGL_BUILT_IN_DRIVER_DRI2
 
SUBDIRS = src/egl src/glsl
SUBDIRS = src/egl src/glsl src/mapi src/mesa
 
# targets
 
/contrib/sdk/sources/Mesa/src/glsl/Makefile
0,0 → 1,125
CC = gcc
 
SRC_DIR:=$(SDK_DIR)/sources
MESA_SRC:= $(SRC_DIR)/Mesa/src
 
CFLAGS_OPT = -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER -Os
CFLAGS_OPT+= -fomit-frame-pointer -mno-ms-bitfields
CFLAGS = -c $(CFLAGS_OPT)
 
INC_MESA:= -I$(SRC_DIR)/newlib/include -I$(SRC_DIR)/Mesa/include
INC_MESA+= -I./src -I$(MESA_SRC)/glsl -I$(MESA_SRC)/mesa -I$(MESA_SRC)/mapi
 
MESA_DEFS= -DMESA_DLL -DBUILD_GL32 -DMAPI_MODE_UTIL -DMAPI_TABLE_NUM_STATIC=87 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -DMAPI_TABLE_NUM_DYNAMIC=256
MESA_DEFS+= -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_VERSION=\"9.2.5\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"
MESA_DEFS+= -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"9.2.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
MESA_DEFS+= -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
 
GLSL_SRC = \
glcpp/glcpp-lex.c \
glcpp/glcpp-parse.c \
glcpp/pp.c \
ast_array_index.cpp \
ast_expr.cpp \
ast_function.cpp \
ast_to_hir.cpp \
ast_type.cpp \
builtin_function.cpp \
builtin_types.cpp \
builtin_variables.cpp \
glsl_lexer.cpp \
glsl_parser.cpp \
glsl_parser_extras.cpp \
glsl_symbol_table.cpp \
glsl_types.cpp \
hir_field_selection.cpp \
ir.cpp \
ir_basic_block.cpp \
ir_builder.cpp \
ir_clone.cpp \
ir_constant_expression.cpp \
ir_expression_flattening.cpp \
ir_function.cpp \
ir_function_can_inline.cpp \
ir_function_detect_recursion.cpp\
ir_hierarchical_visitor.cpp \
ir_hv_accept.cpp \
ir_import_prototypes.cpp \
ir_print_visitor.cpp \
ir_reader.cpp \
ir_rvalue_visitor.cpp \
ir_set_program_inouts.cpp \
ir_validate.cpp \
ir_variable_refcount.cpp \
link_functions.cpp \
link_interface_blocks.cpp \
link_uniform_block_active_visitor.cpp \
link_uniform_blocks.cpp \
link_uniform_initializers.cpp \
link_uniforms.cpp \
link_varyings.cpp \
linker.cpp \
loop_analysis.cpp \
loop_controls.cpp \
loop_unroll.cpp \
lower_clip_distance.cpp \
lower_discard.cpp \
lower_discard_flow.cpp \
lower_if_to_cond_assign.cpp \
lower_instructions.cpp \
lower_jumps.cpp \
lower_mat_op_to_vec.cpp \
lower_named_interface_blocks.cpp\
lower_noise.cpp \
lower_output_reads.cpp \
lower_packed_varyings.cpp \
lower_packing_builtins.cpp \
lower_texture_projection.cpp \
lower_ubo_reference.cpp \
lower_variable_index_to_cond_assign.cpp \
lower_vec_index_to_cond_assign.cpp \
lower_vec_index_to_swizzle.cpp \
lower_vector.cpp \
lower_vector_insert.cpp \
opt_algebraic.cpp \
opt_array_splitting.cpp \
opt_constant_folding.cpp \
opt_constant_propagation.cpp \
opt_constant_variable.cpp \
opt_copy_propagation.cpp \
opt_copy_propagation_elements.cpp \
opt_dead_builtin_varyings.cpp \
opt_dead_code.cpp \
opt_dead_code_local.cpp \
opt_dead_functions.cpp \
opt_flatten_nested_if_blocks.cpp\
opt_flip_matrices.cpp \
opt_function_inlining.cpp \
opt_if_simplification.cpp \
opt_noop_swizzle.cpp \
opt_redundant_jumps.cpp \
opt_structure_splitting.cpp \
opt_swizzle_swizzle.cpp \
opt_tree_grafting.cpp \
ralloc.c \
s_expression.cpp \
strtod.c \
$(NULL)
 
 
GLSL_OBJS = $(patsubst %.cpp, %.o, $(patsubst %.c, %.o, $(GLSL_SRC)))
 
# targets
 
all: libglsl.a
 
libglsl.a : $(GLSL_OBJS) Makefile
ar cvrs libglsl.a $(GLSL_OBJS)
mv -f libglsl.a $(SDK_DIR)/lib
 
%.o : %.c Makefile
$(CC) $(CFLAGS) -std=c99 $(MESA_DEFS) $(INC_MESA) -o $@ $<
 
%.o : %.cpp Makefile
$(CC) $(CFLAGS) $(MESA_DEFS) $(INC_MESA) -o $@ $<
 
/contrib/sdk/sources/Mesa/src/mapi/Makefile
0,0 → 1,58
CC = gcc
 
SRC_DIR:=$(SDK_DIR)/sources
MESA_SRC:= $(SRC_DIR)/Mesa/src
 
CFLAGS_OPT = -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER -Os
CFLAGS_OPT+= -fomit-frame-pointer -mno-ms-bitfields
CFLAGS = -c $(CFLAGS_OPT)
 
LD = ld
LDFLAGS = -nostdlib -shared -s --image-base 0 -T $(SRC_DIR)/newlib/dll.lds --out-implib libGL.dll.a -e _DllStartup
 
STRIP = $(PREFIX)strip
 
INC_MESA:= -I$(SRC_DIR)/newlib/include -I$(SRC_DIR)/Mesa/include
INC_MESA+= -I./src -I$(MESA_SRC)/glsl -I$(MESA_SRC)/mesa -I$(MESA_SRC)/mapi
 
 
LIBPATH:= -L$(SDK_DIR)/lib
 
LIBS:= -ldll -ldrm.dll -lc.dll -lgcc
 
MESA_DEFS= -DMESA_DLL -DBUILD_GL32 -DMAPI_MODE_UTIL -DMAPI_TABLE_NUM_STATIC=87 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -DMAPI_TABLE_NUM_DYNAMIC=256
MESA_DEFS+= -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_VERSION=\"9.2.5\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"
MESA_DEFS+= -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"9.2.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
MESA_DEFS+= -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -D_GLAPI_DLL_EXPORTS
 
 
LIBGL_SRC = \
glapi/glapi.c \
glapi/glapi_dispatch.c \
glapi/glapi_entrypoint.c \
glapi/glapi_getproc.c \
glapi/glapi_nop.c \
glapi/glapi_x86.S \
u_current.c \
u_execmem.c \
$(NULL)
LIBGL_OBJS = $(patsubst %.c, %.o, $(patsubst %.S, %.o, $(LIBGL_SRC)))
 
# targets
 
all: libGL.dll
 
libGL.dll: $(LIBGL_OBJS) Makefile
$(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(LIBGL_OBJS) $(LIBS)
$(STRIP) $@
mv -f $@ $(SDK_DIR)/bin
mv -f libGL.dll.a $(SDK_DIR)/lib
 
%.o : %.c Makefile
$(CC) $(CFLAGS) -std=c99 $(MESA_DEFS) $(INC_MESA) -o $@ $<
 
%.o : %.S Makefile
$(CC) -c -save-temps -U_WIN32 -I $(MESA_SRC)/mesa -o $@ $<
 
/contrib/sdk/sources/Mesa/src/mesa/Makefile
0,0 → 1,395
CC = gcc
 
SRC_DIR:=$(SDK_DIR)/sources
MESA_SRC:= $(SRC_DIR)/Mesa/src
 
CFLAGS_OPT = -U_Win32 -U_WIN32 -U__MINGW32__ -UWIN32 -U_MSC_VER -Os
CFLAGS_OPT+= -fomit-frame-pointer -mno-ms-bitfields -save-temps
CFLAGS = -c $(CFLAGS_OPT)
 
LD = ld
LDFLAGS = -nostdlib -shared -s --image-base 0 -T $(SRC_DIR)/newlib/dll.lds -e _DllStartup
 
STRIP = $(PREFIX)strip
 
INC_MESA:= -I$(SRC_DIR)/newlib/include -I$(SRC_DIR)/Mesa/include
INC_MESA+= -I./ -I$(MESA_SRC)/glsl -I$(MESA_SRC)/mesa -I$(MESA_SRC)/mapi
INC_MESA+= -I$(SRC_DIR)/libdrm -I$(MESA_SRC) -I$(SRC_DIR)/expat/lib
INC_I965:= -I$(SRC_DIR)/libdrm/intel -I$(SRC_DIR)/libdrm/include/drm -I$(MESA_SRC)/mesa/drivers/dri/common
 
LIBPATH:= -L$(SDK_DIR)/lib
 
LIBS:= -ldll -lglsl -lGL.dll -lsupc++ -lgcc_eh -ldrm.dll -lexpat -lc.dll -lgcc
 
MESA_DEFS= -DMESA_DLL -DBUILD_GL32 -DMAPI_MODE_UTIL -DMAPI_TABLE_NUM_STATIC=87 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -DMAPI_TABLE_NUM_DYNAMIC=256
MESA_DEFS+= -DPACKAGE_NAME=\"Mesa\" -DPACKAGE_VERSION=\"9.2.5\" -DPACKAGE_BUGREPORT=\"https://bugs.freedesktop.org/enter_bug.cgi\?product=Mesa\"
MESA_DEFS+= -DPACKAGE_URL=\"\" -DPACKAGE=\"mesa\" -DVERSION=\"9.2.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1
MESA_DEFS+= -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -D_GLAPI_DLL_EXPORTS
 
 
MAIN_SRC = \
drivers/common/driverfuncs.c \
drivers/common/meta.c \
drivers/dri/common/dri_util.c \
drivers/dri/common/utils.c \
drivers/dri/common/xmlconfig.c \
main/accum.c \
main/api_arrayelt.c \
main/api_exec.c \
main/api_loopback.c \
main/api_validate.c \
main/arbprogram.c \
main/arrayobj.c \
main/atifragshader.c \
main/attrib.c \
main/blend.c \
main/bufferobj.c \
main/buffers.c \
main/clear.c \
main/clip.c \
main/colortab.c \
main/condrender.c \
main/context.c \
main/convolve.c \
main/cpuinfo.c \
main/debug.c \
main/depth.c \
main/dlist.c \
main/drawpix.c \
main/drawtex.c \
main/enable.c \
main/enums.c \
main/errors.c \
main/es1_conversion.c \
main/eval.c \
main/execmem.c \
main/extensions.c \
main/ff_fragment_shader.cpp \
main/fbobject.c \
main/feedback.c \
main/ffvertex_prog.c \
main/fog.c \
main/format_pack.c \
main/format_unpack.c \
main/formatquery.c \
main/formats.c \
main/framebuffer.c \
main/get.c \
main/getstring.c \
main/glformats.c \
main/hash.c \
main/hash_table.c \
main/hint.c \
main/histogram.c \
main/image.c \
main/imports.c \
main/light.c \
main/lines.c \
main/matrix.c \
main/mipmap.c \
main/mm.c \
main/multisample.c \
main/pack.c \
main/pbo.c \
main/pixel.c \
main/pixelstore.c \
main/pixeltransfer.c \
main/points.c \
main/polygon.c \
main/querymatrix.c \
main/queryobj.c \
main/rastpos.c \
main/readpix.c \
main/remap.c \
main/renderbuffer.c \
main/samplerobj.c \
main/scissor.c \
main/set.c \
main/shader_query.c \
main/shaderapi.c \
main/shaderobj.c \
main/shared.c \
main/state.c \
main/stencil.c \
main/syncobj.c \
main/texcompress.c \
main/texcompress_cpal.c \
main/texcompress_etc.c \
main/texcompress_fxt1.c \
main/texcompress_rgtc.c \
main/texcompress_s3tc.c \
main/texenv.c \
main/texformat.c \
main/texgen.c \
main/texgetimage.c \
main/teximage.c \
main/texobj.c \
main/texparam.c \
main/texstate.c \
main/texstorage.c \
main/texstore.c \
main/texturebarrier.c \
main/transformfeedback.c \
main/uniform_query.cpp \
main/uniforms.c \
main/varray.c \
main/version.c \
main/viewport.c \
main/vtxfmt.c \
math/m_debug_clip.c \
math/m_debug_norm.c \
math/m_debug_xform.c \
math/m_eval.c \
math/m_matrix.c \
math/m_translate.c \
math/m_vector.c \
math/m_xform.c \
program/arbprogparse.c \
program/ir_to_mesa.cpp \
program/lex.yy.c \
program/prog_cache.c \
program/prog_execute.c \
program/prog_hash_table.c \
program/prog_instruction.c \
program/prog_noise.c \
program/prog_opt_constant_fold.c\
program/prog_optimize.c \
program/prog_parameter.c \
program/prog_parameter_layout.c \
program/prog_print.c \
program/prog_statevars.c \
program/program.c \
program/program_parse.tab.c \
program/program_parse_extra.c \
program/programopt.c \
program/register_allocate.c \
program/sampler.cpp \
program/string_to_uint_map.cpp \
program/symbol_table.c \
swrast/s_aaline.c \
swrast/s_aatriangle.c \
swrast/s_alpha.c \
swrast/s_atifragshader.c \
swrast/s_bitmap.c \
swrast/s_blend.c \
swrast/s_blit.c \
swrast/s_clear.c \
swrast/s_context.c \
swrast/s_copypix.c \
swrast/s_depth.c \
swrast/s_drawpix.c \
swrast/s_feedback.c \
swrast/s_fog.c \
swrast/s_fragprog.c \
swrast/s_lines.c \
swrast/s_logic.c \
swrast/s_masking.c \
swrast/s_points.c \
swrast/s_renderbuffer.c \
swrast/s_span.c \
swrast/s_stencil.c \
swrast/s_texcombine.c \
swrast/s_texfetch.c \
swrast/s_texfilter.c \
swrast/s_texrender.c \
swrast/s_texture.c \
swrast/s_triangle.c \
swrast/s_zoom.c \
swrast_setup/ss_context.c \
swrast_setup/ss_triangle.c \
tnl/t_context.c \
tnl/t_draw.c \
tnl/t_pipeline.c \
tnl/t_rasterpos.c \
tnl/t_vb_fog.c \
tnl/t_vb_light.c \
tnl/t_vb_normals.c \
tnl/t_vb_points.c \
tnl/t_vb_program.c \
tnl/t_vb_render.c \
tnl/t_vb_texgen.c \
tnl/t_vb_texmat.c \
tnl/t_vb_vertex.c \
tnl/t_vertex.c \
tnl/t_vertex_generic.c \
tnl/t_vertex_sse.c \
tnl/t_vp_build.c \
vbo/vbo_context.c \
vbo/vbo_exec.c \
vbo/vbo_exec_api.c \
vbo/vbo_exec_array.c \
vbo/vbo_exec_draw.c \
vbo/vbo_exec_eval.c \
vbo/vbo_noop.c \
vbo/vbo_primitive_restart.c \
vbo/vbo_rebase.c \
vbo/vbo_save.c \
vbo/vbo_save_api.c \
vbo/vbo_save_draw.c \
vbo/vbo_save_loopback.c \
vbo/vbo_split.c \
vbo/vbo_split_copy.c \
vbo/vbo_split_inplace.c \
x86/common_x86.c \
x86/common_x86_asm.S \
x86/mmx_blend.S \
x86/read_rgba_span_x86.S \
x86/rtasm/x86sse.c \
x86/sse.c \
x86/sse_normal.S \
x86/sse_xform1.S \
x86/sse_xform2.S \
x86/sse_xform3.S \
x86/sse_xform4.S \
x86/x86_cliptest.S \
x86/x86_xform.c \
x86/x86_xform2.S \
x86/x86_xform3.S \
x86/x86_xform4.S \
$(NULL)
 
I965_SRC = \
drivers/dri/i965/intel_batchbuffer.c \
drivers/dri/i965/intel_blit.c \
drivers/dri/i965/intel_buffer_objects.c \
drivers/dri/i965/intel_buffers.c \
drivers/dri/i965/intel_context.c \
drivers/dri/i965/intel_extensions.c \
drivers/dri/i965/intel_fbo.c \
drivers/dri/i965/intel_mipmap_tree.c \
drivers/dri/i965/intel_regions.c \
drivers/dri/i965/intel_resolve_map.c \
drivers/dri/i965/intel_screen.c \
drivers/dri/i965/intel_pixel.c \
drivers/dri/i965/intel_pixel_bitmap.c \
drivers/dri/i965/intel_pixel_copy.c \
drivers/dri/i965/intel_pixel_draw.c \
drivers/dri/i965/intel_pixel_read.c \
drivers/dri/i965/intel_state.c \
drivers/dri/i965/intel_syncobj.c \
drivers/dri/i965/intel_tex.c \
drivers/dri/i965/intel_tex_copy.c \
drivers/dri/i965/intel_tex_image.c \
drivers/dri/i965/intel_tex_subimage.c \
drivers/dri/i965/intel_tex_validate.c \
drivers/dri/i965/brw_blorp.cpp \
drivers/dri/i965/brw_blorp_blit.cpp \
drivers/dri/i965/brw_blorp_clear.cpp \
drivers/dri/i965/brw_cc.c \
drivers/dri/i965/brw_cfg.cpp \
drivers/dri/i965/brw_clear.c \
drivers/dri/i965/brw_clip.c \
drivers/dri/i965/brw_clip_line.c \
drivers/dri/i965/brw_clip_point.c \
drivers/dri/i965/brw_clip_state.c \
drivers/dri/i965/brw_clip_tri.c \
drivers/dri/i965/brw_clip_unfilled.c \
drivers/dri/i965/brw_clip_util.c \
drivers/dri/i965/brw_context.c \
drivers/dri/i965/brw_cubemap_normalize.cpp \
drivers/dri/i965/brw_curbe.c \
drivers/dri/i965/brw_disasm.c \
drivers/dri/i965/brw_draw.c \
drivers/dri/i965/brw_draw_upload.c \
drivers/dri/i965/brw_eu.c \
drivers/dri/i965/brw_eu_compact.c \
drivers/dri/i965/brw_eu_emit.c \
drivers/dri/i965/brw_eu_util.c \
drivers/dri/i965/brw_fs.cpp \
drivers/dri/i965/brw_fs_channel_expressions.cpp \
drivers/dri/i965/brw_fs_copy_propagation.cpp \
drivers/dri/i965/brw_fs_cse.cpp \
drivers/dri/i965/brw_fs_emit.cpp \
drivers/dri/i965/brw_fs_fp.cpp \
drivers/dri/i965/brw_fs_live_variables.cpp \
drivers/dri/i965/brw_fs_reg_allocate.cpp \
drivers/dri/i965/brw_fs_vector_splitting.cpp \
drivers/dri/i965/brw_fs_visitor.cpp \
drivers/dri/i965/brw_gs.c \
drivers/dri/i965/brw_gs_emit.c \
drivers/dri/i965/brw_gs_state.c \
drivers/dri/i965/brw_lower_texture_gradients.cpp \
drivers/dri/i965/brw_misc_state.c \
drivers/dri/i965/brw_program.c \
drivers/dri/i965/brw_primitive_restart.c\
drivers/dri/i965/brw_queryobj.c \
drivers/dri/i965/brw_schedule_instructions.cpp \
drivers/dri/i965/brw_sf.c \
drivers/dri/i965/brw_sf_emit.c \
drivers/dri/i965/brw_sf_state.c \
drivers/dri/i965/brw_shader.cpp \
drivers/dri/i965/brw_state_batch.c \
drivers/dri/i965/brw_state_cache.c \
drivers/dri/i965/brw_state_dump.c \
drivers/dri/i965/brw_state_upload.c \
drivers/dri/i965/brw_surface_formats.c \
drivers/dri/i965/brw_tex.c \
drivers/dri/i965/brw_tex_layout.c \
drivers/dri/i965/brw_urb.c \
drivers/dri/i965/brw_util.c \
drivers/dri/i965/brw_vec4.cpp \
drivers/dri/i965/brw_vec4_copy_propagation.cpp \
drivers/dri/i965/brw_vec4_emit.cpp \
drivers/dri/i965/brw_vec4_live_variables.cpp \
drivers/dri/i965/brw_vec4_reg_allocate.cpp \
drivers/dri/i965/brw_vec4_visitor.cpp \
drivers/dri/i965/brw_vec4_vp.cpp \
drivers/dri/i965/brw_vs.c \
drivers/dri/i965/brw_vs_state.c \
drivers/dri/i965/brw_vs_surface_state.c \
drivers/dri/i965/brw_vtbl.c \
drivers/dri/i965/brw_wm.c \
drivers/dri/i965/brw_wm_iz.cpp \
drivers/dri/i965/brw_wm_sampler_state.c \
drivers/dri/i965/brw_wm_state.c \
drivers/dri/i965/brw_wm_surface_state.c \
drivers/dri/i965/gen6_blorp.cpp \
drivers/dri/i965/gen6_cc.c \
drivers/dri/i965/gen6_clip_state.c \
drivers/dri/i965/gen6_depthstencil.c \
drivers/dri/i965/gen6_gs_state.c \
drivers/dri/i965/gen6_multisample_state.c \
drivers/dri/i965/gen6_queryobj.c \
drivers/dri/i965/gen6_sampler_state.c \
drivers/dri/i965/gen6_scissor_state.c \
drivers/dri/i965/gen6_sf_state.c \
drivers/dri/i965/gen6_sol.c \
drivers/dri/i965/gen6_urb.c \
drivers/dri/i965/gen6_viewport_state.c \
drivers/dri/i965/gen6_vs_state.c \
drivers/dri/i965/gen6_wm_state.c \
drivers/dri/i965/gen7_blorp.cpp \
drivers/dri/i965/gen7_clip_state.c \
drivers/dri/i965/gen7_disable.c \
drivers/dri/i965/gen7_misc_state.c \
drivers/dri/i965/gen7_sampler_state.c \
drivers/dri/i965/gen7_sf_state.c \
drivers/dri/i965/gen7_sol_state.c \
drivers/dri/i965/gen7_urb.c \
drivers/dri/i965/gen7_viewport_state.c \
drivers/dri/i965/gen7_vs_state.c \
drivers/dri/i965/gen7_wm_state.c \
drivers/dri/i965/gen7_wm_surface_state.c\
$(NULL)
 
MESA_OBJS = $(patsubst %.c, %.o, $(patsubst %.S, %.o, $(patsubst %.cpp, %.o, $(MAIN_SRC))))
I965_OBJS = $(patsubst %.c, %.o, $(patsubst %.cpp, %.o, $(I965_SRC)))
 
# targets
 
all: i965_dri.drv
 
i965_dri.drv: $(I965_OBJS) $(MESA_OBJS) dri.def Makefile
$(LD) $(LDFLAGS) $(LIBPATH) -o $@ $(I965_OBJS) $(MESA_OBJS) dri.def $(LIBS)
$(STRIP) $@
mv -f $@ $(SDK_DIR)/bin
 
%.o : %.c Makefile
$(CC) $(CFLAGS) -std=c99 $(MESA_DEFS) $(INC_MESA) $(INC_I965) -o $@ $<
 
%.o : %.S Makefile
$(CC) -c -save-temps -U_WIN32 -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_SSE_ASM -I $(MESA_SRC)/mesa -o $@ $<
 
%.o : %.cpp Makefile
$(CC) $(CFLAGS) $(MESA_DEFS) $(INC_MESA) $(INC_I965) -o $@ $<
 
/contrib/sdk/sources/Mesa/src/mesa/dri.def
0,0 → 1,4
VERSION 6.5
EXPORTS
DllStartup
__driDriverExtensions
/contrib/sdk/sources/Mesa/src/mesa/drivers/dri/i965/Makefile.sources
1,127 → 1,127
i965_INCLUDES = \
$(MESA_TOP)/src \
$(MESA_TOP)/src/mesa/drivers/dri/intel
 
i965_FILES = \
intel_batchbuffer.c \
intel_blit.c \
intel_buffer_objects.c \
intel_buffers.c \
intel_context.c \
intel_extensions.c \
intel_fbo.c \
intel_mipmap_tree.c \
intel_regions.c \
intel_resolve_map.c \
intel_screen.c \
intel_pixel.c \
intel_pixel_bitmap.c \
intel_pixel_copy.c \
intel_pixel_draw.c \
intel_pixel_read.c \
intel_state.c \
intel_syncobj.c \
intel_tex.c \
intel_tex_copy.c \
intel_tex_image.c \
intel_tex_subimage.c \
intel_tex_validate.c \
brw_blorp.cpp \
brw_blorp_blit.cpp \
brw_blorp_clear.cpp \
brw_cc.c \
brw_cfg.cpp \
brw_clear.c \
brw_clip.c \
brw_clip_line.c \
brw_clip_point.c \
brw_clip_state.c \
brw_clip_tri.c \
brw_clip_unfilled.c \
brw_clip_util.c \
brw_context.c \
brw_cubemap_normalize.cpp \
brw_curbe.c \
brw_disasm.c \
brw_draw.c \
brw_draw_upload.c \
brw_eu.c \
brw_eu_compact.c \
brw_eu_emit.c \
brw_eu_util.c \
brw_fs.cpp \
brw_fs_channel_expressions.cpp \
brw_fs_copy_propagation.cpp \
brw_fs_cse.cpp \
brw_fs_emit.cpp \
brw_fs_fp.cpp \
brw_fs_live_variables.cpp \
brw_fs_reg_allocate.cpp \
brw_fs_vector_splitting.cpp \
brw_fs_visitor.cpp \
brw_gs.c \
brw_gs_emit.c \
brw_gs_state.c \
brw_lower_texture_gradients.cpp \
brw_misc_state.c \
brw_program.c \
brw_primitive_restart.c \
brw_queryobj.c \
brw_schedule_instructions.cpp \
brw_sf.c \
brw_sf_emit.c \
brw_sf_state.c \
brw_shader.cpp \
brw_state_batch.c \
brw_state_cache.c \
brw_state_dump.c \
brw_state_upload.c \
brw_surface_formats.c \
brw_tex.c \
brw_tex_layout.c \
brw_urb.c \
brw_util.c \
brw_vec4.cpp \
brw_vec4_copy_propagation.cpp \
brw_vec4_emit.cpp \
brw_vec4_live_variables.cpp \
brw_vec4_reg_allocate.cpp \
brw_vec4_visitor.cpp \
brw_vec4_vp.cpp \
brw_vs.c \
brw_vs_state.c \
brw_vs_surface_state.c \
brw_vtbl.c \
brw_wm.c \
brw_wm_iz.cpp \
brw_wm_sampler_state.c \
brw_wm_state.c \
brw_wm_surface_state.c \
gen6_blorp.cpp \
gen6_cc.c \
gen6_clip_state.c \
gen6_depthstencil.c \
gen6_gs_state.c \
gen6_multisample_state.c \
gen6_queryobj.c \
gen6_sampler_state.c \
gen6_scissor_state.c \
gen6_sf_state.c \
gen6_sol.c \
gen6_urb.c \
gen6_viewport_state.c \
gen6_vs_state.c \
gen6_wm_state.c \
gen7_blorp.cpp \
gen7_clip_state.c \
gen7_disable.c \
gen7_misc_state.c \
gen7_sampler_state.c \
gen7_sf_state.c \
gen7_sol_state.c \
gen7_urb.c \
gen7_viewport_state.c \
gen7_vs_state.c \
gen7_wm_state.c \
gen7_wm_surface_state.c \
$()
i965_INCLUDES = \
$(MESA_TOP)/src \
$(MESA_TOP)/src/mesa/drivers/dri/intel
 
i965_FILES = \
intel_batchbuffer.c \
intel_blit.c \
intel_buffer_objects.c \
intel_buffers.c \
intel_context.c \
intel_extensions.c \
intel_fbo.c \
intel_mipmap_tree.c \
intel_regions.c \
intel_resolve_map.c \
intel_screen.c \
intel_pixel.c \
intel_pixel_bitmap.c \
intel_pixel_copy.c \
intel_pixel_draw.c \
intel_pixel_read.c \
intel_state.c \
intel_syncobj.c \
intel_tex.c \
intel_tex_copy.c \
intel_tex_image.c \
intel_tex_subimage.c \
intel_tex_validate.c \
brw_blorp.cpp \
brw_blorp_blit.cpp \
brw_blorp_clear.cpp \
brw_cc.c \
brw_cfg.cpp \
brw_clear.c \
brw_clip.c \
brw_clip_line.c \
brw_clip_point.c \
brw_clip_state.c \
brw_clip_tri.c \
brw_clip_unfilled.c \
brw_clip_util.c \
brw_context.c \
brw_cubemap_normalize.cpp \
brw_curbe.c \
brw_disasm.c \
brw_draw.c \
brw_draw_upload.c \
brw_eu.c \
brw_eu_compact.c \
brw_eu_emit.c \
brw_eu_util.c \
brw_fs.cpp \
brw_fs_channel_expressions.cpp \
brw_fs_copy_propagation.cpp \
brw_fs_cse.cpp \
brw_fs_emit.cpp \
brw_fs_fp.cpp \
brw_fs_live_variables.cpp \
brw_fs_reg_allocate.cpp \
brw_fs_vector_splitting.cpp \
brw_fs_visitor.cpp \
brw_gs.c \
brw_gs_emit.c \
brw_gs_state.c \
brw_lower_texture_gradients.cpp \
brw_misc_state.c \
brw_program.c \
brw_primitive_restart.c \
brw_queryobj.c \
brw_schedule_instructions.cpp \
brw_sf.c \
brw_sf_emit.c \
brw_sf_state.c \
brw_shader.cpp \
brw_state_batch.c \
brw_state_cache.c \
brw_state_dump.c \
brw_state_upload.c \
brw_surface_formats.c \
brw_tex.c \
brw_tex_layout.c \
brw_urb.c \
brw_util.c \
brw_vec4.cpp \
brw_vec4_copy_propagation.cpp \
brw_vec4_emit.cpp \
brw_vec4_live_variables.cpp \
brw_vec4_reg_allocate.cpp \
brw_vec4_visitor.cpp \
brw_vec4_vp.cpp \
brw_vs.c \
brw_vs_state.c \
brw_vs_surface_state.c \
brw_vtbl.c \
brw_wm.c \
brw_wm_iz.cpp \
brw_wm_sampler_state.c \
brw_wm_state.c \
brw_wm_surface_state.c \
gen6_blorp.cpp \
gen6_cc.c \
gen6_clip_state.c \
gen6_depthstencil.c \
gen6_gs_state.c \
gen6_multisample_state.c \
gen6_queryobj.c \
gen6_sampler_state.c \
gen6_scissor_state.c \
gen6_sf_state.c \
gen6_sol.c \
gen6_urb.c \
gen6_viewport_state.c \
gen6_vs_state.c \
gen6_wm_state.c \
gen7_blorp.cpp \
gen7_clip_state.c \
gen7_disable.c \
gen7_misc_state.c \
gen7_sampler_state.c \
gen7_sf_state.c \
gen7_sol_state.c \
gen7_urb.c \
gen7_viewport_state.c \
gen7_vs_state.c \
gen7_wm_state.c \
gen7_wm_surface_state.c \
$()
/contrib/sdk/sources/Mesa/src/mesa/drivers/dri/i965/intel_context.c
66,6 → 66,7
const struct brw_context *const brw = brw_context(ctx);
const char *chipset;
static char buffer[128];
static char driver_name[] = "i965_dri.drv";
 
switch (name) {
case GL_VENDOR:
85,6 → 86,9
(void) driGetRendererString(buffer, chipset, 0);
return (GLubyte *) buffer;
 
case 0x1F04: /* GL_DRIVER_NAME */
return (GLubyte*)driver_name;
 
default:
return NULL;
}
/contrib/sdk/sources/Mesa/src/mesa/drivers/dri/i965/intel_screen.c
1189,6 → 1189,8
{
struct intel_screen *intelScreen;
 
printf("mesa-9.2.5-i965_dri build %s %s\n", __DATE__, __TIME__);
 
if (psp->dri2.loader->base.version <= 2 ||
psp->dri2.loader->getBuffersWithFormat == NULL) {
fprintf(stderr,
/contrib/sdk/sources/Mesa/src/mesa/x86/common_x86_asm.S
46,9 → 46,9
SEG_TEXT
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_x86_has_cpuid)
HIDDEN(__mesa_x86_has_cpuid)
GLNAME(__mesa_x86_has_cpuid):
GLOBL GLNAME(_mesa_x86_has_cpuid)
HIDDEN(_mesa_x86_has_cpuid)
GLNAME(_mesa_x86_has_cpuid):
 
/* Test for the CPUID command. If the ID Flag bit in EFLAGS
* (bit 21) is writable, the CPUID command is present */
70,9 → 70,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_x86_cpuid)
HIDDEN(__mesa_x86_cpuid)
GLNAME(__mesa_x86_cpuid):
GLOBL GLNAME(_mesa_x86_cpuid)
HIDDEN(_mesa_x86_cpuid)
GLNAME(_mesa_x86_cpuid):
 
MOV_L (REGOFF(4, ESP), EAX) /* cpuid op */
PUSH_L (EDI)
94,9 → 94,9
RET
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_x86_cpuid_eax)
HIDDEN(__mesa_x86_cpuid_eax)
GLNAME(__mesa_x86_cpuid_eax):
GLOBL GLNAME(_mesa_x86_cpuid_eax)
HIDDEN(_mesa_x86_cpuid_eax)
GLNAME(_mesa_x86_cpuid_eax):
 
MOV_L (REGOFF(4, ESP), EAX) /* cpuid op */
PUSH_L (EBX)
107,9 → 107,9
RET
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_x86_cpuid_ebx)
HIDDEN(__mesa_x86_cpuid_ebx)
GLNAME(__mesa_x86_cpuid_ebx):
GLOBL GLNAME(_mesa_x86_cpuid_ebx)
HIDDEN(_mesa_x86_cpuid_ebx)
GLNAME(_mesa_x86_cpuid_ebx):
 
MOV_L (REGOFF(4, ESP), EAX) /* cpuid op */
PUSH_L (EBX)
121,9 → 121,9
RET
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_x86_cpuid_ecx)
HIDDEN(__mesa_x86_cpuid_ecx)
GLNAME(__mesa_x86_cpuid_ecx):
GLOBL GLNAME(_mesa_x86_cpuid_ecx)
HIDDEN(_mesa_x86_cpuid_ecx)
GLNAME(_mesa_x86_cpuid_ecx):
 
MOV_L (REGOFF(4, ESP), EAX) /* cpuid op */
PUSH_L (EBX)
135,9 → 135,9
RET
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_x86_cpuid_edx)
HIDDEN(__mesa_x86_cpuid_edx)
GLNAME(__mesa_x86_cpuid_edx):
GLOBL GLNAME(_mesa_x86_cpuid_edx)
HIDDEN(_mesa_x86_cpuid_edx)
GLNAME(_mesa_x86_cpuid_edx):
 
MOV_L (REGOFF(4, ESP), EAX) /* cpuid op */
PUSH_L (EBX)
161,9 → 161,9
* See freedesktop.org bug #1709 for more info.
*/
ALIGNTEXT4
GLOBL GLNAME( __mesa_test_os_sse_support )
HIDDEN(__mesa_test_os_sse_support)
GLNAME( __mesa_test_os_sse_support ):
GLOBL GLNAME( _mesa_test_os_sse_support )
HIDDEN(_mesa_test_os_sse_support)
GLNAME( _mesa_test_os_sse_support ):
 
XORPS ( XMM0, XMM0 )
 
176,9 → 176,9
* otherwise this could kill the client application.
*/
ALIGNTEXT4
GLOBL GLNAME( __mesa_test_os_sse_exception_support )
HIDDEN(__mesa_test_os_sse_exception_support)
GLNAME( __mesa_test_os_sse_exception_support ):
GLOBL GLNAME( _mesa_test_os_sse_exception_support )
HIDDEN(_mesa_test_os_sse_exception_support)
GLNAME( _mesa_test_os_sse_exception_support ):
 
PUSH_L ( EBP )
MOV_L ( ESP, EBP )
/contrib/sdk/sources/Mesa/src/mesa/x86/mmx_blendtmp.h
12,9 → 12,9
*
*/
ALIGNTEXT16
GLOBL GLNAME( TAG(__mesa_mmx_blend) )
HIDDEN( TAG(__mesa_mmx_blend) )
GLNAME( TAG(__mesa_mmx_blend) ):
GLOBL GLNAME( TAG(_mesa_mmx_blend) )
HIDDEN( TAG(_mesa_mmx_blend) )
GLNAME( TAG(_mesa_mmx_blend) ):
 
PUSH_L ( EBP )
MOV_L ( ESP, EBP )
/contrib/sdk/sources/Mesa/src/mesa/x86/sse_normal.S
44,9 → 44,9
 
 
ALIGNTEXT16
GLOBL GLNAME(__mesa_sse_transform_rescale_normals_no_rot)
HIDDEN(__mesa_sse_transform_rescale_normals_no_rot)
GLNAME(__mesa_sse_transform_rescale_normals_no_rot):
GLOBL GLNAME(_mesa_sse_transform_rescale_normals_no_rot)
HIDDEN(_mesa_sse_transform_rescale_normals_no_rot)
GLNAME(_mesa_sse_transform_rescale_normals_no_rot):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
106,9 → 106,9
 
 
ALIGNTEXT16
GLOBL GLNAME(__mesa_sse_transform_rescale_normals)
HIDDEN(__mesa_sse_transform_rescale_normals)
GLNAME(__mesa_sse_transform_rescale_normals):
GLOBL GLNAME(_mesa_sse_transform_rescale_normals)
HIDDEN(_mesa_sse_transform_rescale_normals)
GLNAME(_mesa_sse_transform_rescale_normals):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
199,9 → 199,9
 
 
ALIGNTEXT16
GLOBL GLNAME(__mesa_sse_transform_normals_no_rot)
HIDDEN(__mesa_sse_transform_normals_no_rot)
GLNAME(__mesa_sse_transform_normals_no_rot):
GLOBL GLNAME(_mesa_sse_transform_normals_no_rot)
HIDDEN(_mesa_sse_transform_normals_no_rot)
GLNAME(_mesa_sse_transform_normals_no_rot):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
/contrib/sdk/sources/Mesa/src/mesa/x86/sse_xform1.S
43,9 → 43,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points1_general)
HIDDEN( __mesa_sse_transform_points1_general )
GLNAME( __mesa_sse_transform_points1_general ):
GLOBL GLNAME(_mesa_sse_transform_points1_general)
HIDDEN( _mesa_sse_transform_points1_general )
GLNAME( _mesa_sse_transform_points1_general ):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
100,9 → 100,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points1_identity)
HIDDEN(__mesa_sse_transform_points1_identity)
GLNAME( __mesa_sse_transform_points1_identity ):
GLOBL GLNAME(_mesa_sse_transform_points1_identity)
HIDDEN(_mesa_sse_transform_points1_identity)
GLNAME( _mesa_sse_transform_points1_identity ):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
152,9 → 152,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points1_3d_no_rot)
HIDDEN(__mesa_sse_transform_points1_3d_no_rot)
GLNAME(__mesa_sse_transform_points1_3d_no_rot):
GLOBL GLNAME(_mesa_sse_transform_points1_3d_no_rot)
HIDDEN(_mesa_sse_transform_points1_3d_no_rot)
GLNAME(_mesa_sse_transform_points1_3d_no_rot):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
213,9 → 213,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points1_perspective)
HIDDEN(__mesa_sse_transform_points1_perspective)
GLNAME(__mesa_sse_transform_points1_perspective):
GLOBL GLNAME(_mesa_sse_transform_points1_perspective)
HIDDEN(_mesa_sse_transform_points1_perspective)
GLNAME(_mesa_sse_transform_points1_perspective):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
272,9 → 272,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points1_2d)
HIDDEN(__mesa_sse_transform_points1_2d)
GLNAME(__mesa_sse_transform_points1_2d):
GLOBL GLNAME(_mesa_sse_transform_points1_2d)
HIDDEN(_mesa_sse_transform_points1_2d)
GLNAME(_mesa_sse_transform_points1_2d):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
327,9 → 327,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points1_2d_no_rot)
HIDDEN(__mesa_sse_transform_points1_2d_no_rot)
GLNAME(__mesa_sse_transform_points1_2d_no_rot):
GLOBL GLNAME(_mesa_sse_transform_points1_2d_no_rot)
HIDDEN(_mesa_sse_transform_points1_2d_no_rot)
GLNAME(_mesa_sse_transform_points1_2d_no_rot):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
384,9 → 384,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points1_3d)
HIDDEN(__mesa_sse_transform_points1_3d)
GLNAME(__mesa_sse_transform_points1_3d):
GLOBL GLNAME(_mesa_sse_transform_points1_3d)
HIDDEN(_mesa_sse_transform_points1_3d)
GLNAME(_mesa_sse_transform_points1_3d):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
/contrib/sdk/sources/Mesa/src/mesa/x86/sse_xform2.S
43,9 → 43,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points2_general)
HIDDEN (__mesa_sse_transform_points2_general)
GLNAME( __mesa_sse_transform_points2_general ):
GLOBL GLNAME(_mesa_sse_transform_points2_general)
HIDDEN (_mesa_sse_transform_points2_general)
GLNAME( _mesa_sse_transform_points2_general ):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
104,9 → 104,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points2_identity)
HIDDEN(__mesa_sse_transform_points2_identity)
GLNAME( __mesa_sse_transform_points2_identity ):
GLOBL GLNAME(_mesa_sse_transform_points2_identity)
HIDDEN(_mesa_sse_transform_points2_identity)
GLNAME( _mesa_sse_transform_points2_identity ):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
157,9 → 157,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points2_3d_no_rot)
HIDDEN(__mesa_sse_transform_points2_3d_no_rot)
GLNAME(__mesa_sse_transform_points2_3d_no_rot):
GLOBL GLNAME(_mesa_sse_transform_points2_3d_no_rot)
HIDDEN(_mesa_sse_transform_points2_3d_no_rot)
GLNAME(_mesa_sse_transform_points2_3d_no_rot):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
218,9 → 218,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points2_perspective)
HIDDEN(__mesa_sse_transform_points2_perspective)
GLNAME(__mesa_sse_transform_points2_perspective):
GLOBL GLNAME(_mesa_sse_transform_points2_perspective)
HIDDEN(_mesa_sse_transform_points2_perspective)
GLNAME(_mesa_sse_transform_points2_perspective):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
277,9 → 277,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points2_2d)
HIDDEN(__mesa_sse_transform_points2_2d)
GLNAME(__mesa_sse_transform_points2_2d):
GLOBL GLNAME(_mesa_sse_transform_points2_2d)
HIDDEN(_mesa_sse_transform_points2_2d)
GLNAME(_mesa_sse_transform_points2_2d):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
340,9 → 340,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points2_2d_no_rot)
HIDDEN(__mesa_sse_transform_points2_2d_no_rot)
GLNAME(__mesa_sse_transform_points2_2d_no_rot):
GLOBL GLNAME(_mesa_sse_transform_points2_2d_no_rot)
HIDDEN(_mesa_sse_transform_points2_2d_no_rot)
GLNAME(_mesa_sse_transform_points2_2d_no_rot):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
397,9 → 397,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points2_3d)
HIDDEN(__mesa_sse_transform_points2_3d)
GLNAME(__mesa_sse_transform_points2_3d):
GLOBL GLNAME(_mesa_sse_transform_points2_3d)
HIDDEN(_mesa_sse_transform_points2_3d)
GLNAME(_mesa_sse_transform_points2_3d):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
/contrib/sdk/sources/Mesa/src/mesa/x86/sse_xform3.S
43,9 → 43,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points3_general)
HIDDEN(__mesa_sse_transform_points3_general)
GLNAME( __mesa_sse_transform_points3_general ):
GLOBL GLNAME(_mesa_sse_transform_points3_general)
HIDDEN(_mesa_sse_transform_points3_general)
GLNAME( _mesa_sse_transform_points3_general ):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
113,9 → 113,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points3_identity)
HIDDEN(__mesa_sse_transform_points3_identity)
GLNAME( __mesa_sse_transform_points3_identity ):
GLOBL GLNAME(_mesa_sse_transform_points3_identity)
HIDDEN(_mesa_sse_transform_points3_identity)
GLNAME( _mesa_sse_transform_points3_identity ):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
168,9 → 168,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points3_3d_no_rot)
HIDDEN(__mesa_sse_transform_points3_3d_no_rot)
GLNAME(__mesa_sse_transform_points3_3d_no_rot):
GLOBL GLNAME(_mesa_sse_transform_points3_3d_no_rot)
HIDDEN(_mesa_sse_transform_points3_3d_no_rot)
GLNAME(_mesa_sse_transform_points3_3d_no_rot):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
236,9 → 236,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points3_perspective)
HIDDEN(__mesa_sse_transform_points3_perspective)
GLNAME(__mesa_sse_transform_points3_perspective):
GLOBL GLNAME(_mesa_sse_transform_points3_perspective)
HIDDEN(_mesa_sse_transform_points3_perspective)
GLNAME(_mesa_sse_transform_points3_perspective):
 
#define FRAME_OFFSET 8
PUSH_L ( ESI )
309,9 → 309,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points3_2d)
HIDDEN(__mesa_sse_transform_points3_2d)
GLNAME(__mesa_sse_transform_points3_2d):
GLOBL GLNAME(_mesa_sse_transform_points3_2d)
HIDDEN(_mesa_sse_transform_points3_2d)
GLNAME(_mesa_sse_transform_points3_2d):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
374,9 → 374,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points3_2d_no_rot)
HIDDEN(__mesa_sse_transform_points3_2d_no_rot)
GLNAME(__mesa_sse_transform_points3_2d_no_rot):
GLOBL GLNAME(_mesa_sse_transform_points3_2d_no_rot)
HIDDEN(_mesa_sse_transform_points3_2d_no_rot)
GLNAME(_mesa_sse_transform_points3_2d_no_rot):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
435,9 → 435,9
 
 
ALIGNTEXT4
GLOBL GLNAME(__mesa_sse_transform_points3_3d)
HIDDEN(__mesa_sse_transform_points3_3d)
GLNAME(__mesa_sse_transform_points3_3d):
GLOBL GLNAME(_mesa_sse_transform_points3_3d)
HIDDEN(_mesa_sse_transform_points3_3d)
GLNAME(_mesa_sse_transform_points3_3d):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
/contrib/sdk/sources/Mesa/src/mesa/x86/sse_xform4.S
40,9 → 40,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_sse_transform_points4_general )
HIDDEN(__mesa_sse_transform_points4_general)
GLNAME( __mesa_sse_transform_points4_general ):
GLOBL GLNAME( _mesa_sse_transform_points4_general )
HIDDEN(_mesa_sse_transform_points4_general)
GLNAME( _mesa_sse_transform_points4_general ):
 
PUSH_L( ESI )
PUSH_L( EDI )
112,9 → 112,9
 
 
ALIGNTEXT4
GLOBL GLNAME( __mesa_sse_transform_points4_3d )
HIDDEN(__mesa_sse_transform_points4_3d)
GLNAME( __mesa_sse_transform_points4_3d ):
GLOBL GLNAME( _mesa_sse_transform_points4_3d )
HIDDEN(_mesa_sse_transform_points4_3d)
GLNAME( _mesa_sse_transform_points4_3d ):
 
PUSH_L( ESI )
PUSH_L( EDI )
/contrib/sdk/sources/Mesa/src/mesa/x86/x86_cliptest.S
1,407 → 1,407
 
/*
* Mesa 3-D graphics library
*
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
 
/*
* NOTE: Avoid using spaces in between '(' ')' and arguments, especially
* with macros like CONST, LLBL that expand to CONCAT(...). Putting spaces
* in there will break the build on some platforms.
*/
 
#include "assyntax.h"
#include "matypes.h"
#include "clip_args.h"
 
#define SRC0 REGOFF(0, ESI)
#define SRC1 REGOFF(4, ESI)
#define SRC2 REGOFF(8, ESI)
#define SRC3 REGOFF(12, ESI)
#define DST0 REGOFF(0, EDI)
#define DST1 REGOFF(4, EDI)
#define DST2 REGOFF(8, EDI)
#define DST3 REGOFF(12, EDI)
#define MAT0 REGOFF(0, EDX)
#define MAT1 REGOFF(4, EDX)
#define MAT2 REGOFF(8, EDX)
#define MAT3 REGOFF(12, EDX)
 
 
/*
* Table for clip test.
*
* bit6 = SRC3 < 0
* bit5 = SRC2 < 0
* bit4 = abs(S(2)) > abs(S(3))
* bit3 = SRC1 < 0
* bit2 = abs(S(1)) > abs(S(3))
* bit1 = SRC0 < 0
* bit0 = abs(S(0)) > abs(S(3))
*/
 
SEG_DATA
 
clip_table:
D_BYTE 0x00, 0x01, 0x00, 0x02, 0x04, 0x05, 0x04, 0x06
D_BYTE 0x00, 0x01, 0x00, 0x02, 0x08, 0x09, 0x08, 0x0a
D_BYTE 0x20, 0x21, 0x20, 0x22, 0x24, 0x25, 0x24, 0x26
D_BYTE 0x20, 0x21, 0x20, 0x22, 0x28, 0x29, 0x28, 0x2a
D_BYTE 0x00, 0x01, 0x00, 0x02, 0x04, 0x05, 0x04, 0x06
D_BYTE 0x00, 0x01, 0x00, 0x02, 0x08, 0x09, 0x08, 0x0a
D_BYTE 0x10, 0x11, 0x10, 0x12, 0x14, 0x15, 0x14, 0x16
D_BYTE 0x10, 0x11, 0x10, 0x12, 0x18, 0x19, 0x18, 0x1a
D_BYTE 0x3f, 0x3d, 0x3f, 0x3e, 0x37, 0x35, 0x37, 0x36
D_BYTE 0x3f, 0x3d, 0x3f, 0x3e, 0x3b, 0x39, 0x3b, 0x3a
D_BYTE 0x2f, 0x2d, 0x2f, 0x2e, 0x27, 0x25, 0x27, 0x26
D_BYTE 0x2f, 0x2d, 0x2f, 0x2e, 0x2b, 0x29, 0x2b, 0x2a
D_BYTE 0x3f, 0x3d, 0x3f, 0x3e, 0x37, 0x35, 0x37, 0x36
D_BYTE 0x3f, 0x3d, 0x3f, 0x3e, 0x3b, 0x39, 0x3b, 0x3a
D_BYTE 0x1f, 0x1d, 0x1f, 0x1e, 0x17, 0x15, 0x17, 0x16
D_BYTE 0x1f, 0x1d, 0x1f, 0x1e, 0x1b, 0x19, 0x1b, 0x1a
 
 
SEG_TEXT
 
/*
* _mesa_x86_cliptest_points4
*
* AL: ormask
* AH: andmask
* EBX: temp0
* ECX: temp1
* EDX: clipmask[]
* ESI: clip[]
* EDI: proj[]
* EBP: temp2
*/
 
#if defined(__ELF__) && defined(__PIC__) && defined(GNU_ASSEMBLER) && !defined(ELFPIC)
#define ELFPIC
#endif
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_cliptest_points4 )
HIDDEN(__mesa_x86_cliptest_points4)
GLNAME( __mesa_x86_cliptest_points4 ):
 
#ifdef ELFPIC
#define FRAME_OFFSET 20
#else
#define FRAME_OFFSET 16
#endif
PUSH_L( ESI )
PUSH_L( EDI )
PUSH_L( EBP )
PUSH_L( EBX )
 
#ifdef ELFPIC
/* store pointer to clip_table on stack */
CALL( LLBL(ctp4_get_eip) )
ADD_L( CONST(_GLOBAL_OFFSET_TABLE_), EBX )
MOV_L( REGOFF(clip_table@GOT, EBX), EBX )
PUSH_L( EBX )
JMP( LLBL(ctp4_clip_table_ready) )
 
LLBL(ctp4_get_eip):
/* store eip in ebx */
MOV_L( REGIND(ESP), EBX )
RET
 
LLBL(ctp4_clip_table_ready):
#endif
 
MOV_L( ARG_SOURCE, ESI )
MOV_L( ARG_DEST, EDI )
 
MOV_L( ARG_CLIP, EDX )
MOV_L( ARG_OR, EBX )
 
MOV_L( ARG_AND, EBP )
MOV_L( REGOFF(V4F_STRIDE, ESI), EAX )
 
MOV_L( REGOFF(V4F_COUNT, ESI), ECX )
MOV_L( REGOFF(V4F_START, ESI), ESI )
 
OR_L( CONST(VEC_SIZE_4), REGOFF(V4F_FLAGS, EDI) )
MOV_L( EAX, ARG_SOURCE ) /* put stride in ARG_SOURCE */
 
MOV_L( CONST(4), REGOFF(V4F_SIZE, EDI) )
MOV_L( ECX, REGOFF(V4F_COUNT, EDI) )
 
MOV_L( REGOFF(V4F_START, EDI), EDI )
ADD_L( EDX, ECX )
 
MOV_L( ECX, ARG_CLIP ) /* put clipmask + count in ARG_CLIP */
CMP_L( ECX, EDX )
 
MOV_B( REGIND(EBX), AL )
MOV_B( REGIND(EBP), AH )
 
JZ( LLBL(ctp4_finish) )
 
ALIGNTEXT16
LLBL(ctp4_top):
 
FLD1 /* F3 */
FDIV_S( SRC3 ) /* GH: don't care about div-by-zero */
 
MOV_L( SRC3, EBP )
MOV_L( SRC2, EBX )
 
XOR_L( ECX, ECX )
ADD_L( EBP, EBP ) /* ebp = abs(S(3))*2 ; carry = sign of S(3) */
 
ADC_L( ECX, ECX )
ADD_L( EBX, EBX ) /* ebx = abs(S(2))*2 ; carry = sign of S(2) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(2))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
MOV_L( SRC1, EBX )
 
ADD_L( EBX, EBX ) /* ebx = abs(S(1))*2 ; carry = sign of S(1) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(1))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
MOV_L( SRC0, EBX )
 
ADD_L( EBX, EBX ) /* ebx = abs(S(0))*2 ; carry = sign of S(0) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(0))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
 
#ifdef ELFPIC
MOV_L( REGIND(ESP), EBP ) /* clip_table */
 
MOV_B( REGBI(EBP, ECX), CL )
#else
MOV_B( REGOFF(clip_table,ECX), CL )
#endif
 
OR_B( CL, AL )
AND_B( CL, AH )
 
TEST_B( CL, CL )
MOV_B( CL, REGIND(EDX) )
 
JZ( LLBL(ctp4_proj) )
 
LLBL(ctp4_noproj):
 
FSTP( ST(0) ) /* */
 
MOV_L( CONST(0), DST0 )
MOV_L( CONST(0), DST1 )
MOV_L( CONST(0), DST2 )
MOV_L( CONST(0x3f800000), DST3 )
 
JMP( LLBL(ctp4_next) )
 
LLBL(ctp4_proj):
 
FLD_S( SRC0 ) /* F0 F3 */
FMUL2( ST(1), ST0 )
 
FLD_S( SRC1 ) /* F1 F0 F3 */
FMUL2( ST(2), ST0 )
 
FLD_S( SRC2 ) /* F2 F1 F0 F3 */
FMUL2( ST(3), ST0 )
 
FXCH( ST(2) ) /* F0 F1 F2 F3 */
FSTP_S( DST0 ) /* F1 F2 F3 */
FSTP_S( DST1 ) /* F2 F3 */
FSTP_S( DST2 ) /* F3 */
FSTP_S( DST3 ) /* */
 
LLBL(ctp4_next):
 
INC_L( EDX )
ADD_L( CONST(16), EDI )
 
ADD_L( ARG_SOURCE, ESI )
CMP_L( EDX, ARG_CLIP )
 
JNZ( LLBL(ctp4_top) )
 
MOV_L( ARG_OR, ECX )
MOV_L( ARG_AND, EDX )
 
MOV_B( AL, REGIND(ECX) )
MOV_B( AH, REGIND(EDX) )
 
LLBL(ctp4_finish):
 
MOV_L( ARG_DEST, EAX )
#ifdef ELFPIC
POP_L( ESI ) /* discard ptr to clip_table */
#endif
POP_L( EBX )
POP_L( EBP )
POP_L( EDI )
POP_L( ESI )
 
RET
 
 
 
 
 
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_cliptest_points4_np )
HIDDEN(__mesa_x86_cliptest_points4_np)
GLNAME( __mesa_x86_cliptest_points4_np ):
 
#ifdef ELFPIC
#define FRAME_OFFSET 20
#else
#define FRAME_OFFSET 16
#endif
PUSH_L( ESI )
PUSH_L( EDI )
PUSH_L( EBP )
PUSH_L( EBX )
 
#ifdef ELFPIC
/* store pointer to clip_table on stack */
CALL( LLBL(ctp4_np_get_eip) )
ADD_L( CONST(_GLOBAL_OFFSET_TABLE_), EBX )
MOV_L( REGOFF(clip_table@GOT, EBX), EBX )
PUSH_L( EBX )
JMP( LLBL(ctp4_np_clip_table_ready) )
 
LLBL(ctp4_np_get_eip):
/* store eip in ebx */
MOV_L( REGIND(ESP), EBX )
RET
 
LLBL(ctp4_np_clip_table_ready):
#endif
 
MOV_L( ARG_SOURCE, ESI )
/* slot */
 
MOV_L( ARG_CLIP, EDX )
MOV_L( ARG_OR, EBX )
 
MOV_L( ARG_AND, EBP )
MOV_L( REGOFF(V4F_STRIDE, ESI), EAX )
 
MOV_L( REGOFF(V4F_COUNT, ESI), ECX )
MOV_L( REGOFF(V4F_START, ESI), ESI )
 
MOV_L( EAX, ARG_DEST ) /* put stride in ARG_DEST */
ADD_L( EDX, ECX )
 
MOV_L( ECX, EDI ) /* put clipmask + count in EDI */
CMP_L( ECX, EDX )
 
MOV_B( REGIND(EBX), AL )
MOV_B( REGIND(EBP), AH )
 
JZ( LLBL(ctp4_np_finish) )
 
ALIGNTEXT16
LLBL(ctp4_np_top):
 
MOV_L( SRC3, EBP )
MOV_L( SRC2, EBX )
 
XOR_L( ECX, ECX )
ADD_L( EBP, EBP ) /* ebp = abs(S(3))*2 ; carry = sign of S(3) */
 
ADC_L( ECX, ECX )
ADD_L( EBX, EBX ) /* ebx = abs(S(2))*2 ; carry = sign of S(2) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(2))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
MOV_L( SRC1, EBX )
 
ADD_L( EBX, EBX ) /* ebx = abs(S(1))*2 ; carry = sign of S(1) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(1))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
MOV_L( SRC0, EBX )
 
ADD_L( EBX, EBX ) /* ebx = abs(S(0))*2 ; carry = sign of S(0) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(0))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
 
#ifdef ELFPIC
MOV_L( REGIND(ESP), EBP ) /* clip_table */
 
MOV_B( REGBI(EBP, ECX), CL )
#else
MOV_B( REGOFF(clip_table,ECX), CL )
#endif
 
OR_B( CL, AL )
AND_B( CL, AH )
 
TEST_B( CL, CL )
MOV_B( CL, REGIND(EDX) )
 
INC_L( EDX )
/* slot */
 
ADD_L( ARG_DEST, ESI )
CMP_L( EDX, EDI )
 
JNZ( LLBL(ctp4_np_top) )
 
MOV_L( ARG_OR, ECX )
MOV_L( ARG_AND, EDX )
 
MOV_B( AL, REGIND(ECX) )
MOV_B( AH, REGIND(EDX) )
 
LLBL(ctp4_np_finish):
 
MOV_L( ARG_SOURCE, EAX )
#ifdef ELFPIC
POP_L( ESI ) /* discard ptr to clip_table */
#endif
POP_L( EBX )
POP_L( EBP )
POP_L( EDI )
POP_L( ESI )
 
RET
 
#if defined (__ELF__) && defined (__linux__)
.section .note.GNU-stack,"",%progbits
#endif
 
/*
* Mesa 3-D graphics library
*
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
 
/*
* NOTE: Avoid using spaces in between '(' ')' and arguments, especially
* with macros like CONST, LLBL that expand to CONCAT(...). Putting spaces
* in there will break the build on some platforms.
*/
 
#include "assyntax.h"
#include "matypes.h"
#include "clip_args.h"
 
#define SRC0 REGOFF(0, ESI)
#define SRC1 REGOFF(4, ESI)
#define SRC2 REGOFF(8, ESI)
#define SRC3 REGOFF(12, ESI)
#define DST0 REGOFF(0, EDI)
#define DST1 REGOFF(4, EDI)
#define DST2 REGOFF(8, EDI)
#define DST3 REGOFF(12, EDI)
#define MAT0 REGOFF(0, EDX)
#define MAT1 REGOFF(4, EDX)
#define MAT2 REGOFF(8, EDX)
#define MAT3 REGOFF(12, EDX)
 
 
/*
* Table for clip test.
*
* bit6 = SRC3 < 0
* bit5 = SRC2 < 0
* bit4 = abs(S(2)) > abs(S(3))
* bit3 = SRC1 < 0
* bit2 = abs(S(1)) > abs(S(3))
* bit1 = SRC0 < 0
* bit0 = abs(S(0)) > abs(S(3))
*/
 
SEG_DATA
 
clip_table:
D_BYTE 0x00, 0x01, 0x00, 0x02, 0x04, 0x05, 0x04, 0x06
D_BYTE 0x00, 0x01, 0x00, 0x02, 0x08, 0x09, 0x08, 0x0a
D_BYTE 0x20, 0x21, 0x20, 0x22, 0x24, 0x25, 0x24, 0x26
D_BYTE 0x20, 0x21, 0x20, 0x22, 0x28, 0x29, 0x28, 0x2a
D_BYTE 0x00, 0x01, 0x00, 0x02, 0x04, 0x05, 0x04, 0x06
D_BYTE 0x00, 0x01, 0x00, 0x02, 0x08, 0x09, 0x08, 0x0a
D_BYTE 0x10, 0x11, 0x10, 0x12, 0x14, 0x15, 0x14, 0x16
D_BYTE 0x10, 0x11, 0x10, 0x12, 0x18, 0x19, 0x18, 0x1a
D_BYTE 0x3f, 0x3d, 0x3f, 0x3e, 0x37, 0x35, 0x37, 0x36
D_BYTE 0x3f, 0x3d, 0x3f, 0x3e, 0x3b, 0x39, 0x3b, 0x3a
D_BYTE 0x2f, 0x2d, 0x2f, 0x2e, 0x27, 0x25, 0x27, 0x26
D_BYTE 0x2f, 0x2d, 0x2f, 0x2e, 0x2b, 0x29, 0x2b, 0x2a
D_BYTE 0x3f, 0x3d, 0x3f, 0x3e, 0x37, 0x35, 0x37, 0x36
D_BYTE 0x3f, 0x3d, 0x3f, 0x3e, 0x3b, 0x39, 0x3b, 0x3a
D_BYTE 0x1f, 0x1d, 0x1f, 0x1e, 0x17, 0x15, 0x17, 0x16
D_BYTE 0x1f, 0x1d, 0x1f, 0x1e, 0x1b, 0x19, 0x1b, 0x1a
 
 
SEG_TEXT
 
/*
* _mesa_x86_cliptest_points4
*
* AL: ormask
* AH: andmask
* EBX: temp0
* ECX: temp1
* EDX: clipmask[]
* ESI: clip[]
* EDI: proj[]
* EBP: temp2
*/
 
#if defined(__ELF__) && defined(__PIC__) && defined(GNU_ASSEMBLER) && !defined(ELFPIC)
#define ELFPIC
#endif
 
ALIGNTEXT16
GLOBL GLNAME( _mesa_x86_cliptest_points4 )
HIDDEN(_mesa_x86_cliptest_points4)
GLNAME( _mesa_x86_cliptest_points4 ):
 
#ifdef ELFPIC
#define FRAME_OFFSET 20
#else
#define FRAME_OFFSET 16
#endif
PUSH_L( ESI )
PUSH_L( EDI )
PUSH_L( EBP )
PUSH_L( EBX )
 
#ifdef ELFPIC
/* store pointer to clip_table on stack */
CALL( LLBL(ctp4_get_eip) )
ADD_L( CONST(_GLOBAL_OFFSET_TABLE_), EBX )
MOV_L( REGOFF(clip_table@GOT, EBX), EBX )
PUSH_L( EBX )
JMP( LLBL(ctp4_clip_table_ready) )
 
LLBL(ctp4_get_eip):
/* store eip in ebx */
MOV_L( REGIND(ESP), EBX )
RET
 
LLBL(ctp4_clip_table_ready):
#endif
 
MOV_L( ARG_SOURCE, ESI )
MOV_L( ARG_DEST, EDI )
 
MOV_L( ARG_CLIP, EDX )
MOV_L( ARG_OR, EBX )
 
MOV_L( ARG_AND, EBP )
MOV_L( REGOFF(V4F_STRIDE, ESI), EAX )
 
MOV_L( REGOFF(V4F_COUNT, ESI), ECX )
MOV_L( REGOFF(V4F_START, ESI), ESI )
 
OR_L( CONST(VEC_SIZE_4), REGOFF(V4F_FLAGS, EDI) )
MOV_L( EAX, ARG_SOURCE ) /* put stride in ARG_SOURCE */
 
MOV_L( CONST(4), REGOFF(V4F_SIZE, EDI) )
MOV_L( ECX, REGOFF(V4F_COUNT, EDI) )
 
MOV_L( REGOFF(V4F_START, EDI), EDI )
ADD_L( EDX, ECX )
 
MOV_L( ECX, ARG_CLIP ) /* put clipmask + count in ARG_CLIP */
CMP_L( ECX, EDX )
 
MOV_B( REGIND(EBX), AL )
MOV_B( REGIND(EBP), AH )
 
JZ( LLBL(ctp4_finish) )
 
ALIGNTEXT16
LLBL(ctp4_top):
 
FLD1 /* F3 */
FDIV_S( SRC3 ) /* GH: don't care about div-by-zero */
 
MOV_L( SRC3, EBP )
MOV_L( SRC2, EBX )
 
XOR_L( ECX, ECX )
ADD_L( EBP, EBP ) /* ebp = abs(S(3))*2 ; carry = sign of S(3) */
 
ADC_L( ECX, ECX )
ADD_L( EBX, EBX ) /* ebx = abs(S(2))*2 ; carry = sign of S(2) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(2))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
MOV_L( SRC1, EBX )
 
ADD_L( EBX, EBX ) /* ebx = abs(S(1))*2 ; carry = sign of S(1) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(1))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
MOV_L( SRC0, EBX )
 
ADD_L( EBX, EBX ) /* ebx = abs(S(0))*2 ; carry = sign of S(0) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(0))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
 
#ifdef ELFPIC
MOV_L( REGIND(ESP), EBP ) /* clip_table */
 
MOV_B( REGBI(EBP, ECX), CL )
#else
MOV_B( REGOFF(clip_table,ECX), CL )
#endif
 
OR_B( CL, AL )
AND_B( CL, AH )
 
TEST_B( CL, CL )
MOV_B( CL, REGIND(EDX) )
 
JZ( LLBL(ctp4_proj) )
 
LLBL(ctp4_noproj):
 
FSTP( ST(0) ) /* */
 
MOV_L( CONST(0), DST0 )
MOV_L( CONST(0), DST1 )
MOV_L( CONST(0), DST2 )
MOV_L( CONST(0x3f800000), DST3 )
 
JMP( LLBL(ctp4_next) )
 
LLBL(ctp4_proj):
 
FLD_S( SRC0 ) /* F0 F3 */
FMUL2( ST(1), ST0 )
 
FLD_S( SRC1 ) /* F1 F0 F3 */
FMUL2( ST(2), ST0 )
 
FLD_S( SRC2 ) /* F2 F1 F0 F3 */
FMUL2( ST(3), ST0 )
 
FXCH( ST(2) ) /* F0 F1 F2 F3 */
FSTP_S( DST0 ) /* F1 F2 F3 */
FSTP_S( DST1 ) /* F2 F3 */
FSTP_S( DST2 ) /* F3 */
FSTP_S( DST3 ) /* */
 
LLBL(ctp4_next):
 
INC_L( EDX )
ADD_L( CONST(16), EDI )
 
ADD_L( ARG_SOURCE, ESI )
CMP_L( EDX, ARG_CLIP )
 
JNZ( LLBL(ctp4_top) )
 
MOV_L( ARG_OR, ECX )
MOV_L( ARG_AND, EDX )
 
MOV_B( AL, REGIND(ECX) )
MOV_B( AH, REGIND(EDX) )
 
LLBL(ctp4_finish):
 
MOV_L( ARG_DEST, EAX )
#ifdef ELFPIC
POP_L( ESI ) /* discard ptr to clip_table */
#endif
POP_L( EBX )
POP_L( EBP )
POP_L( EDI )
POP_L( ESI )
 
RET
 
 
 
 
 
 
 
ALIGNTEXT16
GLOBL GLNAME( _mesa_x86_cliptest_points4_np )
HIDDEN(_mesa_x86_cliptest_points4_np)
GLNAME( _mesa_x86_cliptest_points4_np ):
 
#ifdef ELFPIC
#define FRAME_OFFSET 20
#else
#define FRAME_OFFSET 16
#endif
PUSH_L( ESI )
PUSH_L( EDI )
PUSH_L( EBP )
PUSH_L( EBX )
 
#ifdef ELFPIC
/* store pointer to clip_table on stack */
CALL( LLBL(ctp4_np_get_eip) )
ADD_L( CONST(_GLOBAL_OFFSET_TABLE_), EBX )
MOV_L( REGOFF(clip_table@GOT, EBX), EBX )
PUSH_L( EBX )
JMP( LLBL(ctp4_np_clip_table_ready) )
 
LLBL(ctp4_np_get_eip):
/* store eip in ebx */
MOV_L( REGIND(ESP), EBX )
RET
 
LLBL(ctp4_np_clip_table_ready):
#endif
 
MOV_L( ARG_SOURCE, ESI )
/* slot */
 
MOV_L( ARG_CLIP, EDX )
MOV_L( ARG_OR, EBX )
 
MOV_L( ARG_AND, EBP )
MOV_L( REGOFF(V4F_STRIDE, ESI), EAX )
 
MOV_L( REGOFF(V4F_COUNT, ESI), ECX )
MOV_L( REGOFF(V4F_START, ESI), ESI )
 
MOV_L( EAX, ARG_DEST ) /* put stride in ARG_DEST */
ADD_L( EDX, ECX )
 
MOV_L( ECX, EDI ) /* put clipmask + count in EDI */
CMP_L( ECX, EDX )
 
MOV_B( REGIND(EBX), AL )
MOV_B( REGIND(EBP), AH )
 
JZ( LLBL(ctp4_np_finish) )
 
ALIGNTEXT16
LLBL(ctp4_np_top):
 
MOV_L( SRC3, EBP )
MOV_L( SRC2, EBX )
 
XOR_L( ECX, ECX )
ADD_L( EBP, EBP ) /* ebp = abs(S(3))*2 ; carry = sign of S(3) */
 
ADC_L( ECX, ECX )
ADD_L( EBX, EBX ) /* ebx = abs(S(2))*2 ; carry = sign of S(2) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(2))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
MOV_L( SRC1, EBX )
 
ADD_L( EBX, EBX ) /* ebx = abs(S(1))*2 ; carry = sign of S(1) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(1))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
MOV_L( SRC0, EBX )
 
ADD_L( EBX, EBX ) /* ebx = abs(S(0))*2 ; carry = sign of S(0) */
 
ADC_L( ECX, ECX )
CMP_L( EBX, EBP ) /* carry = abs(S(0))*2 > abs(S(3))*2 */
 
ADC_L( ECX, ECX )
 
#ifdef ELFPIC
MOV_L( REGIND(ESP), EBP ) /* clip_table */
 
MOV_B( REGBI(EBP, ECX), CL )
#else
MOV_B( REGOFF(clip_table,ECX), CL )
#endif
 
OR_B( CL, AL )
AND_B( CL, AH )
 
TEST_B( CL, CL )
MOV_B( CL, REGIND(EDX) )
 
INC_L( EDX )
/* slot */
 
ADD_L( ARG_DEST, ESI )
CMP_L( EDX, EDI )
 
JNZ( LLBL(ctp4_np_top) )
 
MOV_L( ARG_OR, ECX )
MOV_L( ARG_AND, EDX )
 
MOV_B( AL, REGIND(ECX) )
MOV_B( AH, REGIND(EDX) )
 
LLBL(ctp4_np_finish):
 
MOV_L( ARG_SOURCE, EAX )
#ifdef ELFPIC
POP_L( ESI ) /* discard ptr to clip_table */
#endif
POP_L( EBX )
POP_L( EBP )
POP_L( EDI )
POP_L( ESI )
 
RET
#if defined (__ELF__) && defined (__linux__)
.section .note.GNU-stack,"",%progbits
#endif
/contrib/sdk/sources/Mesa/src/mesa/x86/x86_xform2.S
65,9 → 65,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points2_general )
HIDDEN(__mesa_x86_transform_points2_general)
GLNAME( __mesa_x86_transform_points2_general ):
GLOBL GLNAME( _mesa_x86_transform_points2_general )
HIDDEN(_mesa_x86_transform_points2_general)
GLNAME( _mesa_x86_transform_points2_general ):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
156,9 → 156,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points2_perspective )
HIDDEN(__mesa_x86_transform_points2_perspective)
GLNAME( __mesa_x86_transform_points2_perspective ):
GLOBL GLNAME( _mesa_x86_transform_points2_perspective )
HIDDEN(_mesa_x86_transform_points2_perspective)
GLNAME( _mesa_x86_transform_points2_perspective ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
222,9 → 222,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points2_3d )
HIDDEN(__mesa_x86_transform_points2_3d)
GLNAME( __mesa_x86_transform_points2_3d ):
GLOBL GLNAME( _mesa_x86_transform_points2_3d )
HIDDEN(_mesa_x86_transform_points2_3d)
GLNAME( _mesa_x86_transform_points2_3d ):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
304,9 → 304,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points2_3d_no_rot )
HIDDEN(__mesa_x86_transform_points2_3d_no_rot)
GLNAME( __mesa_x86_transform_points2_3d_no_rot ):
GLOBL GLNAME( _mesa_x86_transform_points2_3d_no_rot )
HIDDEN(_mesa_x86_transform_points2_3d_no_rot)
GLNAME( _mesa_x86_transform_points2_3d_no_rot ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
374,9 → 374,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points2_2d )
HIDDEN(__mesa_x86_transform_points2_2d)
GLNAME( __mesa_x86_transform_points2_2d ):
GLOBL GLNAME( _mesa_x86_transform_points2_2d )
HIDDEN(_mesa_x86_transform_points2_2d)
GLNAME( _mesa_x86_transform_points2_2d ):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
447,9 → 447,9
 
 
ALIGNTEXT4
GLOBL GLNAME( __mesa_x86_transform_points2_2d_no_rot )
HIDDEN(__mesa_x86_transform_points2_2d_no_rot)
GLNAME( __mesa_x86_transform_points2_2d_no_rot ):
GLOBL GLNAME( _mesa_x86_transform_points2_2d_no_rot )
HIDDEN(_mesa_x86_transform_points2_2d_no_rot)
GLNAME( _mesa_x86_transform_points2_2d_no_rot ):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
512,9 → 512,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points2_identity )
HIDDEN(__mesa_x86_transform_points2_identity)
GLNAME( __mesa_x86_transform_points2_identity ):
GLOBL GLNAME( _mesa_x86_transform_points2_identity )
HIDDEN(_mesa_x86_transform_points2_identity)
GLNAME( _mesa_x86_transform_points2_identity ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
/contrib/sdk/sources/Mesa/src/mesa/x86/x86_xform3.S
65,9 → 65,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points3_general )
HIDDEN(__mesa_x86_transform_points3_general)
GLNAME( __mesa_x86_transform_points3_general ):
GLOBL GLNAME( _mesa_x86_transform_points3_general )
HIDDEN(_mesa_x86_transform_points3_general)
GLNAME( _mesa_x86_transform_points3_general ):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
172,9 → 172,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points3_perspective )
HIDDEN(__mesa_x86_transform_points3_perspective)
GLNAME( __mesa_x86_transform_points3_perspective ):
GLOBL GLNAME( _mesa_x86_transform_points3_perspective )
HIDDEN(_mesa_x86_transform_points3_perspective)
GLNAME( _mesa_x86_transform_points3_perspective ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
253,9 → 253,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points3_3d )
HIDDEN(__mesa_x86_transform_points3_3d)
GLNAME( __mesa_x86_transform_points3_3d ):
GLOBL GLNAME( _mesa_x86_transform_points3_3d )
HIDDEN(_mesa_x86_transform_points3_3d)
GLNAME( _mesa_x86_transform_points3_3d ):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
347,9 → 347,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points3_3d_no_rot )
HIDDEN(__mesa_x86_transform_points3_3d_no_rot)
GLNAME( __mesa_x86_transform_points3_3d_no_rot ):
GLOBL GLNAME( _mesa_x86_transform_points3_3d_no_rot )
HIDDEN(_mesa_x86_transform_points3_3d_no_rot)
GLNAME( _mesa_x86_transform_points3_3d_no_rot ):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
420,9 → 420,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points3_2d )
HIDDEN(__mesa_x86_transform_points3_2d)
GLNAME( __mesa_x86_transform_points3_2d ):
GLOBL GLNAME( _mesa_x86_transform_points3_2d )
HIDDEN(_mesa_x86_transform_points3_2d)
GLNAME( _mesa_x86_transform_points3_2d ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
498,9 → 498,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points3_2d_no_rot )
HIDDEN(__mesa_x86_transform_points3_2d_no_rot)
GLNAME( __mesa_x86_transform_points3_2d_no_rot ):
GLOBL GLNAME( _mesa_x86_transform_points3_2d_no_rot )
HIDDEN(_mesa_x86_transform_points3_2d_no_rot)
GLNAME( _mesa_x86_transform_points3_2d_no_rot ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
569,9 → 569,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points3_identity )
HIDDEN(__mesa_x86_transform_points3_identity)
GLNAME(__mesa_x86_transform_points3_identity ):
GLOBL GLNAME( _mesa_x86_transform_points3_identity )
HIDDEN(_mesa_x86_transform_points3_identity)
GLNAME(_mesa_x86_transform_points3_identity ):
 
#define FRAME_OFFSET 16
PUSH_L( ESI )
/contrib/sdk/sources/Mesa/src/mesa/x86/x86_xform4.S
65,9 → 65,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points4_general )
HIDDEN(__mesa_x86_transform_points4_general)
GLNAME( __mesa_x86_transform_points4_general ):
GLOBL GLNAME( _mesa_x86_transform_points4_general )
HIDDEN(_mesa_x86_transform_points4_general)
GLNAME( _mesa_x86_transform_points4_general ):
 
#define FRAME_OFFSET 8
PUSH_L( ESI )
179,9 → 179,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points4_perspective )
HIDDEN(__mesa_x86_transform_points4_perspective)
GLNAME( __mesa_x86_transform_points4_perspective ):
GLOBL GLNAME( _mesa_x86_transform_points4_perspective )
HIDDEN(_mesa_x86_transform_points4_perspective)
GLNAME( _mesa_x86_transform_points4_perspective ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
262,9 → 262,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points4_3d )
HIDDEN(__mesa_x86_transform_points4_3d)
GLNAME( __mesa_x86_transform_points4_3d ):
GLOBL GLNAME( _mesa_x86_transform_points4_3d )
HIDDEN(_mesa_x86_transform_points4_3d)
GLNAME( _mesa_x86_transform_points4_3d ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
365,9 → 365,9
 
 
ALIGNTEXT16
GLOBL GLNAME(__mesa_x86_transform_points4_3d_no_rot)
HIDDEN(__mesa_x86_transform_points4_3d_no_rot)
GLNAME(__mesa_x86_transform_points4_3d_no_rot):
GLOBL GLNAME(_mesa_x86_transform_points4_3d_no_rot)
HIDDEN(_mesa_x86_transform_points4_3d_no_rot)
GLNAME(_mesa_x86_transform_points4_3d_no_rot):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )
446,9 → 446,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points4_2d )
HIDDEN(__mesa_x86_transform_points4_2d)
GLNAME( __mesa_x86_transform_points4_2d ):
GLOBL GLNAME( _mesa_x86_transform_points4_2d )
HIDDEN(_mesa_x86_transform_points4_2d)
GLNAME( _mesa_x86_transform_points4_2d ):
 
#define FRAME_OFFSET 16
PUSH_L( ESI )
532,9 → 532,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points4_2d_no_rot )
HIDDEN(__mesa_x86_transform_points4_2d_no_rot)
GLNAME( __mesa_x86_transform_points4_2d_no_rot ):
GLOBL GLNAME( _mesa_x86_transform_points4_2d_no_rot )
HIDDEN(_mesa_x86_transform_points4_2d_no_rot)
GLNAME( _mesa_x86_transform_points4_2d_no_rot ):
 
#define FRAME_OFFSET 16
PUSH_L( ESI )
610,9 → 610,9
 
 
ALIGNTEXT16
GLOBL GLNAME( __mesa_x86_transform_points4_identity )
HIDDEN(__mesa_x86_transform_points4_identity)
GLNAME( __mesa_x86_transform_points4_identity ):
GLOBL GLNAME( _mesa_x86_transform_points4_identity )
HIDDEN(_mesa_x86_transform_points4_identity)
GLNAME( _mesa_x86_transform_points4_identity ):
 
#define FRAME_OFFSET 12
PUSH_L( ESI )