From 1738a6973deb03f33a71c9527594727cb8bb64b4 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 7 Nov 2012 07:53:41 +0100 Subject: xserver mesa xkbcomp git update 7 nov 2012 xserver: 011f8458805e443ac9130865d2840a929a00cabf xkbcomp: bd1103ef3cfef9cfed645566f944a69e7ca568b4 mesa: f42518962a08ce927e4ddd233d19d2661e135834 --- libX11/modules/im/ximcp/imCallbk.c | 54 +- libX11/modules/im/ximcp/imDefFlt.c | 40 +- libX11/modules/im/ximcp/imDefIc.c | 60 +- libX11/modules/im/ximcp/imDefIm.c | 96 +- libX11/modules/im/ximcp/imDefLkup.c | 74 +- libX11/modules/im/ximcp/imDispch.c | 208 +- libX11/modules/im/ximcp/imExten.c | 34 +- libX11/modules/im/ximcp/imImSw.c | 110 +- libX11/modules/im/ximcp/imInsClbk.c | 576 +++--- libX11/modules/im/ximcp/imInt.c | 20 +- libX11/modules/im/ximcp/imLcGIc.c | 94 +- libX11/modules/im/ximcp/imLcIc.c | 16 +- libX11/modules/im/ximcp/imLcIm.c | 34 +- libX11/modules/im/ximcp/imLcLkup.c | 14 +- libX11/modules/im/ximcp/imLcSIc.c | 108 +- libX11/modules/im/ximcp/imRm.c | 220 +-- libX11/modules/im/ximcp/imRmAttr.c | 48 +- libX11/modules/im/ximcp/imThaiFlt.c | 98 +- libX11/modules/im/ximcp/imThaiIc.c | 14 +- libX11/modules/im/ximcp/imThaiIm.c | 470 ++--- libX11/modules/im/ximcp/imTrX.c | 28 +- libX11/modules/im/ximcp/imTrans.c | 22 +- libX11/modules/im/ximcp/imTransR.c | 624 +++--- libX11/src/xlibi18n/Ximint.h | 1993 ++++++++++--------- mesalib/configure.ac | 2 +- mesalib/docs/GL3.txt | 3 +- mesalib/scons/gallium.py | 2 +- mesalib/src/gallium/auxiliary/util/u_blitter.c | 3 +- mesalib/src/gallium/auxiliary/util/u_framebuffer.h | 8 + mesalib/src/glsl/ast_to_hir.cpp | 2 +- mesalib/src/glsl/ir.cpp | 2 +- mesalib/src/glsl/ir_builder.cpp | 2 +- mesalib/src/glsl/ir_builder.h | 2 +- mesalib/src/glsl/lower_mat_op_to_vec.cpp | 8 +- .../src/glsl/lower_vec_index_to_cond_assign.cpp | 4 +- mesalib/src/glsl/lower_vec_index_to_swizzle.cpp | 2 +- .../mapi/glapi/gen/APPLE_vertex_array_object.xml | 6 +- mesalib/src/mapi/glapi/gen/ARB_base_instance.xml | 9 +- .../src/mapi/glapi/gen/ARB_draw_buffers_blend.xml | 9 +- .../glapi/gen/ARB_draw_elements_base_vertex.xml | 11 +- mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml | 4 +- .../src/mapi/glapi/gen/ARB_geometry_shader4.xml | 2 +- .../src/mapi/glapi/gen/ARB_get_program_binary.xml | 9 +- .../src/mapi/glapi/gen/ARB_instanced_arrays.xml | 2 +- mesalib/src/mapi/glapi/gen/ARB_robustness.xml | 22 +- .../mapi/glapi/gen/ARB_texture_buffer_object.xml | 2 +- .../glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml | 106 +- mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml | 12 +- mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml | 74 +- .../mapi/glapi/gen/EXT_separate_shader_objects.xml | 6 +- mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml | 8 +- .../src/mapi/glapi/gen/EXT_transform_feedback.xml | 16 +- mesalib/src/mapi/glapi/gen/GL3x.xml | 7 +- mesalib/src/mapi/glapi/gen/Makefile.am | 4 + .../src/mapi/glapi/gen/NV_conditional_render.xml | 4 +- .../src/mapi/glapi/gen/NV_primitive_restart.xml | 5 +- mesalib/src/mapi/glapi/gen/OES_fixed_point.xml | 85 +- .../src/mapi/glapi/gen/OES_single_precision.xml | 8 +- mesalib/src/mapi/glapi/gen/es_EXT.xml | 37 +- mesalib/src/mapi/glapi/gen/glX_API.xml | 6 +- mesalib/src/mapi/glapi/gen/gl_API.dtd | 6 +- mesalib/src/mapi/glapi/gen/gl_API.xml | 1996 ++++++++++++-------- mesalib/src/mapi/glapi/gen/gl_XML.py | 81 +- mesalib/src/mapi/glapi/gen/gl_and_es_API.xml | 84 +- mesalib/src/mapi/glapi/gen/gl_genexec.py | 222 +++ mesalib/src/mesa/Android.gen.mk | 7 + mesalib/src/mesa/SConscript | 8 + mesalib/src/mesa/drivers/common/meta.c | 65 +- mesalib/src/mesa/main/.gitignore | 1 + mesalib/src/mesa/main/accum.c | 10 +- mesalib/src/mesa/main/accum.h | 5 +- mesalib/src/mesa/main/api_exec.c | 935 --------- mesalib/src/mesa/main/api_loopback.c | 416 ++-- mesalib/src/mesa/main/api_loopback.h | 437 +++++ mesalib/src/mesa/main/atifragshader.c | 20 - mesalib/src/mesa/main/atifragshader.h | 3 - mesalib/src/mesa/main/attrib.c | 10 - mesalib/src/mesa/main/attrib.h | 3 - mesalib/src/mesa/main/bufferobj.c | 35 +- mesalib/src/mesa/main/bufferobj.h | 68 +- mesalib/src/mesa/main/colortab.c | 34 +- mesalib/src/mesa/main/colortab.h | 29 +- mesalib/src/mesa/main/context.c | 4 +- mesalib/src/mesa/main/convolve.c | 52 +- mesalib/src/mesa/main/convolve.h | 46 +- mesalib/src/mesa/main/dlist.c | 26 +- mesalib/src/mesa/main/dlist.h | 21 +- mesalib/src/mesa/main/drawpix.c | 15 +- mesalib/src/mesa/main/drawpix.h | 12 +- mesalib/src/mesa/main/errors.c | 8 +- mesalib/src/mesa/main/errors.h | 16 + mesalib/src/mesa/main/es1_conversion.c | 4 - mesalib/src/mesa/main/eval.c | 50 +- mesalib/src/mesa/main/eval.h | 42 +- mesalib/src/mesa/main/fbobject.c | 14 +- mesalib/src/mesa/main/feedback.c | 28 +- mesalib/src/mesa/main/feedback.h | 20 +- mesalib/src/mesa/main/ffvertex_prog.c | 2 + mesalib/src/mesa/main/format_pack.c | 20 +- mesalib/src/mesa/main/get.c | 4 +- mesalib/src/mesa/main/histogram.c | 48 +- mesalib/src/mesa/main/histogram.h | 32 +- mesalib/src/mesa/main/imports.h | 2 +- mesalib/src/mesa/main/macros.h | 39 + mesalib/src/mesa/main/matrix.c | 2 +- mesalib/src/mesa/main/pixel.c | 42 +- mesalib/src/mesa/main/pixel.h | 27 +- mesalib/src/mesa/main/queryobj.c | 28 +- mesalib/src/mesa/main/queryobj.h | 29 + mesalib/src/mesa/main/rastpos.c | 152 +- mesalib/src/mesa/main/rastpos.h | 101 +- mesalib/src/mesa/main/samplerobj.c | 20 +- mesalib/src/mesa/main/samplerobj.h | 33 +- mesalib/src/mesa/main/texgen.c | 27 +- mesalib/src/mesa/main/texgen.h | 25 +- mesalib/src/mesa/main/texgetimage.c | 2 +- mesalib/src/mesa/main/texstorage.c | 2 +- mesalib/src/mesa/main/transformfeedback.c | 26 +- mesalib/src/mesa/main/transformfeedback.h | 4 - mesalib/src/mesa/main/uniforms.c | 89 +- mesalib/src/mesa/main/uniforms.h | 182 +- mesalib/src/mesa/sources.mak | 2 +- mesalib/src/mesa/state_tracker/st_cb_fbo.c | 2 +- mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 2 +- mesalib/src/mesa/swrast/s_zoom.c | 4 +- mesalib/src/mesa/tnl/t_draw.c | 3 +- mesalib/src/mesa/vbo/vbo.h | 2 +- mesalib/src/mesa/vbo/vbo_attrib_tmp.h | 86 +- mesalib/src/mesa/vbo/vbo_context.h | 43 + mesalib/src/mesa/vbo/vbo_exec.h | 1 + mesalib/src/mesa/vbo/vbo_exec_api.c | 29 +- mesalib/src/mesa/vbo/vbo_exec_array.c | 2 +- mesalib/src/mesa/vbo/vbo_exec_draw.c | 7 +- mesalib/src/mesa/vbo/vbo_save.h | 2 + mesalib/src/mesa/vbo/vbo_save_api.c | 12 +- mesalib/src/mesa/vbo/vbo_save_draw.c | 21 +- xkbcomp/listing.c | 990 +++++----- xorg-server/Xext/panoramiX.c | 2 - xorg-server/Xext/shm.c | 10 +- xorg-server/Xext/xace.c | 12 +- xorg-server/Xext/xf86bigfont.c | 12 - xorg-server/Xext/xres.c | 2 - xorg-server/Xext/xtest.c | 2 - xorg-server/Xi/chgdctl.c | 5 +- xorg-server/Xi/exevents.c | 14 +- xorg-server/configure.ac | 14 +- xorg-server/dix/devices.c | 8 +- xorg-server/dix/dixfonts.c | 9 + xorg-server/dix/events.c | 24 +- xorg-server/fb/fbblt.c | 12 +- xorg-server/fb/fbbltone.c | 8 +- xorg-server/hw/xfree86/os-support/bus/nobus.c | 2 +- .../hw/xfree86/os-support/shared/agp_noop.c | 2 +- .../hw/xfree86/os-support/shared/ioperm_noop.c | 4 +- xorg-server/hw/xfree86/os-support/stub/stub_init.c | 6 +- xorg-server/hw/xfree86/sdksyms.sh | 1 + xorg-server/hw/xwin/Makefile.am | 2 + xorg-server/hw/xwin/winms.h | 4 + xorg-server/hw/xwin/winmultiwindowwm.c | 2 - xorg-server/hw/xwin/winshaddd.c | 18 - xorg-server/hw/xwin/winshadddnl.c | 64 +- xorg-server/hw/xwin/winwindow.h | 9 - xorg-server/include/Makefile.am | 2 +- xorg-server/include/dix-config.h.in | 3 + xorg-server/include/dix.h | 12 +- xorg-server/include/dixfont.h | 39 +- xorg-server/include/dixfontstubs.h | 45 + xorg-server/mi/mibitblt.c | 6 +- xorg-server/mi/mispans.c | 4 - xorg-server/os/xsha1.c | 30 + xorg-server/randr/randrstr.h | 8 + xorg-server/render/picturestr.h | 8 +- xorg-server/xfixes/cursor.c | 145 +- xorg-server/xkb/ddxList.c | 2 - xorg-server/xkb/maprules.c | 1 + xorg-server/xkb/xkb.c | 27 +- xorg-server/xkb/xkbPrKeyEv.c | 4 +- xorg-server/xkb/xkbtext.c | 1 - xorg-server/xkb/xkmread.c | 2 - xorg-server/xorg-server.m4 | 98 +- 180 files changed, 6714 insertions(+), 6499 deletions(-) create mode 100644 mesalib/src/mapi/glapi/gen/gl_genexec.py delete mode 100644 mesalib/src/mesa/main/api_exec.c create mode 100644 xorg-server/include/dixfontstubs.h diff --git a/libX11/modules/im/ximcp/imCallbk.c b/libX11/modules/im/ximcp/imCallbk.c index 6275bbf00..f57a8de31 100644 --- a/libX11/modules/im/ximcp/imCallbk.c +++ b/libX11/modules/im/ximcp/imCallbk.c @@ -92,17 +92,17 @@ typedef XimCbStatus (*XimCb)( (im->private.proto.read((im),(XPointer)(buf),(buf_len),&(len))) #define _XimFlushData(im) im->private.proto.flush((im)) -Private XimCbStatus _XimGeometryCallback(Xim, Xic, char*, int); -Private XimCbStatus _XimStrConversionCallback(Xim, Xic, char*, int); -Private XimCbStatus _XimPreeditStartCallback(Xim, Xic, char*, int); -Private XimCbStatus _XimPreeditDoneCallback(Xim, Xic, char*, int); -Private void _free_memory_for_text(XIMText*); -Private XimCbStatus _XimPreeditDrawCallback(Xim, Xic, char*, int); -Private XimCbStatus _XimPreeditCaretCallback(Xim, Xic, char*, int); -Private XimCbStatus _XimStatusStartCallback(Xim, Xic, char*, int); -Private XimCbStatus _XimStatusDoneCallback(Xim, Xic, char*, int); -Private XimCbStatus _XimStatusDrawCallback(Xim, Xic, char*, int); -Private XimCbStatus _XimPreeditStateNotifyCallback(Xim, Xic, char *, int); +static XimCbStatus _XimGeometryCallback(Xim, Xic, char*, int); +static XimCbStatus _XimStrConversionCallback(Xim, Xic, char*, int); +static XimCbStatus _XimPreeditStartCallback(Xim, Xic, char*, int); +static XimCbStatus _XimPreeditDoneCallback(Xim, Xic, char*, int); +static void _free_memory_for_text(XIMText*); +static XimCbStatus _XimPreeditDrawCallback(Xim, Xic, char*, int); +static XimCbStatus _XimPreeditCaretCallback(Xim, Xic, char*, int); +static XimCbStatus _XimStatusStartCallback(Xim, Xic, char*, int); +static XimCbStatus _XimStatusDoneCallback(Xim, Xic, char*, int); +static XimCbStatus _XimStatusDrawCallback(Xim, Xic, char*, int); +static XimCbStatus _XimPreeditStateNotifyCallback(Xim, Xic, char *, int); #if defined(__STDC__) && ((defined(sun) && defined(SVR4)) || defined(WIN32)) #define RConst /**/ @@ -138,13 +138,13 @@ static RConst XimCb callback_table[] = { }; -Private Bool +static Bool _XimIsReadyForProcess(Xic ic) { return(!ic->private.proto.waitCallback); /* check HM */ } -Private void +static void _XimProcessPendingCallbacks(Xic ic) { XimPendingCallback pcbq; @@ -161,7 +161,7 @@ _XimProcessPendingCallbacks(Xic ic) } } -Private void +static void _XimPutCbIntoQueue(Xic ic, XimPendingCallback call_data) { XimPendingCallback pcbq = ic->private.proto.pend_cb_que; @@ -182,7 +182,7 @@ _XimPutCbIntoQueue(Xic ic, XimPendingCallback call_data) } } -Public Bool +Bool _XimCbDispatch(Xim xim, INT16 len, XPointer data, @@ -261,7 +261,7 @@ _XimCbDispatch(Xim xim, return True; } -Private XimCbStatus +static XimCbStatus _XimGeometryCallback(Xim im, Xic ic, char* proto, @@ -284,7 +284,7 @@ _XimGeometryCallback(Xim im, return XimCbSuccess; } -Private XimCbStatus +static XimCbStatus _XimStrConversionCallback(Xim im, Xic ic, char* proto, @@ -367,7 +367,7 @@ _XimStrConversionCallback(Xim im, return XimCbSuccess; } -Private XimCbStatus +static XimCbStatus _XimPreeditStartCallback(Xim im, Xic ic, char* proto, @@ -416,7 +416,7 @@ _XimPreeditStartCallback(Xim im, return XimCbSuccess; } -Private XimCbStatus +static XimCbStatus _XimPreeditDoneCallback(Xim im, Xic ic, char* proto, @@ -439,7 +439,7 @@ _XimPreeditDoneCallback(Xim im, return XimCbSuccess; } -Private void +static void _read_text_from_packet(Xim im, char* buf, XIMText** text_ptr) @@ -554,7 +554,7 @@ _read_text_from_packet(Xim im, } } -Private void +static void _free_memory_for_text(XIMText* text) { if (text) { @@ -566,7 +566,7 @@ _free_memory_for_text(XIMText* text) } } -Private XimCbStatus +static XimCbStatus _XimPreeditDrawCallback(Xim im, Xic ic, char* proto, @@ -597,7 +597,7 @@ _XimPreeditDrawCallback(Xim im, return XimCbSuccess; } -Private XimCbStatus +static XimCbStatus _XimPreeditCaretCallback(Xim im, Xic ic, char* proto, @@ -649,7 +649,7 @@ _XimPreeditCaretCallback(Xim im, return XimCbSuccess; } -Private XimCbStatus +static XimCbStatus _XimStatusStartCallback(Xim im, Xic ic, char* proto, @@ -672,7 +672,7 @@ _XimStatusStartCallback(Xim im, return XimCbSuccess; } -Private XimCbStatus +static XimCbStatus _XimStatusDoneCallback(Xim im, Xic ic, char* proto, @@ -695,7 +695,7 @@ _XimStatusDoneCallback(Xim im, return XimCbSuccess; } -Private XimCbStatus +static XimCbStatus _XimStatusDrawCallback(Xim im, Xic ic, char* proto, @@ -730,7 +730,7 @@ _XimStatusDrawCallback(Xim im, return XimCbSuccess; } -Private XimCbStatus +static XimCbStatus _XimPreeditStateNotifyCallback( Xim im, Xic ic, char* proto, int len ) { XICCallback *cb = &ic->core.preedit_attr.state_notify_callback; diff --git a/libX11/modules/im/ximcp/imDefFlt.c b/libX11/modules/im/ximcp/imDefFlt.c index 1e4f3895b..44cc68847 100644 --- a/libX11/modules/im/ximcp/imDefFlt.c +++ b/libX11/modules/im/ximcp/imDefFlt.c @@ -35,7 +35,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "Xlcint.h" #include "Ximint.h" -Private long +static long _XimTriggerCheck( Xim im, XKeyEvent *ev, @@ -66,7 +66,7 @@ _XimTriggerCheck( return -1; } -Private long +static long _XimTriggerOnCheck( Xim im, XKeyEvent *ev) @@ -75,7 +75,7 @@ _XimTriggerOnCheck( &im->private.proto.im_onkeylist[1]); } -Private long +static long _XimTriggerOffCheck( Xim im, XKeyEvent *ev) @@ -84,7 +84,7 @@ _XimTriggerOffCheck( &im->private.proto.im_offkeylist[1]); } -Private Bool +static Bool _XimOnKeysCheck( Xic ic, XKeyEvent *ev) @@ -103,7 +103,7 @@ _XimOnKeysCheck( return False; } -Private Bool +static Bool _XimOffKeysCheck( Xic ic, XKeyEvent *ev) @@ -122,7 +122,7 @@ _XimOffKeysCheck( return False; } -Private void +static void _XimPendingFilter( Xic ic) { @@ -135,7 +135,7 @@ _XimPendingFilter( return; } -Private Bool +static Bool _XimProtoKeypressFilter( Xic ic, XKeyEvent *ev) @@ -186,7 +186,7 @@ _XimProtoKeypressFilter( return NOTFILTERD; } -Private Bool +static Bool _XimFilterKeypress( Display *d, Window w, @@ -196,7 +196,7 @@ _XimFilterKeypress( return _XimProtoKeypressFilter((Xic)client_data, (XKeyEvent *)ev ); } -Private Bool +static Bool _XimProtoKeyreleaseFilter( Xic ic, XKeyEvent *ev) @@ -247,7 +247,7 @@ _XimProtoKeyreleaseFilter( return NOTFILTERD; } -Private Bool +static Bool _XimFilterKeyrelease( Display *d, Window w, @@ -257,7 +257,7 @@ _XimFilterKeyrelease( return _XimProtoKeyreleaseFilter((Xic)client_data, (XKeyEvent *)ev); } -Private void +static void _XimRegisterKeyPressFilter( Xic ic) { @@ -274,7 +274,7 @@ _XimRegisterKeyPressFilter( return; } -Private void +static void _XimRegisterKeyReleaseFilter( Xic ic) { @@ -291,7 +291,7 @@ _XimRegisterKeyReleaseFilter( return; } -Private void +static void _XimUnregisterKeyPressFilter( Xic ic) { @@ -307,7 +307,7 @@ _XimUnregisterKeyPressFilter( return; } -Private void +static void _XimUnregisterKeyReleaseFilter( Xic ic) { @@ -323,7 +323,7 @@ _XimUnregisterKeyReleaseFilter( return; } -Public void +void _XimRegisterFilter( Xic ic) { @@ -333,7 +333,7 @@ _XimRegisterFilter( return; } -Public void +void _XimUnregisterFilter( Xic ic) { @@ -342,7 +342,7 @@ _XimUnregisterFilter( return; } -Public void +void _XimReregisterFilter( Xic ic) { @@ -354,7 +354,7 @@ _XimReregisterFilter( return; } -Private Bool +static Bool _XimFilterServerDestroy( Display *d, Window w, @@ -376,7 +376,7 @@ _XimFilterServerDestroy( return True; } -Public void +void _XimRegisterServerFilter( Xim im) { @@ -395,7 +395,7 @@ _XimRegisterServerFilter( return; } -Public void +void _XimUnregisterServerFilter( Xim im) { diff --git a/libX11/modules/im/ximcp/imDefIc.c b/libX11/modules/im/ximcp/imDefIc.c index a06f6a73d..3b5fa4147 100644 --- a/libX11/modules/im/ximcp/imDefIc.c +++ b/libX11/modules/im/ximcp/imDefIc.c @@ -56,7 +56,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "Xlcint.h" #include "Ximint.h" -Private Bool +static Bool _XimCreateICCheck( Xim im, INT16 len, @@ -81,7 +81,7 @@ _XimCreateICCheck( } #ifdef XIM_CONNECTABLE -Public Bool +Bool _XimReCreateIC(ic) Xic ic; { @@ -244,7 +244,7 @@ ErrorOnReCreateIC: return False; } -Private char * +static char * _XimDelayModeGetICValues(ic, arg) Xic ic; XIMArg *arg; @@ -259,7 +259,7 @@ _XimDelayModeGetICValues(ic, arg) } #endif /* XIM_CONNECTABLE */ -Private Bool +static Bool _XimGetICValuesCheck( Xim im, INT16 len, @@ -288,7 +288,7 @@ _XimGetICValuesCheck( return False; } -Private char * +static char * _XimProtoGetICValues( XIC xic, XIMArg *arg) @@ -424,7 +424,7 @@ _XimProtoGetICValues( } #ifdef XIM_CONNECTABLE -Private Bool +static Bool _XimCheckNestQuarkList(quark_list, num_quark, quark, separator) XrmQuark *quark_list; int num_quark; @@ -444,7 +444,7 @@ _XimCheckNestQuarkList(quark_list, num_quark, quark, separator) return False; } -Private Bool +static Bool _XimCheckNestedQuarkList(quark_list, idx, num_quark, arg, separator) XrmQuark **quark_list; int idx; @@ -485,7 +485,7 @@ _XimCheckNestedQuarkList(quark_list, idx, num_quark, arg, separator) return True; } -Private Bool +static Bool _XimCheckICQuarkList(quark_list, num_quark, quark, idx) XrmQuark *quark_list; int num_quark; @@ -503,7 +503,7 @@ _XimCheckICQuarkList(quark_list, num_quark, quark, idx) return False; } -Private Bool +static Bool _XimSaveICValues(ic, arg) Xic ic; XIMArg *arg; @@ -610,7 +610,7 @@ _XimSaveICValues(ic, arg) return True; } -Private char * +static char * _XimDelayModeSetICValues(ic, arg) Xic ic; XIMArg *arg; @@ -628,7 +628,7 @@ _XimDelayModeSetICValues(ic, arg) } #endif /* XIM_CONNECTABLE */ -Private Bool +static Bool _XimSetICValuesCheck( Xim im, INT16 len, @@ -657,7 +657,7 @@ _XimSetICValuesCheck( return False; } -Private char * +static char * _XimProtoSetICValues( XIC xic, XIMArg *arg) @@ -807,7 +807,7 @@ _XimProtoSetICValues( return name; } -Private Bool +static Bool _XimDestroyICCheck( Xim im, INT16 len, @@ -837,7 +837,7 @@ _XimDestroyICCheck( return ret; } -Private void +static void _XimProtoICFree( Xic ic) { @@ -884,7 +884,7 @@ _XimProtoICFree( return; } -Private void +static void _XimProtoDestroyIC( XIC xic) { @@ -927,7 +927,7 @@ _XimProtoDestroyIC( return; } -Private void +static void _XimProtoSetFocus( XIC xic) { @@ -972,7 +972,7 @@ _XimProtoSetFocus( return; } -Private void +static void _XimProtoUnsetFocus( XIC xic) { @@ -1017,7 +1017,7 @@ _XimProtoUnsetFocus( return; } -Private Bool +static Bool _XimResetICCheck( Xim im, INT16 len, @@ -1046,7 +1046,7 @@ _XimResetICCheck( return False; } -Private char * +static char * _XimProtoReset( XIC xic, char * (*retfunc) (Xim im, Xic ic, XPointer buf) ) @@ -1117,7 +1117,7 @@ _XimProtoReset( return commit; } -Private char * +static char * _XimCommitedMbString( Xim im, Xic ic, @@ -1167,14 +1167,14 @@ Error_On_Reset: return new_commit; } -Private char * +static char * _XimProtoMbReset( XIC xic) { return _XimProtoReset(xic, _XimCommitedMbString); } -Private wchar_t * +static wchar_t * _XimCommitedWcString( Xim im, Xic ic, @@ -1225,7 +1225,7 @@ Error_On_Reset: return new_commit; } -Private wchar_t * +static wchar_t * _XimProtoWcReset( XIC xic) { @@ -1233,7 +1233,7 @@ _XimProtoWcReset( (char * (*) (Xim, Xic, XPointer)) _XimCommitedWcString); } -Private char * +static char * _XimCommitedUtf8String( Xim im, Xic ic, @@ -1283,14 +1283,14 @@ Error_On_Reset: return new_commit; } -Private char * +static char * _XimProtoUtf8Reset( XIC xic) { return _XimProtoReset(xic, _XimCommitedUtf8String); } -Private XICMethodsRec ic_methods = { +static XICMethodsRec ic_methods = { _XimProtoDestroyIC, /* destroy */ _XimProtoSetFocus, /* set_focus */ _XimProtoUnsetFocus, /* unset_focus */ @@ -1304,7 +1304,7 @@ Private XICMethodsRec ic_methods = { _XimProtoUtf8LookupString /* utf8_lookup_string */ }; -Private Bool +static Bool _XimGetInputStyle( XIMArg *arg, XIMStyle *input_style) @@ -1321,7 +1321,7 @@ _XimGetInputStyle( } #ifdef XIM_CONNECTABLE -Private Bool +static Bool _XimDelayModeCreateIC( Xic ic, XIMArg *values, @@ -1356,7 +1356,7 @@ _XimDelayModeCreateIC( return True; } -Public Bool +Bool _XimReconnectModeCreateIC(ic) Xic ic; { @@ -1382,7 +1382,7 @@ _XimReconnectModeCreateIC(ic) } #endif /* XIM_CONNECTABLE */ -Public XIC +XIC _XimProtoCreateIC( XIM xim, XIMArg *arg) diff --git a/libX11/modules/im/ximcp/imDefIm.c b/libX11/modules/im/ximcp/imDefIm.c index 18a3cc85f..7cac1d300 100644 --- a/libX11/modules/im/ximcp/imDefIm.c +++ b/libX11/modules/im/ximcp/imDefIm.c @@ -63,7 +63,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "Ximint.h" -Public int +int _XimCheckDataSize( XPointer buf, int len) @@ -75,7 +75,7 @@ _XimCheckDataSize( return buf_s[1]; } -Public void +void _XimSetHeader( XPointer buf, CARD8 major_opcode, @@ -93,7 +93,7 @@ _XimSetHeader( return; } -Public char +char _XimGetMyEndian(void) { CARD16 test_card = 1; @@ -104,7 +104,7 @@ _XimGetMyEndian(void) return BIGENDIAN; } -Private Bool +static Bool _XimCheckServerName( Xim im, char *str) @@ -142,7 +142,7 @@ _XimCheckServerName( return True; } -Private char * +static char * _XimCheckLocaleName( Xim im, char *address, @@ -182,7 +182,7 @@ _XimCheckLocaleName( return (char *)NULL; } -Private Bool +static Bool _XimCheckTransport( char *address, int address_len, @@ -226,7 +226,7 @@ _XimCheckTransport( return True; } -Private Bool +static Bool _CheckSNEvent( Display *display, XEvent *xevent, @@ -240,7 +240,7 @@ _CheckSNEvent( return False; } -Private Bool +static Bool _XimGetSelectionNotify( Display *display, Window window, @@ -269,7 +269,7 @@ _XimGetSelectionNotify( return True; } -Private Bool +static Bool _XimPreConnectionIM( Xim im, Atom selection) @@ -387,7 +387,7 @@ Error: return False; } -Private Bool +static Bool _XimPreConnect( Xim im) { @@ -434,7 +434,7 @@ _XimPreConnect( return True; } -Private Bool +static Bool _XimGetAuthProtocolNames( Xim im, CARD16 *buf, @@ -452,7 +452,7 @@ _XimGetAuthProtocolNames( return True; } -Private Bool +static Bool _XimSetAuthReplyData( Xim im, XPointer buf, @@ -465,7 +465,7 @@ _XimSetAuthReplyData( return True; } -Private Bool +static Bool _XimSetAuthNextData( Xim im, XPointer buf, @@ -478,7 +478,7 @@ _XimSetAuthNextData( return True; } -Private Bool +static Bool _XimSetAuthRequiredData( Xim im, XPointer buf, @@ -491,7 +491,7 @@ _XimSetAuthRequiredData( return True; } -Private Bool +static Bool _XimCheckAuthSetupData( Xim im, XPointer buf) @@ -502,7 +502,7 @@ _XimCheckAuthSetupData( return True; } -Private Bool +static Bool _XimCheckAuthNextData( Xim im, XPointer buf) @@ -517,7 +517,7 @@ _XimCheckAuthNextData( #define GOOD_AUTH 1 #define BAD_AUTH 0 -Private int +static int _XimClientAuthCheck( Xim im, XPointer buf) @@ -528,7 +528,7 @@ _XimClientAuthCheck( return NO_MORE_AUTH; } -Private void +static void _XimAuthNG( Xim im) { @@ -542,7 +542,7 @@ _XimAuthNG( return; } -Private Bool +static Bool _XimAllRecv( Xim im, INT16 len, @@ -555,7 +555,7 @@ _XimAllRecv( #define CLIENT_WAIT1 1 #define CLIENT_WAIT2 2 -Private Bool +static Bool _XimConnection( Xim im) { @@ -716,7 +716,7 @@ _XimConnection( return True; } -Private Bool +static Bool _XimDisconnectCheck( Xim im, INT16 len, @@ -735,7 +735,7 @@ _XimDisconnectCheck( return False; } -Private Bool +static Bool _XimDisconnect( Xim im) { @@ -775,7 +775,7 @@ _XimDisconnect( return True; } -Private Bool +static Bool _XimOpenCheck( Xim im, INT16 len, @@ -794,7 +794,7 @@ _XimOpenCheck( return False; } -Private Bool +static Bool _XimOpen( Xim im) { @@ -890,7 +890,7 @@ _XimOpen( return True; } -Private Bool +static Bool _XimCloseCheck( Xim im, INT16 len, @@ -914,7 +914,7 @@ _XimCloseCheck( return False; } -Private Bool +static Bool _XimClose( Xim im) { @@ -972,7 +972,7 @@ _XimClose( return True; } -Public void +void _XimProtoIMFree( Xim im) { @@ -1090,7 +1090,7 @@ _XimProtoIMFree( return; } -Private Status +static Status _XimProtoCloseIM( XIM xim) { @@ -1138,7 +1138,7 @@ _XimProtoCloseIM( } #ifdef XIM_CONNECTABLE -Private Bool +static Bool _XimCheckIMQuarkList( XrmQuark *quark_list, int num_quark, @@ -1154,7 +1154,7 @@ _XimCheckIMQuarkList( return False; } -Private Bool +static Bool _XimSaveIMValues( Xim im, XIMArg *arg) @@ -1203,7 +1203,7 @@ _XimSaveIMValues( return True; } -Private char * +static char * _XimDelayModeSetIMValues( Xim im, XIMArg *arg) @@ -1221,7 +1221,7 @@ _XimDelayModeSetIMValues( } #endif /* XIM_CONNECTABLE */ -Private Bool +static Bool _XimSetIMValuesCheck( Xim im, INT16 len, @@ -1245,7 +1245,7 @@ _XimSetIMValuesCheck( return False; } -Private char * +static char * _XimProtoSetIMValues( XIM xim, XIMArg *arg) @@ -1377,7 +1377,7 @@ _XimProtoSetIMValues( } #ifdef XIM_CONNECTABLE -Private char * +static char * _XimDelayModeGetIMValues( Xim im, XIMArg *arg) @@ -1390,7 +1390,7 @@ _XimDelayModeGetIMValues( } #endif /* XIM_CONNECTABLE */ -Private Bool +static Bool _XimGetIMValuesCheck( Xim im, INT16 len, @@ -1414,7 +1414,7 @@ _XimGetIMValuesCheck( return False; } -Private char * +static char * _XimProtoGetIMValues( XIM xim, XIMArg *arg) @@ -1526,7 +1526,7 @@ _XimProtoGetIMValues( return makeid_name; } -Private XIMMethodsRec im_methods = { +static XIMMethodsRec im_methods = { _XimProtoCloseIM, /* close */ _XimProtoSetIMValues, /* set_values */ _XimProtoGetIMValues, /* get_values */ @@ -1536,7 +1536,7 @@ Private XIMMethodsRec im_methods = { _Ximctstoutf8 /* ctstoutf8 */ }; -Private Bool +static Bool _XimSetEncodingByName( Xim im, char **buf, @@ -1569,7 +1569,7 @@ _XimSetEncodingByName( return True; } -Private Bool +static Bool _XimSetEncodingByDetail( Xim im, char **buf, @@ -1580,7 +1580,7 @@ _XimSetEncodingByDetail( return True; } -Private Bool +static Bool _XimGetEncoding( Xim im, CARD16 *buf, @@ -1669,7 +1669,7 @@ _XimGetEncoding( return True; } -Private Bool +static Bool _XimEncodingNegoCheck( Xim im, INT16 len, @@ -1693,7 +1693,7 @@ _XimEncodingNegoCheck( return False; } -Private Bool +static Bool _XimEncodingNegotiation( Xim im) { @@ -1799,7 +1799,7 @@ free_name_ptr: } #ifdef XIM_CONNECTABLE -Private Bool +static Bool _XimSendSavedIMValues( Xim im) { @@ -1909,7 +1909,7 @@ _XimSendSavedIMValues( return True; } -Private void +static void _XimDelayModeIMFree( Xim im) { @@ -1932,7 +1932,7 @@ _XimDelayModeIMFree( return; } -Public Bool +Bool _XimConnectServer( Xim im) { @@ -1956,7 +1956,7 @@ _XimConnectServer( return False; } -Public Bool +Bool _XimDelayModeSetAttr( Xim im) { @@ -1988,7 +1988,7 @@ _XimDelayModeSetAttr( return True; } -Private Bool +static Bool _XimReconnectModeSetAttr( Xim im) { @@ -2015,7 +2015,7 @@ _XimReconnectModeSetAttr( } #endif /* XIM_CONNECTABLE */ -Public Bool +Bool _XimProtoOpenIM( Xim im) { diff --git a/libX11/modules/im/ximcp/imDefLkup.c b/libX11/modules/im/ximcp/imDefLkup.c index cf7591909..0a9553a41 100644 --- a/libX11/modules/im/ximcp/imDefLkup.c +++ b/libX11/modules/im/ximcp/imDefLkup.c @@ -34,7 +34,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "Xlcint.h" #include "Ximint.h" -Public Xic +Xic _XimICOfXICID( Xim im, XICID icid) @@ -48,7 +48,7 @@ _XimICOfXICID( return (Xic)0; } -Private void +static void _XimProcIMSetEventMask( Xim im, XPointer buf) @@ -60,7 +60,7 @@ _XimProcIMSetEventMask( return; } -Private void +static void _XimProcICSetEventMask( Xic ic, XPointer buf) @@ -73,7 +73,7 @@ _XimProcICSetEventMask( return; } -Public Bool +Bool _XimSetEventMaskCallback( Xim xim, INT16 len, @@ -98,7 +98,7 @@ _XimSetEventMaskCallback( return False; } -Private Bool +static Bool _XimSyncCheck( Xim im, INT16 len, @@ -127,7 +127,7 @@ _XimSyncCheck( return False; } -Public Bool +Bool _XimSync( Xim im, Xic ic) @@ -185,7 +185,7 @@ _XimSync( return True; } -Public Bool +Bool _XimProcSyncReply( Xim im, Xic ic) @@ -208,7 +208,7 @@ _XimProcSyncReply( return True; } -Public Bool +Bool _XimRespSyncReply( Xic ic, BITMASK16 mode) @@ -219,7 +219,7 @@ _XimRespSyncReply( return True; } -Public Bool +Bool _XimSyncCallback( Xim xim, INT16 len, @@ -240,7 +240,7 @@ _XimSyncCallback( return False; } -Private INT16 +static INT16 _XimSetEventToWire( XEvent *ev, xEvent *event) @@ -252,7 +252,7 @@ _XimSetEventToWire( return sz_xEvent; } -Private Bool +static Bool _XimForwardEventCore( Xic ic, XEvent *ev, @@ -324,7 +324,7 @@ _XimForwardEventCore( return True; } -Public Bool +Bool _XimForwardEvent( Xic ic, XEvent *ev, @@ -338,7 +338,7 @@ _XimForwardEvent( return _XimForwardEventCore(ic, ev, sync); } -Private void +static void _XimProcEvent( Display *d, Xic ic, @@ -356,7 +356,7 @@ _XimProcEvent( return; } -Private Bool +static Bool _XimForwardEventRecv( Xim im, Xic ic, @@ -375,7 +375,7 @@ _XimForwardEventRecv( return True; } -Public Bool +Bool _XimForwardEventCallback( Xim xim, INT16 len, @@ -396,7 +396,7 @@ _XimForwardEventCallback( return False; } -Private Bool +static Bool _XimRegisterTriggerkey( Xim im, XPointer buf) @@ -443,7 +443,7 @@ _XimRegisterTriggerkey( return True; } -Public Bool +Bool _XimRegisterTriggerKeysCallback( Xim xim, INT16 len, @@ -457,7 +457,7 @@ _XimRegisterTriggerKeysCallback( return True; } -Public EVENTMASK +EVENTMASK _XimGetWindowEventmask( Xic ic) { @@ -470,7 +470,7 @@ _XimGetWindowEventmask( } -Private Bool +static Bool _XimTriggerNotifyCheck( Xim im, INT16 len, @@ -499,7 +499,7 @@ _XimTriggerNotifyCheck( return False; } -Public Bool +Bool _XimTriggerNotify( Xim im, Xic ic, @@ -567,7 +567,7 @@ _XimTriggerNotify( return True; } -Private Bool +static Bool _XimRegCommitInfo( Xic ic, char *string, @@ -588,7 +588,7 @@ _XimRegCommitInfo( return True; } -Private void +static void _XimUnregCommitInfo( Xic ic) { @@ -606,7 +606,7 @@ _XimUnregCommitInfo( return; } -Public void +void _XimFreeCommitInfo( Xic ic) { @@ -615,7 +615,7 @@ _XimFreeCommitInfo( return; } -Private Bool +static Bool _XimProcKeySym( Xic ic, CARD32 sym, @@ -635,7 +635,7 @@ _XimProcKeySym( return True; } -Private Bool +static Bool _XimProcCommit( Xic ic, BYTE *buf, @@ -659,7 +659,7 @@ _XimProcCommit( return True; } -Private Bool +static Bool _XimCommitRecv( Xim im, Xic ic, @@ -718,7 +718,7 @@ _XimCommitRecv( return True; } -Public Bool +Bool _XimCommitCallback( Xim xim, INT16 len, @@ -739,7 +739,7 @@ _XimCommitCallback( return False; } -Public void +void _XimProcError( Xim im, Xic ic, @@ -748,7 +748,7 @@ _XimProcError( return; } -Public Bool +Bool _XimErrorCallback( Xim xim, INT16 len, @@ -777,7 +777,7 @@ _XimErrorCallback( return True; } -Public Bool +Bool _XimError( Xim im, Xic ic, @@ -821,7 +821,7 @@ _XimError( return True; } -Private int +static int _Ximctsconvert( XlcConv conv, char *from, @@ -887,7 +887,7 @@ _Ximctsconvert( return to_cnvlen; } -Public int +int _Ximctstombs(XIM xim, char *from, int from_len, char *to, int to_len, Status *state) { @@ -895,7 +895,7 @@ _Ximctstombs(XIM xim, char *from, int from_len, from, from_len, to, to_len, state); } -Public int +int _Ximctstowcs( XIM xim, char *from, @@ -963,7 +963,7 @@ _Ximctstowcs( return to_cnvlen; } -Public int +int _Ximctstoutf8( XIM xim, char *from, @@ -976,7 +976,7 @@ _Ximctstoutf8( from, from_len, to, to_len, state); } -Public int +int _XimProtoMbLookupString( XIC xic, XKeyEvent *ev, @@ -1039,7 +1039,7 @@ _XimProtoMbLookupString( return ret; } -Public int +int _XimProtoWcLookupString( XIC xic, XKeyEvent *ev, @@ -1102,7 +1102,7 @@ _XimProtoWcLookupString( return ret; } -Public int +int _XimProtoUtf8LookupString( XIC xic, XKeyEvent *ev, diff --git a/libX11/modules/im/ximcp/imDispch.c b/libX11/modules/im/ximcp/imDispch.c index 3d67909ee..10c73ac0f 100644 --- a/libX11/modules/im/ximcp/imDispch.c +++ b/libX11/modules/im/ximcp/imDispch.c @@ -1,104 +1,104 @@ -/****************************************************************** - - Copyright 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include -#include "Xlibint.h" -#include "Xutil.h" -#include "Xlcint.h" -#include "Ximint.h" - - -Public Bool -_XimRegProtoIntrCallback( - Xim im, - CARD16 major_code, - CARD16 minor_code, - Bool (*proc)( - Xim, INT16, XPointer, XPointer - ), - - XPointer call_data) -{ - XimProtoIntrRec *rec; - - if (!(rec = (XimProtoIntrRec *)Xmalloc(sizeof(XimProtoIntrRec)))) - return False; - rec->func = proc; - rec->major_code = major_code; - rec->minor_code = minor_code; - rec->call_data = call_data; - rec->next = im->private.proto.intrproto; - im->private.proto.intrproto = rec; - return True; -} - -Public void -_XimFreeProtoIntrCallback(Xim im) -{ - register XimProtoIntrRec *rec, *next; - - for (rec = im->private.proto.intrproto; rec;) { - next = rec->next; - Xfree(rec); - rec = next; - } - im->private.proto.intrproto = NULL; - return; -} - -Private Bool -_XimTransportIntr( - Xim im, - INT16 len, - XPointer data, - XPointer call_data) -{ - Xim call_im = (Xim)call_data; - XimProtoIntrRec *rec = call_im->private.proto.intrproto; - CARD8 major_opcode = *((CARD8 *)data); - CARD8 minor_opcode = *((CARD8 *)data + 1); - - for (; rec; rec = rec->next) { - if ((major_opcode == (CARD8)rec->major_code) - && (minor_opcode == (CARD8)rec->minor_code)) - if ((*rec->func)(call_im, len, data, rec->call_data)) - return True; - } - return False; -} - -Public Bool -_XimDispatchInit(Xim im) -{ - if (_XimRegisterDispatcher(im, _XimTransportIntr, (XPointer)im)) - return True; - return False; -} +/****************************************************************** + + Copyright 1993, 1994 by FUJITSU LIMITED + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of FUJITSU LIMITED +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +FUJITSU LIMITED makes no representations about the suitability of +this software for any purpose. +It is provided "as is" without express or implied warranty. + +FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + Author: Takashi Fujiwara FUJITSU LIMITED + fujiwara@a80.tech.yk.fujitsu.co.jp + +******************************************************************/ + +#ifdef HAVE_CONFIG_H +#include +#endif +#include +#include "Xlibint.h" +#include "Xutil.h" +#include "Xlcint.h" +#include "Ximint.h" + + +Bool +_XimRegProtoIntrCallback( + Xim im, + CARD16 major_code, + CARD16 minor_code, + Bool (*proc)( + Xim, INT16, XPointer, XPointer + ), + + XPointer call_data) +{ + XimProtoIntrRec *rec; + + if (!(rec = (XimProtoIntrRec *)Xmalloc(sizeof(XimProtoIntrRec)))) + return False; + rec->func = proc; + rec->major_code = major_code; + rec->minor_code = minor_code; + rec->call_data = call_data; + rec->next = im->private.proto.intrproto; + im->private.proto.intrproto = rec; + return True; +} + +void +_XimFreeProtoIntrCallback(Xim im) +{ + register XimProtoIntrRec *rec, *next; + + for (rec = im->private.proto.intrproto; rec;) { + next = rec->next; + Xfree(rec); + rec = next; + } + im->private.proto.intrproto = NULL; + return; +} + +static Bool +_XimTransportIntr( + Xim im, + INT16 len, + XPointer data, + XPointer call_data) +{ + Xim call_im = (Xim)call_data; + XimProtoIntrRec *rec = call_im->private.proto.intrproto; + CARD8 major_opcode = *((CARD8 *)data); + CARD8 minor_opcode = *((CARD8 *)data + 1); + + for (; rec; rec = rec->next) { + if ((major_opcode == (CARD8)rec->major_code) + && (minor_opcode == (CARD8)rec->minor_code)) + if ((*rec->func)(call_im, len, data, rec->call_data)) + return True; + } + return False; +} + +Bool +_XimDispatchInit(Xim im) +{ + if (_XimRegisterDispatcher(im, _XimTransportIntr, (XPointer)im)) + return True; + return False; +} diff --git a/libX11/modules/im/ximcp/imExten.c b/libX11/modules/im/ximcp/imExten.c index 65e59bcb4..e5a0b2723 100644 --- a/libX11/modules/im/ximcp/imExten.c +++ b/libX11/modules/im/ximcp/imExten.c @@ -55,7 +55,7 @@ typedef struct _XIM_QueryExtRec { int idx; } XIM_QueryExtRec; -Private XIM_QueryExtRec extensions[] = { +static XIM_QueryExtRec extensions[] = { {False, "XIM_EXT_SET_EVENT_MASK", 0, 0, 0, XIM_EXT_SET_EVENT_MASK_IDX}, #ifdef EXT_FORWARD @@ -68,7 +68,7 @@ Private XIM_QueryExtRec extensions[] = { {False, NULL, 0, 0, 0, 0} /* dummy */ }; -Private int +static int _XimIsSupportExt( int idx) { @@ -86,7 +86,7 @@ _XimIsSupportExt( return -1; } -Private Bool +static Bool _XimProcExtSetEventMask( Xim im, Xic ic, @@ -113,7 +113,7 @@ _XimProcExtSetEventMask( return True; } -Private Bool +static Bool _XimExtSetEventMaskCallback( Xim xim, INT16 len, @@ -135,7 +135,7 @@ _XimExtSetEventMaskCallback( } #ifdef EXT_FORWARD -Private Bool +static Bool _XimProcExtForwardKeyEvent( Xim im, Xic ic, @@ -164,7 +164,7 @@ _XimProcExtForwardKeyEvent( return True; } -Private Bool +static Bool _XimExtForwardKeyEventCallback( Xim xim, INT16 len, @@ -185,7 +185,7 @@ _XimExtForwardKeyEventCallback( return False; } -Private Bool +static Bool _XimExtForwardKeyEventCheck( Xim im, INT16 len, @@ -213,7 +213,7 @@ _XimExtForwardKeyEventCheck( return False; } -Public Bool +Bool _XimExtForwardKeyEvent( Xic ic, XKeyEvent *ev, @@ -295,7 +295,7 @@ _XimExtForwardKeyEvent( } #endif /* EXT_FORWARD */ -Private int +static int _XimCheckExtensionListSize(void) { register int i; @@ -312,7 +312,7 @@ _XimCheckExtensionListSize(void) return total; } -Private void +static void _XimSetExtensionList( CARD8 *buf) { @@ -330,7 +330,7 @@ _XimSetExtensionList( return; } -Private unsigned int +static unsigned int _XimCountNumberOfExtension( INT16 total, CARD8 *ext) @@ -352,7 +352,7 @@ _XimCountNumberOfExtension( return n; } -Private Bool +static Bool _XimParseExtensionList( Xim im, CARD16 *data) @@ -388,7 +388,7 @@ _XimParseExtensionList( return True; } -Private Bool +static Bool _XimQueryExtensionCheck( Xim im, INT16 len, @@ -412,7 +412,7 @@ _XimQueryExtensionCheck( return False; } -Public Bool +Bool _XimExtension( Xim im) { @@ -518,7 +518,7 @@ _XimExtension( /* length of XPoint attribute */ #define XIM_Xpoint_length 12 -Private Bool +static Bool _XimExtMove( Xim im, Xic ic, @@ -551,7 +551,7 @@ _XimExtMove( return True; } -Public BITMASK32 +BITMASK32 _XimExtenArgCheck( XIMArg *arg) { @@ -561,7 +561,7 @@ _XimExtenArgCheck( return flag; } -Public Bool +Bool _XimExtenMove( Xim im, Xic ic, diff --git a/libX11/modules/im/ximcp/imImSw.c b/libX11/modules/im/ximcp/imImSw.c index dfa6d6699..28b1725a6 100644 --- a/libX11/modules/im/ximcp/imImSw.c +++ b/libX11/modules/im/ximcp/imImSw.c @@ -1,55 +1,55 @@ -/****************************************************************** - - Copyright 1992, 1993 by FUJITSU LIMITED - Copyright 1993 by Digital Equipment Corporation - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of FUJITSU LIMITED and -Digital Equipment Corporation not be used in advertising or publicity -pertaining to distribution of the software without specific, written -prior permission. FUJITSU LIMITED and Digital Equipment Corporation -makes no representations about the suitability of this software for -any purpose. It is provided "as is" without express or implied -warranty. - -FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER -IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - Author: Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - Modifier: Franky Ling Digital Equipment Corporation - frankyling@hgrd01.enet.dec.com - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "Xlibint.h" -#include "Xlcint.h" -#include "Ximint.h" -#include "XimImSw.h" - -Private Bool -_XimCheckIfDefault( - Xim im) -{ - return(True); -} - -XimImsportSW _XimImSportRec[] = { - { _XimCheckIfLocalProcessing, _XimLocalOpenIM, _XimLocalIMFree }, - { _XimCheckIfThaiProcessing, _XimThaiOpenIM, _XimThaiIMFree }, - { _XimCheckIfDefault, _XimProtoOpenIM, _XimProtoIMFree }, - { NULL, NULL, NULL }, -}; +/****************************************************************** + + Copyright 1992, 1993 by FUJITSU LIMITED + Copyright 1993 by Digital Equipment Corporation + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of FUJITSU LIMITED and +Digital Equipment Corporation not be used in advertising or publicity +pertaining to distribution of the software without specific, written +prior permission. FUJITSU LIMITED and Digital Equipment Corporation +makes no representations about the suitability of this software for +any purpose. It is provided "as is" without express or implied +warranty. + +FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR +ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + Author: Takashi Fujiwara FUJITSU LIMITED + fujiwara@a80.tech.yk.fujitsu.co.jp + Modifier: Franky Ling Digital Equipment Corporation + frankyling@hgrd01.enet.dec.com + +******************************************************************/ + +#ifdef HAVE_CONFIG_H +#include +#endif +#include "Xlibint.h" +#include "Xlcint.h" +#include "Ximint.h" +#include "XimImSw.h" + +static Bool +_XimCheckIfDefault( + Xim im) +{ + return(True); +} + +XimImsportSW _XimImSportRec[] = { + { _XimCheckIfLocalProcessing, _XimLocalOpenIM, _XimLocalIMFree }, + { _XimCheckIfThaiProcessing, _XimThaiOpenIM, _XimThaiIMFree }, + { _XimCheckIfDefault, _XimProtoOpenIM, _XimProtoIMFree }, + { NULL, NULL, NULL }, +}; diff --git a/libX11/modules/im/ximcp/imInsClbk.c b/libX11/modules/im/ximcp/imInsClbk.c index 263dec6d9..b867d2f6f 100644 --- a/libX11/modules/im/ximcp/imInsClbk.c +++ b/libX11/modules/im/ximcp/imInsClbk.c @@ -1,288 +1,288 @@ -/****************************************************************** - - Copyright 1993, 1994 by Sony Corporation - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of Sony Corporation - not be used in advertising or publicity pertaining to distribution - of the software without specific, written prior permission. -Sony Corporation makes no representations about the suitability of - this software for any purpose. It is provided "as is" without - express or implied warranty. - -SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Makoto Wakamatsu Sony Corporation - makoto@sm.sony.co.jp - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include -#include "Xlibint.h" -#include "Xlcint.h" -#include "XlcPublic.h" -#include "Ximint.h" - - -typedef struct _XimInstCallback { - Bool call; - Bool destroy; - Display *display; - XLCd lcd; - char name[XIM_MAXLCNAMELEN]; - char *modifiers; - XrmDatabase rdb; - char *res_name; - char *res_class; - XIDProc callback; - XPointer client_data; - struct _XimInstCallback *next; -} XimInstCallbackRec, *XimInstCallback; - - -Private XimInstCallback callback_list = NULL; -Private Bool lock = False; - - -Private void -MakeLocale( XLCd lcd, char locale[] ) -{ - char *language, *territory, *codeset; - - _XGetLCValues( lcd, XlcNLanguage, &language, XlcNTerritory, &territory, - XlcNCodeset, &codeset, NULL ); - - strcpy( locale, language ); - if( territory && *territory ) { - strcat( locale, "_" ); - strcat( locale, territory ); - } - if( codeset && *codeset ) { - strcat( locale, "." ); - strcat( locale, codeset ); - } -} - - -Private Bool -_XimFilterPropertyNotify( - Display *display, - Window window, - XEvent *event, - XPointer client_data) -{ - Atom ims, actual_type, *atoms; - int actual_format; - unsigned long nitems, bytes_after; - int ii; - XIM xim; - Bool flag = False; - XimInstCallback icb, picb, tmp; - - if( (ims = XInternAtom( display, XIM_SERVERS, True )) == None || - event->xproperty.atom != ims || - event->xproperty.state == PropertyDelete ) - return( False ); - - if( XGetWindowProperty( display, RootWindow(display, 0), ims, 0L, 1000000L, - False, XA_ATOM, &actual_type, &actual_format, - &nitems, &bytes_after, (unsigned char **)&atoms ) - != Success ) { - return( False ); - } - if( actual_type != XA_ATOM || actual_format != 32 ) { - XFree( atoms ); - return( False ); - } - - lock = True; - for( ii = 0; ii < nitems; ii++, atoms ) { - if(XGetSelectionOwner (display, atoms[ii])) { - for( icb = callback_list; icb; icb = icb->next ) { - if( !icb->call && !icb->destroy ) { - xim = (*icb->lcd->methods->open_im)( icb->lcd, display, - icb->rdb, - icb->res_name, - icb->res_class ); - if( xim ) { - xim->methods->close( (XIM)xim ); - flag = True; - icb->call = True; - icb->callback( icb->display, icb->client_data, NULL ); - } - } - } - break; - } - } - XFree( atoms ); - - for( icb = callback_list, picb = NULL; icb; ) { - if( icb->destroy ) { - if( picb ) - picb->next = icb->next; - else - callback_list = icb->next; - tmp = icb; - icb = icb->next; - XFree( tmp ); - } - else { - picb = icb; - icb = icb->next; - } - } - lock = False; - - return( flag ); -} - - -Public Bool -_XimRegisterIMInstantiateCallback( - XLCd lcd, - Display *display, - XrmDatabase rdb, - char *res_name, - char *res_class, - XIDProc callback, - XPointer client_data) -{ - XimInstCallback icb, tmp; - XIM xim; - Window root; - XWindowAttributes attr; - - if( lock ) - return( False ); - - icb = (XimInstCallback)Xmalloc(sizeof(XimInstCallbackRec)); - if( !icb ) - return( False ); - icb->call = icb->destroy = False; - icb->display = display; - icb->lcd = lcd; - MakeLocale( lcd, icb->name ); - icb->modifiers = lcd->core->modifiers; /* XXXXX */ - icb->rdb = rdb; - icb->res_name = res_name; - icb->res_class = res_class; - icb->callback = callback; - icb->client_data = client_data; - icb->next = NULL; - - if( !callback_list ) - callback_list = icb; - else { - for( tmp = callback_list; tmp->next; tmp = tmp->next ); - tmp->next = icb; - } - - xim = (*lcd->methods->open_im)( lcd, display, rdb, res_name, res_class ); - - if( icb == callback_list ) { - root = RootWindow( display, 0 ); - XGetWindowAttributes( display, root, &attr ); - _XRegisterFilterByType( display, root, PropertyNotify, PropertyNotify, - _XimFilterPropertyNotify, (XPointer)NULL ); - XSelectInput( display, root, - attr.your_event_mask | PropertyChangeMask ); - } - - if( xim ) { - lock = True; - xim->methods->close( (XIM)xim ); - lock = False; - icb->call = True; - callback( display, client_data, NULL ); - } - - return( True ); -} - - -Public Bool -_XimUnRegisterIMInstantiateCallback( - XLCd lcd, - Display *display, - XrmDatabase rdb, - char *res_name, - char *res_class, - XIDProc callback, - XPointer client_data) -{ - char locale[XIM_MAXLCNAMELEN]; - XimInstCallback icb, picb; - - if( !callback_list ) - return( False ); - - MakeLocale( lcd, locale ); - - for( icb = callback_list, picb = NULL; icb; picb = icb, icb = icb->next ) { - if( !strcmp( locale, icb->name ) && - (lcd->core->modifiers == icb->modifiers || /* XXXXX */ - (lcd->core->modifiers && icb->modifiers && - !strcmp( lcd->core->modifiers, icb->modifiers ))) && - rdb == icb->rdb && /* XXXXX */ - ((res_name == NULL && icb->res_name == NULL) || - (res_name != NULL && icb->res_name != NULL && - !strcmp( res_name, icb->res_name ))) && - ((res_class == NULL && icb->res_class == NULL) || - (res_class != NULL && icb->res_class != NULL && - !strcmp( res_class, icb->res_class ))) && - (callback == icb->callback) && - (client_data == icb->client_data) && /* XXXXX */ - !icb->destroy ) { - if( lock ) - icb->destroy = True; - else { - if( !picb ) { - callback_list = icb->next; - _XUnregisterFilter( display, RootWindow(display, 0), - _XimFilterPropertyNotify, - (XPointer)NULL ); - } - else - picb->next = icb->next; - _XCloseLC( icb->lcd ); - XFree( icb ); - } - return( True ); - } - } - return( False ); -} - - -Public void -_XimResetIMInstantiateCallback(Xim xim) -{ - char locale[XIM_MAXLCNAMELEN]; - XimInstCallback icb; - XLCd lcd = xim->core.lcd; - - if( !callback_list && lock ) - return; - - MakeLocale( lcd, locale ); - - for( icb = callback_list; icb; icb = icb->next ) - if( !strcmp( locale, icb->name ) && - (lcd->core->modifiers == icb->modifiers || - (lcd->core->modifiers && icb->modifiers && - !strcmp( lcd->core->modifiers, icb->modifiers ))) ) - icb->call = False; -} +/****************************************************************** + + Copyright 1993, 1994 by Sony Corporation + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of Sony Corporation + not be used in advertising or publicity pertaining to distribution + of the software without specific, written prior permission. +Sony Corporation makes no representations about the suitability of + this software for any purpose. It is provided "as is" without + express or implied warranty. + +SONY CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + Author: Makoto Wakamatsu Sony Corporation + makoto@sm.sony.co.jp + +******************************************************************/ + +#ifdef HAVE_CONFIG_H +#include +#endif +#include +#include "Xlibint.h" +#include "Xlcint.h" +#include "XlcPublic.h" +#include "Ximint.h" + + +typedef struct _XimInstCallback { + Bool call; + Bool destroy; + Display *display; + XLCd lcd; + char name[XIM_MAXLCNAMELEN]; + char *modifiers; + XrmDatabase rdb; + char *res_name; + char *res_class; + XIDProc callback; + XPointer client_data; + struct _XimInstCallback *next; +} XimInstCallbackRec, *XimInstCallback; + + +static XimInstCallback callback_list = NULL; +static Bool lock = False; + + +static void +MakeLocale( XLCd lcd, char locale[] ) +{ + char *language, *territory, *codeset; + + _XGetLCValues( lcd, XlcNLanguage, &language, XlcNTerritory, &territory, + XlcNCodeset, &codeset, NULL ); + + strcpy( locale, language ); + if( territory && *territory ) { + strcat( locale, "_" ); + strcat( locale, territory ); + } + if( codeset && *codeset ) { + strcat( locale, "." ); + strcat( locale, codeset ); + } +} + + +static Bool +_XimFilterPropertyNotify( + Display *display, + Window window, + XEvent *event, + XPointer client_data) +{ + Atom ims, actual_type, *atoms; + int actual_format; + unsigned long nitems, bytes_after; + int ii; + XIM xim; + Bool flag = False; + XimInstCallback icb, picb, tmp; + + if( (ims = XInternAtom( display, XIM_SERVERS, True )) == None || + event->xproperty.atom != ims || + event->xproperty.state == PropertyDelete ) + return( False ); + + if( XGetWindowProperty( display, RootWindow(display, 0), ims, 0L, 1000000L, + False, XA_ATOM, &actual_type, &actual_format, + &nitems, &bytes_after, (unsigned char **)&atoms ) + != Success ) { + return( False ); + } + if( actual_type != XA_ATOM || actual_format != 32 ) { + XFree( atoms ); + return( False ); + } + + lock = True; + for( ii = 0; ii < nitems; ii++, atoms ) { + if(XGetSelectionOwner (display, atoms[ii])) { + for( icb = callback_list; icb; icb = icb->next ) { + if( !icb->call && !icb->destroy ) { + xim = (*icb->lcd->methods->open_im)( icb->lcd, display, + icb->rdb, + icb->res_name, + icb->res_class ); + if( xim ) { + xim->methods->close( (XIM)xim ); + flag = True; + icb->call = True; + icb->callback( icb->display, icb->client_data, NULL ); + } + } + } + break; + } + } + XFree( atoms ); + + for( icb = callback_list, picb = NULL; icb; ) { + if( icb->destroy ) { + if( picb ) + picb->next = icb->next; + else + callback_list = icb->next; + tmp = icb; + icb = icb->next; + XFree( tmp ); + } + else { + picb = icb; + icb = icb->next; + } + } + lock = False; + + return( flag ); +} + + +Bool +_XimRegisterIMInstantiateCallback( + XLCd lcd, + Display *display, + XrmDatabase rdb, + char *res_name, + char *res_class, + XIDProc callback, + XPointer client_data) +{ + XimInstCallback icb, tmp; + XIM xim; + Window root; + XWindowAttributes attr; + + if( lock ) + return( False ); + + icb = (XimInstCallback)Xmalloc(sizeof(XimInstCallbackRec)); + if( !icb ) + return( False ); + icb->call = icb->destroy = False; + icb->display = display; + icb->lcd = lcd; + MakeLocale( lcd, icb->name ); + icb->modifiers = lcd->core->modifiers; /* XXXXX */ + icb->rdb = rdb; + icb->res_name = res_name; + icb->res_class = res_class; + icb->callback = callback; + icb->client_data = client_data; + icb->next = NULL; + + if( !callback_list ) + callback_list = icb; + else { + for( tmp = callback_list; tmp->next; tmp = tmp->next ); + tmp->next = icb; + } + + xim = (*lcd->methods->open_im)( lcd, display, rdb, res_name, res_class ); + + if( icb == callback_list ) { + root = RootWindow( display, 0 ); + XGetWindowAttributes( display, root, &attr ); + _XRegisterFilterByType( display, root, PropertyNotify, PropertyNotify, + _XimFilterPropertyNotify, (XPointer)NULL ); + XSelectInput( display, root, + attr.your_event_mask | PropertyChangeMask ); + } + + if( xim ) { + lock = True; + xim->methods->close( (XIM)xim ); + lock = False; + icb->call = True; + callback( display, client_data, NULL ); + } + + return( True ); +} + + +Bool +_XimUnRegisterIMInstantiateCallback( + XLCd lcd, + Display *display, + XrmDatabase rdb, + char *res_name, + char *res_class, + XIDProc callback, + XPointer client_data) +{ + char locale[XIM_MAXLCNAMELEN]; + XimInstCallback icb, picb; + + if( !callback_list ) + return( False ); + + MakeLocale( lcd, locale ); + + for( icb = callback_list, picb = NULL; icb; picb = icb, icb = icb->next ) { + if( !strcmp( locale, icb->name ) && + (lcd->core->modifiers == icb->modifiers || /* XXXXX */ + (lcd->core->modifiers && icb->modifiers && + !strcmp( lcd->core->modifiers, icb->modifiers ))) && + rdb == icb->rdb && /* XXXXX */ + ((res_name == NULL && icb->res_name == NULL) || + (res_name != NULL && icb->res_name != NULL && + !strcmp( res_name, icb->res_name ))) && + ((res_class == NULL && icb->res_class == NULL) || + (res_class != NULL && icb->res_class != NULL && + !strcmp( res_class, icb->res_class ))) && + (callback == icb->callback) && + (client_data == icb->client_data) && /* XXXXX */ + !icb->destroy ) { + if( lock ) + icb->destroy = True; + else { + if( !picb ) { + callback_list = icb->next; + _XUnregisterFilter( display, RootWindow(display, 0), + _XimFilterPropertyNotify, + (XPointer)NULL ); + } + else + picb->next = icb->next; + _XCloseLC( icb->lcd ); + XFree( icb ); + } + return( True ); + } + } + return( False ); +} + + +void +_XimResetIMInstantiateCallback(Xim xim) +{ + char locale[XIM_MAXLCNAMELEN]; + XimInstCallback icb; + XLCd lcd = xim->core.lcd; + + if( !callback_list && lock ) + return; + + MakeLocale( lcd, locale ); + + for( icb = callback_list; icb; icb = icb->next ) + if( !strcmp( locale, icb->name ) && + (lcd->core->modifiers == icb->modifiers || + (lcd->core->modifiers && icb->modifiers && + !strcmp( lcd->core->modifiers, icb->modifiers ))) ) + icb->call = False; +} diff --git a/libX11/modules/im/ximcp/imInt.c b/libX11/modules/im/ximcp/imInt.c index 26f4991a2..addae0abc 100644 --- a/libX11/modules/im/ximcp/imInt.c +++ b/libX11/modules/im/ximcp/imInt.c @@ -37,10 +37,10 @@ PERFORMANCE OF THIS SOFTWARE. #include "Ximint.h" #include "XimImSw.h" -Private Xim *_XimCurrentIMlist = (Xim *)NULL; -Private int _XimCurrentIMcount = 0; +static Xim *_XimCurrentIMlist = (Xim *)NULL; +static int _XimCurrentIMcount = 0; -Private Bool +static Bool _XimSetIMStructureList( Xim im) { @@ -72,7 +72,7 @@ _XimSetIMStructureList( return True; } -Public void +void _XimDestroyIMStructureList(Xim im) { register int i; @@ -86,7 +86,7 @@ _XimDestroyIMStructureList(Xim im) return; } -Public void +void _XimServerDestroy(Xim im_2_destroy) { register int i; @@ -120,7 +120,7 @@ _XimServerDestroy(Xim im_2_destroy) } #ifdef XIM_CONNECTABLE -Public void +void _XimServerReconectableDestroy(void) { register int i; @@ -147,7 +147,7 @@ _XimServerReconectableDestroy(void) } #endif /* XIM_CONNECTABLE */ -Private const char * +static const char * _XimStrstr( register const char *src, register const char *dest) @@ -163,7 +163,7 @@ _XimStrstr( return NULL; } -Private char * +static char * _XimMakeImName( XLCd lcd) { @@ -193,7 +193,7 @@ _XimMakeImName( return ret; } -Public XIM +XIM _XimOpenIM( XLCd lcd, Display *dpy, @@ -251,7 +251,7 @@ Error1: return NULL; } -Public Bool +Bool _XInitIM(XLCd lcd) { if(lcd == (XLCd)NULL) diff --git a/libX11/modules/im/ximcp/imLcGIc.c b/libX11/modules/im/ximcp/imLcGIc.c index 2ee5adbc2..003b3897a 100644 --- a/libX11/modules/im/ximcp/imLcGIc.c +++ b/libX11/modules/im/ximcp/imLcGIc.c @@ -1,47 +1,47 @@ -/****************************************************************** - - Copyright 1992,1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "Xlibint.h" -#include "Xlcint.h" -#include "Ximint.h" - -Public char * -_XimLocalGetICValues(XIC xic, XIMArg *values) -{ - Xic ic = (Xic)xic; - XimDefICValues ic_values; - - _XimGetCurrentICValues(ic, &ic_values); - return(_XimGetICValueData(ic, (XPointer)&ic_values, - ic->private.local.ic_resources, - ic->private.local.ic_num_resources, - values, XIM_GETICVALUES)); -} +/****************************************************************** + + Copyright 1992,1993, 1994 by FUJITSU LIMITED + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of FUJITSU LIMITED +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +FUJITSU LIMITED makes no representations about the suitability of +this software for any purpose. +It is provided "as is" without express or implied warranty. + +FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + Author: Takashi Fujiwara FUJITSU LIMITED + fujiwara@a80.tech.yk.fujitsu.co.jp + +******************************************************************/ + +#ifdef HAVE_CONFIG_H +#include +#endif +#include "Xlibint.h" +#include "Xlcint.h" +#include "Ximint.h" + +char * +_XimLocalGetICValues(XIC xic, XIMArg *values) +{ + Xic ic = (Xic)xic; + XimDefICValues ic_values; + + _XimGetCurrentICValues(ic, &ic_values); + return(_XimGetICValueData(ic, (XPointer)&ic_values, + ic->private.local.ic_resources, + ic->private.local.ic_num_resources, + values, XIM_GETICVALUES)); +} diff --git a/libX11/modules/im/ximcp/imLcIc.c b/libX11/modules/im/ximcp/imLcIc.c index 49338853c..ef18453ae 100644 --- a/libX11/modules/im/ximcp/imLcIc.c +++ b/libX11/modules/im/ximcp/imLcIc.c @@ -36,7 +36,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "Xlcint.h" #include "Ximint.h" -Private void +static void _XimLocalUnSetFocus( XIC xic) { @@ -49,7 +49,7 @@ _XimLocalUnSetFocus( return; } -Private void +static void _XimLocalDestroyIC( XIC xic) { @@ -68,7 +68,7 @@ _XimLocalDestroyIC( return; } -Private void +static void _XimLocalSetFocus( XIC xic) { @@ -90,7 +90,7 @@ _XimLocalSetFocus( return; } -Private void +static void _XimLocalReset( XIC xic) { @@ -102,7 +102,7 @@ _XimLocalReset( ic->private.local.brl_committed = 0; } -Private char * +static char * _XimLocalMbReset( XIC xic) { @@ -110,7 +110,7 @@ _XimLocalMbReset( return (char *)NULL; } -Private wchar_t * +static wchar_t * _XimLocalWcReset( XIC xic) { @@ -118,7 +118,7 @@ _XimLocalWcReset( return (wchar_t *)NULL; } -Private XICMethodsRec Local_ic_methods = { +static XICMethodsRec Local_ic_methods = { _XimLocalDestroyIC, /* destroy */ _XimLocalSetFocus, /* set_focus */ _XimLocalUnSetFocus, /* unset_focus */ @@ -132,7 +132,7 @@ Private XICMethodsRec Local_ic_methods = { _XimLocalUtf8LookupString /* utf8_lookup_string */ }; -Public XIC +XIC _XimLocalCreateIC( XIM im, XIMArg *values) diff --git a/libX11/modules/im/ximcp/imLcIm.c b/libX11/modules/im/ximcp/imLcIm.c index 904169830..6456d7b31 100644 --- a/libX11/modules/im/ximcp/imLcIm.c +++ b/libX11/modules/im/ximcp/imLcIm.c @@ -86,14 +86,14 @@ struct _XimCacheStruct { /* char encoding[1] */ }; -Private struct _XimCacheStruct* _XimCache_mmap = NULL; -Private DefTreeBase _XimCachedDefaultTreeBase; -Private int _XimCachedDefaultTreeRefcount = 0; +static struct _XimCacheStruct* _XimCache_mmap = NULL; +static DefTreeBase _XimCachedDefaultTreeBase; +static int _XimCachedDefaultTreeRefcount = 0; #endif -Public Bool +Bool _XimCheckIfLocalProcessing(Xim im) { FILE *fp; @@ -117,7 +117,7 @@ _XimCheckIfLocalProcessing(Xim im) return(False); } -Private void +static void XimFreeDefaultTree( DefTreeBase *b) { @@ -144,7 +144,7 @@ XimFreeDefaultTree( b->utf8used = b->utf8size = 0; } -Public void +void _XimLocalIMFree( Xim im) { @@ -218,7 +218,7 @@ _XimLocalIMFree( return; } -Private Status +static Status _XimLocalCloseIM( XIM xim) { @@ -239,7 +239,7 @@ _XimLocalCloseIM( return(True); } -Public char * +char * _XimLocalGetIMValues( XIM xim, XIMArg *values) @@ -252,7 +252,7 @@ _XimLocalGetIMValues( im->core.im_resources, im->core.im_num_resources)); } -Public char * +char * _XimLocalSetIMValues( XIM xim, XIMArg *values) @@ -271,7 +271,7 @@ _XimLocalSetIMValues( #ifdef COMPOSECACHE -Private Bool +static Bool _XimReadCachedDefaultTree( int fd_cache, const char *name, @@ -322,7 +322,7 @@ _XimReadCachedDefaultTree( return True; } -Private unsigned int strToHash ( +static unsigned int strToHash ( const char *name) { unsigned int hash = 0; @@ -334,7 +334,7 @@ Private unsigned int strToHash ( /* Returns read-only fd of cache file, -1 if none. * Sets *res to cache filename if safe. Sets *size to file size of cache. */ -Private int _XimCachedFileName ( +static int _XimCachedFileName ( const char *dir, const char *name, const char *intname, const char *encoding, uid_t uid, int isglobal, char **res, off_t *size) @@ -419,7 +419,7 @@ Private int _XimCachedFileName ( } -Private Bool _XimLoadCache ( +static Bool _XimLoadCache ( int fd, const char *name, const char *encoding, @@ -439,7 +439,7 @@ Private Bool _XimLoadCache ( } -Private void +static void _XimWriteCachedDefaultTree( const char *name, const char *encoding, @@ -514,7 +514,7 @@ _XimWriteCachedDefaultTree( #endif -Private void +static void _XimCreateDefaultTree( Xim im) { @@ -644,7 +644,7 @@ _XimCreateDefaultTree( Xfree (cachename); } -Private XIMMethodsRec Xim_im_local_methods = { +static XIMMethodsRec Xim_im_local_methods = { _XimLocalCloseIM, /* close */ _XimLocalSetIMValues, /* set_values */ _XimLocalGetIMValues, /* get_values */ @@ -654,7 +654,7 @@ Private XIMMethodsRec Xim_im_local_methods = { _XimLcctstoutf8 /* ctstoutf8 */ }; -Public Bool +Bool _XimLocalOpenIM( Xim im) { diff --git a/libX11/modules/im/ximcp/imLcLkup.c b/libX11/modules/im/ximcp/imLcLkup.c index 8e4111a6a..9e4aec319 100644 --- a/libX11/modules/im/ximcp/imLcLkup.c +++ b/libX11/modules/im/ximcp/imLcLkup.c @@ -43,7 +43,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "XlcPubI.h" #include "Ximint.h" -Public int +int _XimLocalMbLookupString(XIC xic, XKeyEvent *ev, char *buffer, int bytes, KeySym *keysym, Status *status) { @@ -126,7 +126,7 @@ _XimLocalMbLookupString(XIC xic, XKeyEvent *ev, char *buffer, int bytes, return (ret); } -Public int +int _XimLocalWcLookupString(XIC xic, XKeyEvent *ev, wchar_t *buffer, int wlen, KeySym *keysym, Status *status) { @@ -198,7 +198,7 @@ _XimLocalWcLookupString(XIC xic, XKeyEvent *ev, wchar_t *buffer, int wlen, return (ret); } -Public int +int _XimLocalUtf8LookupString(XIC xic, XKeyEvent *ev, char *buffer, int bytes, KeySym *keysym, Status *status) { @@ -271,7 +271,7 @@ _XimLocalUtf8LookupString(XIC xic, XKeyEvent *ev, char *buffer, int bytes, return (ret); } -Private int +static int _XimLcctsconvert( XlcConv conv, char *from, @@ -337,7 +337,7 @@ _XimLcctsconvert( return to_cnvlen; } -Public int +int _XimLcctstombs(XIM xim, char *from, int from_len, char *to, int to_len, Status *state) { @@ -345,7 +345,7 @@ _XimLcctstombs(XIM xim, char *from, int from_len, from, from_len, to, to_len, state); } -Public int +int _XimLcctstowcs(XIM xim, char *from, int from_len, wchar_t *to, int to_len, Status *state) { @@ -408,7 +408,7 @@ _XimLcctstowcs(XIM xim, char *from, int from_len, return to_cnvlen; } -Public int +int _XimLcctstoutf8(XIM xim, char *from, int from_len, char *to, int to_len, Status *state) { diff --git a/libX11/modules/im/ximcp/imLcSIc.c b/libX11/modules/im/ximcp/imLcSIc.c index 3fce5fdc7..40937b054 100644 --- a/libX11/modules/im/ximcp/imLcSIc.c +++ b/libX11/modules/im/ximcp/imLcSIc.c @@ -1,54 +1,54 @@ -/****************************************************************** - - Copyright 1990, 1991, 1992, 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include -#include -#include -#include -#include "Xlibint.h" -#include "Xlcint.h" -#include "Ximint.h" - -Public char * -_XimLocalSetICValues(XIC xic, XIMArg *values) -{ - XimDefICValues ic_values; - Xic ic = (Xic)xic; - char *name; - - _XimGetCurrentICValues(ic, &ic_values); - name = _XimSetICValueData(ic, (XPointer)&ic_values, - ic->private.local.ic_resources, - ic->private.local.ic_num_resources, - values, XIM_SETICVALUES, True); - _XimSetCurrentICValues(ic, &ic_values); - return(name); -} +/****************************************************************** + + Copyright 1990, 1991, 1992, 1993, 1994 by FUJITSU LIMITED + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of FUJITSU LIMITED +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +FUJITSU LIMITED makes no representations about the suitability of +this software for any purpose. +It is provided "as is" without express or implied warranty. + +FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + Author: Takashi Fujiwara FUJITSU LIMITED + fujiwara@a80.tech.yk.fujitsu.co.jp + +******************************************************************/ + +#ifdef HAVE_CONFIG_H +#include +#endif +#include +#include +#include +#include +#include "Xlibint.h" +#include "Xlcint.h" +#include "Ximint.h" + +char * +_XimLocalSetICValues(XIC xic, XIMArg *values) +{ + XimDefICValues ic_values; + Xic ic = (Xic)xic; + char *name; + + _XimGetCurrentICValues(ic, &ic_values); + name = _XimSetICValueData(ic, (XPointer)&ic_values, + ic->private.local.ic_resources, + ic->private.local.ic_num_resources, + values, XIM_SETICVALUES, True); + _XimSetCurrentICValues(ic, &ic_values); + return(name); +} diff --git a/libX11/modules/im/ximcp/imRm.c b/libX11/modules/im/ximcp/imRm.c index 01e74c2d1..dd0b99ee2 100644 --- a/libX11/modules/im/ximcp/imRm.c +++ b/libX11/modules/im/ximcp/imRm.c @@ -58,7 +58,7 @@ typedef struct _XimValueOffsetInfo { } XimValueOffsetInfoRec, *XimValueOffsetInfo; #ifdef XIM_CONNECTABLE -Private Bool +static Bool _XimCheckBool(str) char *str; { @@ -69,7 +69,7 @@ _XimCheckBool(str) return False; } -Public void +void _XimSetProtoResource(im) Xim im; { @@ -344,7 +344,7 @@ static XIMStyle const supported_local_styles[] = { 0 /* dummy */ }; -Private Bool +static Bool _XimDefaultStyles( XimValueOffsetInfo info, XPointer top, @@ -379,7 +379,7 @@ _XimDefaultStyles( return True; } -Private Bool +static Bool _XimDefaultIMValues( XimValueOffsetInfo info, XPointer top, @@ -415,7 +415,7 @@ _XimDefaultIMValues( return True; } -Private Bool +static Bool _XimDefaultICValues( XimValueOffsetInfo info, XPointer top, @@ -451,7 +451,7 @@ _XimDefaultICValues( return True; } -Private Bool +static Bool _XimDefaultVisiblePos( XimValueOffsetInfo info, XPointer top, @@ -465,7 +465,7 @@ _XimDefaultVisiblePos( return True; } -Private Bool +static Bool _XimDefaultFocusWindow( XimValueOffsetInfo info, XPointer top, @@ -484,7 +484,7 @@ _XimDefaultFocusWindow( return True; } -Private Bool +static Bool _XimDefaultResName( XimValueOffsetInfo info, XPointer top, @@ -504,7 +504,7 @@ _XimDefaultResName( return True; } -Private Bool +static Bool _XimDefaultResClass( XimValueOffsetInfo info, XPointer top, @@ -524,7 +524,7 @@ _XimDefaultResClass( return True; } -Private Bool +static Bool _XimDefaultDestroyCB( XimValueOffsetInfo info, XPointer top, @@ -540,7 +540,7 @@ _XimDefaultDestroyCB( return True; } -Private Bool +static Bool _XimDefaultResetState( XimValueOffsetInfo info, XPointer top, @@ -554,7 +554,7 @@ _XimDefaultResetState( return True; } -Private Bool +static Bool _XimDefaultHotKeyState( XimValueOffsetInfo info, XPointer top, @@ -568,7 +568,7 @@ _XimDefaultHotKeyState( return True; } -Private Bool +static Bool _XimDefaultArea( XimValueOffsetInfo info, XPointer top, @@ -604,7 +604,7 @@ _XimDefaultArea( return True; } -Private Bool +static Bool _XimDefaultColormap( XimValueOffsetInfo info, XPointer top, @@ -629,7 +629,7 @@ _XimDefaultColormap( return True; } -Private Bool +static Bool _XimDefaultStdColormap( XimValueOffsetInfo info, XPointer top, @@ -643,7 +643,7 @@ _XimDefaultStdColormap( return True; } -Private Bool +static Bool _XimDefaultFg( XimValueOffsetInfo info, XPointer top, @@ -661,7 +661,7 @@ _XimDefaultFg( return True; } -Private Bool +static Bool _XimDefaultBg( XimValueOffsetInfo info, XPointer top, @@ -679,7 +679,7 @@ _XimDefaultBg( return True; } -Private Bool +static Bool _XimDefaultBgPixmap( XimValueOffsetInfo info, XPointer top, @@ -693,7 +693,7 @@ _XimDefaultBgPixmap( return True; } -Private Bool +static Bool _XimDefaultFontSet( XimValueOffsetInfo info, XPointer top, @@ -707,7 +707,7 @@ _XimDefaultFontSet( return True; } -Private Bool +static Bool _XimDefaultLineSpace( XimValueOffsetInfo info, XPointer top, @@ -736,7 +736,7 @@ _XimDefaultLineSpace( return True; } -Private Bool +static Bool _XimDefaultCursor( XimValueOffsetInfo info, XPointer top, @@ -750,7 +750,7 @@ _XimDefaultCursor( return True; } -Private Bool +static Bool _XimDefaultPreeditState( XimValueOffsetInfo info, XPointer top, @@ -764,7 +764,7 @@ _XimDefaultPreeditState( return True; } -Private Bool +static Bool _XimDefaultNest( XimValueOffsetInfo info, XPointer top, @@ -774,7 +774,7 @@ _XimDefaultNest( return True; } -Private Bool +static Bool _XimEncodeCallback( XimValueOffsetInfo info, XPointer top, @@ -787,7 +787,7 @@ _XimEncodeCallback( return True; } -Private Bool +static Bool _XimEncodeString( XimValueOffsetInfo info, XPointer top, @@ -811,7 +811,7 @@ _XimEncodeString( return True; } -Private Bool +static Bool _XimEncodeStyle( XimValueOffsetInfo info, XPointer top, @@ -824,7 +824,7 @@ _XimEncodeStyle( return True; } -Private Bool +static Bool _XimEncodeWindow( XimValueOffsetInfo info, XPointer top, @@ -837,7 +837,7 @@ _XimEncodeWindow( return True; } -Private Bool +static Bool _XimEncodeStringConv( XimValueOffsetInfo info, XPointer top, @@ -849,7 +849,7 @@ _XimEncodeStringConv( return True; } -Private Bool +static Bool _XimEncodeResetState( XimValueOffsetInfo info, XPointer top, @@ -862,7 +862,7 @@ _XimEncodeResetState( return True; } -Private Bool +static Bool _XimEncodeHotKey( XimValueOffsetInfo info, XPointer top, @@ -905,7 +905,7 @@ _XimEncodeHotKey( return True; } -Private Bool +static Bool _XimEncodeHotKetState( XimValueOffsetInfo info, XPointer top, @@ -918,7 +918,7 @@ _XimEncodeHotKetState( return True; } -Private Bool +static Bool _XimEncodeRectangle( XimValueOffsetInfo info, XPointer top, @@ -931,7 +931,7 @@ _XimEncodeRectangle( return True; } -Private Bool +static Bool _XimEncodeSpot( XimValueOffsetInfo info, XPointer top, @@ -944,7 +944,7 @@ _XimEncodeSpot( return True; } -Private Bool +static Bool _XimEncodeColormap( XimValueOffsetInfo info, XPointer top, @@ -957,7 +957,7 @@ _XimEncodeColormap( return True; } -Private Bool +static Bool _XimEncodeStdColormap( XimValueOffsetInfo info, XPointer top, @@ -970,7 +970,7 @@ _XimEncodeStdColormap( return True; } -Private Bool +static Bool _XimEncodeLong( XimValueOffsetInfo info, XPointer top, @@ -983,7 +983,7 @@ _XimEncodeLong( return True; } -Private Bool +static Bool _XimEncodeBgPixmap( XimValueOffsetInfo info, XPointer top, @@ -996,7 +996,7 @@ _XimEncodeBgPixmap( return True; } -Private Bool +static Bool _XimEncodeFontSet( XimValueOffsetInfo info, XPointer top, @@ -1009,7 +1009,7 @@ _XimEncodeFontSet( return True; } -Private Bool +static Bool _XimEncodeLineSpace( XimValueOffsetInfo info, XPointer top, @@ -1022,7 +1022,7 @@ _XimEncodeLineSpace( return True; } -Private Bool +static Bool _XimEncodeCursor( XimValueOffsetInfo info, XPointer top, @@ -1035,7 +1035,7 @@ _XimEncodeCursor( return True; } -Private Bool +static Bool _XimEncodePreeditState( XimValueOffsetInfo info, XPointer top, @@ -1048,7 +1048,7 @@ _XimEncodePreeditState( return True; } -Private Bool +static Bool _XimEncodeNest( XimValueOffsetInfo info, XPointer top, @@ -1057,7 +1057,7 @@ _XimEncodeNest( return True; } -Private Bool +static Bool _XimDecodeStyles( XimValueOffsetInfo info, XPointer top, @@ -1095,7 +1095,7 @@ _XimDecodeStyles( return True; } -Private Bool +static Bool _XimDecodeValues( XimValueOffsetInfo info, XPointer top, @@ -1133,7 +1133,7 @@ _XimDecodeValues( return True; } -Private Bool +static Bool _XimDecodeCallback( XimValueOffsetInfo info, XPointer top, @@ -1153,7 +1153,7 @@ _XimDecodeCallback( return True; } -Private Bool +static Bool _XimDecodeString( XimValueOffsetInfo info, XPointer top, @@ -1175,7 +1175,7 @@ _XimDecodeString( return True; } -Private Bool +static Bool _XimDecodeBool( XimValueOffsetInfo info, XPointer top, @@ -1188,7 +1188,7 @@ _XimDecodeBool( return True; } -Private Bool +static Bool _XimDecodeStyle( XimValueOffsetInfo info, XPointer top, @@ -1201,7 +1201,7 @@ _XimDecodeStyle( return True; } -Private Bool +static Bool _XimDecodeWindow( XimValueOffsetInfo info, XPointer top, @@ -1214,7 +1214,7 @@ _XimDecodeWindow( return True; } -Private Bool +static Bool _XimDecodeStringConv( XimValueOffsetInfo info, XPointer top, @@ -1226,7 +1226,7 @@ _XimDecodeStringConv( return True; } -Private Bool +static Bool _XimDecodeResetState( XimValueOffsetInfo info, XPointer top, @@ -1239,7 +1239,7 @@ _XimDecodeResetState( return True; } -Private Bool +static Bool _XimDecodeHotKey( XimValueOffsetInfo info, XPointer top, @@ -1273,7 +1273,7 @@ _XimDecodeHotKey( return True; } -Private Bool +static Bool _XimDecodeHotKetState( XimValueOffsetInfo info, XPointer top, @@ -1286,7 +1286,7 @@ _XimDecodeHotKetState( return True; } -Private Bool +static Bool _XimDecodeRectangle( XimValueOffsetInfo info, XPointer top, @@ -1304,7 +1304,7 @@ _XimDecodeRectangle( return True; } -Private Bool +static Bool _XimDecodeSpot( XimValueOffsetInfo info, XPointer top, @@ -1322,7 +1322,7 @@ _XimDecodeSpot( return True; } -Private Bool +static Bool _XimDecodeColormap( XimValueOffsetInfo info, XPointer top, @@ -1335,7 +1335,7 @@ _XimDecodeColormap( return True; } -Private Bool +static Bool _XimDecodeStdColormap( XimValueOffsetInfo info, XPointer top, @@ -1348,7 +1348,7 @@ _XimDecodeStdColormap( return True; } -Private Bool +static Bool _XimDecodeLong( XimValueOffsetInfo info, XPointer top, @@ -1361,7 +1361,7 @@ _XimDecodeLong( return True; } -Private Bool +static Bool _XimDecodeBgPixmap( XimValueOffsetInfo info, XPointer top, @@ -1374,7 +1374,7 @@ _XimDecodeBgPixmap( return True; } -Private Bool +static Bool _XimDecodeFontSet( XimValueOffsetInfo info, XPointer top, @@ -1387,7 +1387,7 @@ _XimDecodeFontSet( return True; } -Private Bool +static Bool _XimDecodeLineSpace( XimValueOffsetInfo info, XPointer top, @@ -1400,7 +1400,7 @@ _XimDecodeLineSpace( return True; } -Private Bool +static Bool _XimDecodeCursor( XimValueOffsetInfo info, XPointer top, @@ -1413,7 +1413,7 @@ _XimDecodeCursor( return True; } -Private Bool +static Bool _XimDecodePreeditState( XimValueOffsetInfo info, XPointer top, @@ -1426,7 +1426,7 @@ _XimDecodePreeditState( return True; } -Private Bool +static Bool _XimDecodeNest( XimValueOffsetInfo info, XPointer top, @@ -2118,7 +2118,7 @@ static const XimICMode ic_mode[] = { static XrmQuark im_mode_quark[sizeof(im_mode) / sizeof(im_mode[0])]; static XrmQuark ic_mode_quark[sizeof(ic_mode) / sizeof(ic_mode[0])]; -Private Bool +static Bool _XimSetResourceList( XIMResourceList *res_list, unsigned int *list_num, @@ -2146,7 +2146,7 @@ _XimSetResourceList( return True; } -Public Bool +Bool _XimSetIMResourceList( XIMResourceList *res_list, unsigned int *list_num) @@ -2155,7 +2155,7 @@ _XimSetIMResourceList( im_resources, XIMNumber(im_resources), 100); } -Public Bool +Bool _XimSetICResourceList( XIMResourceList *res_list, unsigned int *list_num) @@ -2164,7 +2164,7 @@ _XimSetICResourceList( ic_resources, XIMNumber(ic_resources), 200); } -Public Bool +Bool _XimSetInnerIMResourceList( XIMResourceList *res_list, unsigned int *list_num) @@ -2173,7 +2173,7 @@ _XimSetInnerIMResourceList( im_inner_resources, XIMNumber(im_inner_resources), 100); } -Public Bool +Bool _XimSetInnerICResourceList( XIMResourceList *res_list, unsigned int *list_num) @@ -2182,7 +2182,7 @@ _XimSetInnerICResourceList( ic_inner_resources, XIMNumber(ic_inner_resources), 200); } -Private XIMResourceList +static XIMResourceList _XimGetResourceListRecByMode( XIMResourceList res_list, unsigned int list_num, @@ -2198,7 +2198,7 @@ _XimGetResourceListRecByMode( return (XIMResourceList)NULL; } -Public Bool +Bool _XimCheckCreateICValues( XIMResourceList res_list, unsigned int list_num) @@ -2209,7 +2209,7 @@ _XimCheckCreateICValues( return False; } -Public XIMResourceList +XIMResourceList _XimGetResourceListRecByQuark( XIMResourceList res_list, unsigned int list_num, @@ -2225,7 +2225,7 @@ _XimGetResourceListRecByQuark( return (XIMResourceList)NULL; } -Public XIMResourceList +XIMResourceList _XimGetResourceListRec( XIMResourceList res_list, unsigned int list_num, @@ -2236,7 +2236,7 @@ _XimGetResourceListRec( return _XimGetResourceListRecByQuark(res_list, list_num, quark); } -Public char * +char * _XimSetIMValueData( Xim im, XPointer top, @@ -2266,7 +2266,7 @@ _XimSetIMValueData( return NULL; } -Public char * +char * _XimGetIMValueData( Xim im, XPointer top, @@ -2296,7 +2296,7 @@ _XimGetIMValueData( return NULL; } -Public void +void _XimSetIMMode( XIMResourceList res_list, unsigned int list_num) @@ -2315,7 +2315,7 @@ _XimSetIMMode( return; } -Private int +static int _XimCheckSetIMDefaultsMode( XIMResourceList res) { @@ -2325,7 +2325,7 @@ _XimCheckSetIMDefaultsMode( return XIM_CHECK_INVALID; } -Private int +static int _XimCheckSetIMValuesMode( XIMResourceList res) { @@ -2335,7 +2335,7 @@ _XimCheckSetIMValuesMode( return XIM_CHECK_INVALID; } -Private int +static int _XimCheckGetIMValuesMode( XIMResourceList res) { @@ -2345,7 +2345,7 @@ Private int return XIM_CHECK_INVALID; } -Public int +int _XimCheckIMMode( XIMResourceList res, unsigned long mode) @@ -2364,7 +2364,7 @@ Public int } } -Public void +void _XimSetICMode(XIMResourceList res_list, unsigned int list_num, XIMStyle style) { XIMResourceList res; @@ -2406,7 +2406,7 @@ _XimSetICMode(XIMResourceList res_list, unsigned int list_num, XIMStyle style) return; } -Private int +static int _XimCheckSetICDefaultsMode( XIMResourceList res, unsigned long mode) @@ -2449,7 +2449,7 @@ _XimCheckSetICDefaultsMode( return XIM_CHECK_VALID; } -Private int +static int _XimCheckCreateICMode( XIMResourceList res, unsigned long mode) @@ -2502,7 +2502,7 @@ _XimCheckCreateICMode( return XIM_CHECK_VALID; } -Private int +static int _XimCheckSetICValuesMode( XIMResourceList res, unsigned long mode) @@ -2543,7 +2543,7 @@ _XimCheckSetICValuesMode( return XIM_CHECK_VALID; } -Private int +static int _XimCheckGetICValuesMode( XIMResourceList res, unsigned long mode) @@ -2578,7 +2578,7 @@ _XimCheckGetICValuesMode( return XIM_CHECK_VALID; } -Public int +int _XimCheckICMode( XIMResourceList res, unsigned long mode) @@ -2596,7 +2596,7 @@ Public int } } -Public Bool +Bool _XimSetLocalIMDefaults( Xim im, XPointer top, @@ -2635,7 +2635,7 @@ _XimSetLocalIMDefaults( return True; } -Public Bool +Bool _XimSetICDefaults( Xic ic, XPointer top, @@ -2700,7 +2700,7 @@ _XimSetICDefaults( return True; } -Private Bool +static Bool _XimEncodeAttr( XimValueOffsetInfo info, unsigned int num, @@ -2721,7 +2721,7 @@ _XimEncodeAttr( return False; } -Public Bool +Bool _XimEncodeLocalIMAttr( XIMResourceList res, XPointer top, @@ -2731,7 +2731,7 @@ _XimEncodeLocalIMAttr( res, top, val); } -Public Bool +Bool _XimEncodeLocalICAttr( Xic ic, XIMResourceList res, @@ -2756,7 +2756,7 @@ _XimEncodeLocalICAttr( return _XimEncodeAttr(info, num, res, top, arg->value); } -Private Bool +static Bool _XimEncodeLocalTopValue( Xic ic, XIMResourceList res, @@ -2792,7 +2792,7 @@ _XimEncodeLocalTopValue( return True; } -Private Bool +static Bool _XimEncodeLocalPreeditValue( Xic ic, XIMResourceList res, @@ -2814,7 +2814,7 @@ _XimEncodeLocalPreeditValue( return True; } -Private Bool +static Bool _XimEncodeLocalStatusValue( Xic ic, XIMResourceList res, @@ -2836,7 +2836,7 @@ _XimEncodeLocalStatusValue( return True; } -Public char * +char * _XimSetICValueData( Xic ic, XPointer top, @@ -2901,7 +2901,7 @@ _XimSetICValueData( return NULL; } -Private Bool +static Bool _XimCheckInputStyle( XIMStyles *styles, XIMStyle style) @@ -2917,7 +2917,7 @@ _XimCheckInputStyle( return False; } -Public Bool +Bool _XimCheckLocalInputStyle( Xic ic, XPointer top, @@ -2948,7 +2948,7 @@ _XimCheckLocalInputStyle( return False; } -Private Bool +static Bool _XimDecodeAttr( XimValueOffsetInfo info, unsigned int num, @@ -2969,7 +2969,7 @@ _XimDecodeAttr( return False; } -Public Bool +Bool _XimDecodeLocalIMAttr( XIMResourceList res, XPointer top, @@ -2979,7 +2979,7 @@ _XimDecodeLocalIMAttr( res, top, val); } -Public Bool +Bool _XimDecodeLocalICAttr( XIMResourceList res, XPointer top, @@ -3003,7 +3003,7 @@ _XimDecodeLocalICAttr( return _XimDecodeAttr(info, num, res, top, val); } -Public char * +char * _XimGetICValueData(Xic ic, XPointer top, XIMResourceList res_list, unsigned int list_num, XIMArg *values, unsigned long mode) { @@ -3052,7 +3052,7 @@ _XimGetICValueData(Xic ic, XPointer top, XIMResourceList res_list, return NULL; } -Public void +void _XimGetCurrentIMValues(Xim im, XimDefIMValues *im_values) { bzero((char *)im_values, sizeof(XimDefIMValues)); @@ -3066,7 +3066,7 @@ _XimGetCurrentIMValues(Xim im, XimDefIMValues *im_values) im_values->visible_position = im->core.visible_position; } -Public void +void _XimSetCurrentIMValues(Xim im, XimDefIMValues *im_values) { im->core.styles = im_values->styles; @@ -3078,7 +3078,7 @@ _XimSetCurrentIMValues(Xim im, XimDefIMValues *im_values) im->core.visible_position = im_values->visible_position; } -Public void +void _XimGetCurrentICValues(Xic ic, XimDefICValues *ic_values) { bzero((char *)ic_values, sizeof(XimDefICValues)); @@ -3101,7 +3101,7 @@ _XimGetCurrentICValues(Xic ic, XimDefICValues *ic_values) ic_values->status_attr = ic->core.status_attr; } -Public void +void _XimSetCurrentICValues( Xic ic, XimDefICValues *ic_values) @@ -3125,7 +3125,7 @@ _XimSetCurrentICValues( ic->core.status_attr = ic_values->status_attr; } -Private void +static void _XimInitialIMOffsetInfo(void) { unsigned int n = XIMNumber(im_attr_info); @@ -3136,7 +3136,7 @@ _XimInitialIMOffsetInfo(void) } } -Private void +static void _XimInitialICOffsetInfo(void) { unsigned int n; @@ -3158,7 +3158,7 @@ _XimInitialICOffsetInfo(void) } } -Private void +static void _XimInitialIMMode(void) { unsigned int n = XIMNumber(im_mode); @@ -3169,7 +3169,7 @@ _XimInitialIMMode(void) } } -Private void +static void _XimInitialICMode(void) { unsigned int n = XIMNumber(ic_mode); @@ -3180,7 +3180,7 @@ _XimInitialICMode(void) } } -Public void +void _XimInitialResourceInfo(void) { static Bool init_flag = False; diff --git a/libX11/modules/im/ximcp/imRmAttr.c b/libX11/modules/im/ximcp/imRmAttr.c index c047715f6..ef3ac2ca7 100644 --- a/libX11/modules/im/ximcp/imRmAttr.c +++ b/libX11/modules/im/ximcp/imRmAttr.c @@ -34,7 +34,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "Ximint.h" -Private XIMResourceList +static XIMResourceList _XimGetNestedListSeparator( XIMResourceList res_list, /* LISTofIMATTR or IMATTR */ unsigned int res_num) @@ -42,7 +42,7 @@ _XimGetNestedListSeparator( return _XimGetResourceListRec(res_list, res_num, XNSeparatorofNestedList); } -Private Bool +static Bool _XimCheckInnerIMAttributes( Xim im, XIMArg *arg, @@ -64,7 +64,7 @@ _XimCheckInnerIMAttributes( return True; } -Public char * +char * _XimMakeIMAttrIDList( Xim im, XIMResourceList res_list, @@ -102,7 +102,7 @@ _XimMakeIMAttrIDList( return (char *)NULL; } -Private Bool +static Bool _XimCheckInnerICAttributes( Xic ic, XIMArg *arg, @@ -124,7 +124,7 @@ _XimCheckInnerICAttributes( return True; } -Public char * +char * _XimMakeICAttrIDList( Xic ic, XIMResourceList res_list, @@ -209,7 +209,7 @@ _XimMakeICAttrIDList( return (char *)NULL; } -Private Bool +static Bool _XimAttributeToValue( Xic ic, XIMResourceList res, @@ -399,7 +399,7 @@ _XimAttributeToValue( return True; } -Private Bool +static Bool _XimDecodeInnerIMATTRIBUTE( Xim im, XIMArg *arg) @@ -415,7 +415,7 @@ _XimDecodeInnerIMATTRIBUTE( return _XimDecodeLocalIMAttr(res, (XPointer)&im_values, arg->value); } -Public char * +char * _XimDecodeIMATTRIBUTE( Xim im, XIMResourceList res_list, @@ -468,7 +468,7 @@ _XimDecodeIMATTRIBUTE( return (char *)NULL; } -Private Bool +static Bool _XimDecodeInnerICATTRIBUTE( Xic ic, XIMArg *arg, @@ -488,7 +488,7 @@ _XimDecodeInnerICATTRIBUTE( return True; } -Public char * +char * _XimDecodeICATTRIBUTE( Xic ic, XIMResourceList res_list, @@ -564,7 +564,7 @@ _XimDecodeICATTRIBUTE( return (char *)NULL; } -Private Bool +static Bool _XimValueToAttribute( XIMResourceList res, XPointer buf, @@ -772,7 +772,7 @@ _XimValueToAttribute( return True; } -Private Bool +static Bool _XimSetInnerIMAttributes( Xim im, XPointer top, @@ -795,7 +795,7 @@ _XimSetInnerIMAttributes( return _XimEncodeLocalIMAttr(res, top, arg->value); } -Public char * +char * _XimEncodeIMATTRIBUTE( Xim im, XIMResourceList res_list, @@ -859,7 +859,7 @@ _XimEncodeIMATTRIBUTE( } #ifdef XIM_CONNECTABLE -Public Bool +Bool _XimEncodeSavedIMATTRIBUTE( Xim im, XIMResourceList res_list, @@ -922,7 +922,7 @@ _XimEncodeSavedIMATTRIBUTE( } #endif /* XIM_CONNECTABLE */ -Private Bool +static Bool _XimEncodeTopValue( Xic ic, XIMResourceList res, @@ -945,7 +945,7 @@ _XimEncodeTopValue( return True; } -Private Bool +static Bool _XimEncodePreeditValue( Xic ic, XIMResourceList res, @@ -997,7 +997,7 @@ _XimEncodePreeditValue( return True; } -Private Bool +static Bool _XimEncodeStatusValue( Xic ic, XIMResourceList res, @@ -1049,7 +1049,7 @@ _XimEncodeStatusValue( return True; } -Private Bool +static Bool _XimSetInnerICAttributes( Xic ic, XPointer top, @@ -1072,7 +1072,7 @@ _XimSetInnerICAttributes( return _XimEncodeLocalICAttr(ic, res, top, arg, mode); } -Public char * +char * _XimEncodeICATTRIBUTE( Xic ic, XIMResourceList res_list, @@ -1184,7 +1184,7 @@ _XimEncodeICATTRIBUTE( } #ifdef XIM_CONNECTABLE -Private Bool +static Bool _XimEncodeSavedPreeditValue( Xic ic, XIMResourceList res, @@ -1226,7 +1226,7 @@ _XimEncodeSavedPreeditValue( return True; } -Private Bool +static Bool _XimEncodeSavedStatusValue( Xic ic, XIMResourceList res, @@ -1268,7 +1268,7 @@ _XimEncodeSavedStatusValue( return True; } -Public Bool +Bool _XimEncodeSavedICATTRIBUTE( Xic ic, XIMResourceList res_list, @@ -1379,7 +1379,7 @@ _XimEncodeSavedICATTRIBUTE( } #endif /* XIM_CONNECTABLE */ -Private unsigned int +static unsigned int _XimCountNumberOfAttr( INT16 total, CARD16 *attr, @@ -1404,7 +1404,7 @@ _XimCountNumberOfAttr( return n; } -Public Bool +Bool _XimGetAttributeID( Xim im, CARD16 *buf) diff --git a/libX11/modules/im/ximcp/imThaiFlt.c b/libX11/modules/im/ximcp/imThaiFlt.c index 12e3de265..f134e842e 100644 --- a/libX11/modules/im/ximcp/imThaiFlt.c +++ b/libX11/modules/im/ximcp/imThaiFlt.c @@ -81,7 +81,7 @@ SOFTWARE. /* character classification table */ #define TACTIS_CHARS 256 -Private +static char const tactis_chtype[TACTIS_CHARS] = { CTRL, CTRL, CTRL, CTRL, CTRL, CTRL, CTRL, CTRL, /* 0 - 7 */ CTRL, CTRL, CTRL, CTRL, CTRL, CTRL, CTRL, CTRL, /* 8 - 15 */ @@ -127,7 +127,7 @@ char const tactis_chtype[TACTIS_CHARS] = { #define CH_CLASSES 17 /* 17 classes of chars */ -Private +static char const write_rules_lookup[CH_CLASSES][CH_CLASSES] = { /* Table 0: writing/outputing rules */ /* row: leading char, column: following char */ @@ -151,7 +151,7 @@ char const write_rules_lookup[CH_CLASSES][CH_CLASSES] = { ,{XC, NC, NC, NC, NC, NC, NC, NC, NC, NC, CP, NC, CP, NC, NC, NC, NC}/*AV3*/ }; -Private +static char const wtt_isc1_lookup[CH_CLASSES][CH_CLASSES] = { /* Table 1: WTT default input sequence check rules */ /* row: leading char, column: following char */ @@ -175,7 +175,7 @@ char const wtt_isc1_lookup[CH_CLASSES][CH_CLASSES] = { ,{XC, AC, AC, AC, AC, AC, AC, RJ, RJ, RJ, CP, RJ, CP, RJ, RJ, RJ, RJ}/*AV3*/ }; -Private +static char const wtt_isc2_lookup[CH_CLASSES][CH_CLASSES] = { /* Table 2: WTT strict input sequence check rules */ /* row: leading char, column: following char */ @@ -199,7 +199,7 @@ char const wtt_isc2_lookup[CH_CLASSES][CH_CLASSES] = { ,{XC, AC, AC, AC, RJ, RJ, AC, RJ, RJ, RJ, CP, RJ, CP, RJ, RJ, RJ, RJ}/*AV3*/ }; -Private +static char const thaicat_isc_lookup[CH_CLASSES][CH_CLASSES] = { /* Table 3: Thaicat input sequence check rules */ /* row: leading char, column: following char */ @@ -225,7 +225,7 @@ char const thaicat_isc_lookup[CH_CLASSES][CH_CLASSES] = { /* returns classification of a char */ -Private int +static int THAI_chtype (unsigned char ch) { return tactis_chtype[ch]; @@ -233,7 +233,7 @@ THAI_chtype (unsigned char ch) #ifdef UNUSED /* returns the display level */ -Private int +static int THAI_chlevel (unsigned char ch) { int chlevel; @@ -274,7 +274,7 @@ THAI_chlevel (unsigned char ch) /* return True if char is non-spacing */ -Private Bool +static Bool THAI_isdead (unsigned char ch) { return ((tactis_chtype[ch] == CTRL) || (tactis_chtype[ch] == BV1) || @@ -287,7 +287,7 @@ THAI_isdead (unsigned char ch) /* return True if char is consonant */ -Private Bool +static Bool THAI_iscons (unsigned char ch) { return (tactis_chtype[ch] == CONS); @@ -295,7 +295,7 @@ THAI_iscons (unsigned char ch) /* return True if char is vowel */ -Private Bool +static Bool THAI_isvowel (unsigned char ch) { return ((tactis_chtype[ch] == LV) || (tactis_chtype[ch] == FV1) || @@ -307,14 +307,14 @@ THAI_isvowel (unsigned char ch) /* return True if char is tonemark */ -Private Bool +static Bool THAI_istone (unsigned char ch) { return (tactis_chtype[ch] == TONE); } #endif -Private Bool +static Bool THAI_iscomposible ( unsigned char follow_ch, unsigned char lead_ch) @@ -324,7 +324,7 @@ THAI_iscomposible ( == CP); } -Private Bool +static Bool THAI_isaccepted ( unsigned char follow_ch, unsigned char lead_ch, @@ -355,7 +355,7 @@ THAI_isaccepted ( } #ifdef UNUSED -Private void +static void THAI_apply_write_rules( unsigned char *instr, unsigned char *outstr, @@ -401,7 +401,7 @@ Output parameters: } } -Private int +static int THAI_find_chtype ( unsigned char *instr, int chtype) @@ -430,7 +430,7 @@ Output parameters: } -Private int +static int THAI_apply_scm( unsigned char *instr, unsigned char *outstr, @@ -466,33 +466,33 @@ THAI_apply_scm( /* The following functions are copied from XKeyBind.c */ -Private void ComputeMaskFromKeytrans(); -Private int IsCancelComposeKey(KeySym *symbol, XKeyEvent *event); -Private void SetLed(Display *dpy, int num, int state); -Private CARD8 FindKeyCode(); +static void ComputeMaskFromKeytrans(); +static int IsCancelComposeKey(KeySym *symbol, XKeyEvent *event); +static void SetLed(Display *dpy, int num, int state); +static CARD8 FindKeyCode(); /* The following functions are specific to this module */ -Private int XThaiTranslateKey(); -Private int XThaiTranslateKeySym(); +static int XThaiTranslateKey(); +static int XThaiTranslateKeySym(); -Private KeySym HexIMNormalKey( +static KeySym HexIMNormalKey( XicThaiPart *thai_part, KeySym symbol, XKeyEvent *event); -Private KeySym HexIMFirstComposeKey( +static KeySym HexIMFirstComposeKey( XicThaiPart *thai_part, KeySym symbol, XKeyEvent *event); -Private KeySym HexIMSecondComposeKey( +static KeySym HexIMSecondComposeKey( XicThaiPart *thai_part, KeySym symbol XKeyEvent *event); -Private KeySym HexIMComposeSequence(KeySym ks1, KeySym ks2); -Private void InitIscMode(Xic ic); -Private Bool ThaiComposeConvert( +static KeySym HexIMComposeSequence(KeySym ks1, KeySym ks2); +static void InitIscMode(Xic ic); +static Bool ThaiComposeConvert( Display *dpy, KeySym insym, KeySym *outsym, KeySym *lower, KeySym *upper); @@ -530,7 +530,7 @@ Private Bool ThaiComposeConvert( #define IC_DeletePreviousChar(ic) \ (IC_RealDeletePreviousChar(ic)) -Private unsigned char +static unsigned char IC_RealGetPreviousChar(Xic ic, unsigned short pos) { XICCallback* cb = &ic->core.string_conversion_callback; @@ -597,7 +597,7 @@ IC_RealGetPreviousChar(Xic ic, unsigned short pos) } } -Private unsigned char +static unsigned char IC_RealDeletePreviousChar(Xic ic) { XICCallback* cb = &ic->core.string_conversion_callback; @@ -701,8 +701,8 @@ typedef KeySym (*StateProc)( * State handler to implement the Thai hex input method. */ -Private int const nstate_handlers = 3; -Private StateProc state_handler[] = { +static int const nstate_handlers = 3; +static StateProc state_handler[] = { HexIMNormalKey, HexIMFirstComposeKey, HexIMSecondComposeKey @@ -718,7 +718,7 @@ struct _XMapThaiKey { KeySym to; }; -Private struct _XMapThaiKey const ThaiComposeTable[] = { +static struct _XMapThaiKey const ThaiComposeTable[] = { { /* 0xa4 */ XK_currency, /* 0xa5 */ XK_yen }, { /* 0xa2 */ XK_cent, /* 0xa3 */ XK_sterling }, { /* 0xe6 */ XK_ae, /* 0xef */ XK_idiaeresis }, @@ -742,7 +742,7 @@ struct _XKeytrans { /* Convert keysym to 'Thai Compose' keysym */ /* The current implementation use latin-1 keysyms */ -Private Bool +static Bool ThaiComposeConvert( Display *dpy, KeySym insym, @@ -762,7 +762,7 @@ ThaiComposeConvert( return False; } -Private int +static int XThaiTranslateKey( register Display *dpy, KeyCode keycode, @@ -847,7 +847,7 @@ XThaiTranslateKey( * Should be changed to TACTIS keysyms when they are defined by the * standard. */ -Private int +static int XThaiTranslateKeySym( Display *dpy, register KeySym symbol, @@ -956,7 +956,7 @@ XThaiTranslateKeySym( /* * given a KeySym, returns the first keycode containing it, if any. */ -Private CARD8 +static CARD8 FindKeyCode( register Display *dpy, register KeySym code) @@ -980,7 +980,7 @@ FindKeyCode( * what modifier it is bound to, if any. Sets the AnyModifier bit if it * can't map some keysym to a modifier. */ -Private void +static void ComputeMaskFromKeytrans( Display *dpy, register struct _XKeytrans *p) @@ -1020,7 +1020,7 @@ ComputeMaskFromKeytrans( #define FIRST_COMPOSE_KEY_STATE 1 #define SECOND_COMPOSE_KEY_STATE 2 -Private +static KeySym HexIMNormalKey( XicThaiPart *thai_part, KeySym symbol, @@ -1036,7 +1036,7 @@ KeySym HexIMNormalKey( } -Private +static KeySym HexIMFirstComposeKey( XicThaiPart *thai_part, KeySym symbol, @@ -1059,7 +1059,7 @@ KeySym HexIMFirstComposeKey( return NoSymbol; } -Private +static KeySym HexIMSecondComposeKey( XicThaiPart *thai_part, KeySym symbol, @@ -1094,7 +1094,7 @@ KeySym HexIMSecondComposeKey( * The current implementation of this routine returns ISO Latin Keysyms. */ -Private +static KeySym HexIMComposeSequence(KeySym ks1, KeySym ks2) { int hi_digit; @@ -1131,7 +1131,7 @@ int tactis_code; * 2) whether cancelling key event should be processed or ignored */ -Private +static int IsCancelComposeKey( KeySym *symbol, XKeyEvent *event) @@ -1163,7 +1163,7 @@ int IsCancelComposeKey( * set specified keyboard LED on or off */ -Private +static void SetLed( Display *dpy, int num, @@ -1180,7 +1180,7 @@ void SetLed( /* * Initialize ISC mode from im modifier */ -Private void InitIscMode(Xic ic) +static void InitIscMode(Xic ic) { Xim im; char *im_modifier_name; @@ -1213,7 +1213,7 @@ Private void InitIscMode(Xic ic) /* * Helper functions for _XimThaiFilter() */ -Private Bool +static Bool ThaiFltAcceptInput(Xic ic, unsigned char new_char, KeySym symbol) { DefTreeBase *b = &ic->private.local.base; @@ -1228,7 +1228,7 @@ ThaiFltAcceptInput(Xic ic, unsigned char new_char, KeySym symbol) return True; } -Private Bool +static Bool ThaiFltReorderInput(Xic ic, unsigned char previous_char, unsigned char new_char) { DefTreeBase *b = &ic->private.local.base; @@ -1242,7 +1242,7 @@ ThaiFltReorderInput(Xic ic, unsigned char previous_char, unsigned char new_char) return True; } -Private Bool +static Bool ThaiFltReplaceInput(Xic ic, unsigned char new_char, KeySym symbol) { DefTreeBase *b = &ic->private.local.base; @@ -1258,7 +1258,7 @@ ThaiFltReplaceInput(Xic ic, unsigned char new_char, KeySym symbol) return True; } -Private unsigned +static unsigned NumLockMask(Display *d) { int i; diff --git a/libX11/modules/im/ximcp/imThaiIc.c b/libX11/modules/im/ximcp/imThaiIc.c index 95433f3d7..a21fa2cb4 100644 --- a/libX11/modules/im/ximcp/imThaiIc.c +++ b/libX11/modules/im/ximcp/imThaiIc.c @@ -42,7 +42,7 @@ THIS SOFTWARE. #include "Xlcint.h" #include "Ximint.h" -Private void +static void _XimThaiUnSetFocus( XIC xic) { @@ -55,7 +55,7 @@ _XimThaiUnSetFocus( return; } -Private void +static void _XimThaiDestroyIC( XIC xic) { @@ -81,7 +81,7 @@ _XimThaiDestroyIC( return; } -Private void +static void _XimThaiSetFocus( XIC xic) { @@ -102,7 +102,7 @@ _XimThaiSetFocus( return; } -Private void +static void _XimThaiReset( XIC xic) { @@ -115,7 +115,7 @@ _XimThaiReset( b->utf8[b->tree[ic->private.local.composed].utf8] = '\0'; } -Private char * +static char * _XimThaiMbReset( XIC xic) { @@ -123,7 +123,7 @@ _XimThaiMbReset( return (char *)NULL; } -Private wchar_t * +static wchar_t * _XimThaiWcReset( XIC xic) { @@ -131,7 +131,7 @@ _XimThaiWcReset( return (wchar_t *)NULL; } -Private XICMethodsRec Thai_ic_methods = { +static XICMethodsRec Thai_ic_methods = { _XimThaiDestroyIC, /* destroy */ _XimThaiSetFocus, /* set_focus */ _XimThaiUnSetFocus, /* unset_focus */ diff --git a/libX11/modules/im/ximcp/imThaiIm.c b/libX11/modules/im/ximcp/imThaiIm.c index 45c690bbc..793ed36e0 100644 --- a/libX11/modules/im/ximcp/imThaiIm.c +++ b/libX11/modules/im/ximcp/imThaiIm.c @@ -1,235 +1,235 @@ -/****************************************************************** - - Copyright 1992, 1993, 1994 by FUJITSU LIMITED - Copyright 1993 by Digital Equipment Corporation - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of FUJITSU LIMITED and -Digital Equipment Corporation not be used in advertising or publicity -pertaining to distribution of the software without specific, written -prior permission. FUJITSU LIMITED and Digital Equipment Corporation -makes no representations about the suitability of this software for -any purpose. It is provided "as is" without express or implied -warranty. - -FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL -WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR -ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER -IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF -THIS SOFTWARE. - - Author: Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - Modifier: Franky Ling Digital Equipment Corporation - frankyling@hgrd01.enet.dec.com - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include -#include -#include -#include -#include -#include "Xlibint.h" -#include "Xlcint.h" -#include "XlcPublic.h" -#include "XlcPubI.h" -#include "Ximint.h" - -Private XIMMethodsRec Xim_im_thai_methods = { - _XimThaiCloseIM, /* close */ - _XimLocalSetIMValues, /* set_values */ - _XimLocalGetIMValues, /* get_values */ - _XimThaiCreateIC, /* create_ic */ - _XimLcctstombs, /* ctstombs */ - _XimLcctstowcs, /* ctstowcs */ - _XimLcctstoutf8 /* ctstoutf8 */ -}; - -#define THAI_LANGUAGE_NAME "th" - -Bool -_XimCheckIfThaiProcessing(Xim im) -{ - char *language; - - _XGetLCValues(im->core.lcd, XlcNLanguage, &language, NULL); - if(strcmp(language, THAI_LANGUAGE_NAME) == 0 && - (strcmp(im->core.im_name, "") == 0 || - strcmp(im->core.im_name, "BasicCheck") == 0 || - strcmp(im->core.im_name, "Strict") == 0 || - strcmp(im->core.im_name, "Thaicat") == 0 || - strcmp(im->core.im_name, "Passthrough") == 0)) - { - return(True); - } - return(False); -} - -Public Bool -_XimThaiOpenIM(Xim im) -{ - XLCd lcd = im->core.lcd; - XlcConv conv; - XimDefIMValues im_values; - XimLocalPrivateRec* private = &im->private.local; - - _XimInitialResourceInfo(); - if(_XimSetIMResourceList(&im->core.im_resources, - &im->core.im_num_resources) == False) { - goto Open_Error; - } - if(_XimSetICResourceList(&im->core.ic_resources, - &im->core.ic_num_resources) == False) { - goto Open_Error; - } - - _XimSetIMMode(im->core.im_resources, im->core.im_num_resources); - - _XimGetCurrentIMValues(im, &im_values); - if(_XimSetLocalIMDefaults(im, (XPointer)&im_values, - im->core.im_resources, im->core.im_num_resources) == False) { - goto Open_Error; - } - _XimSetCurrentIMValues(im, &im_values); - - if (!(conv = _XlcOpenConverter(lcd, XlcNCompoundText, lcd, XlcNMultiByte))) - goto Open_Error; - private->ctom_conv = conv; - - if (!(conv = _XlcOpenConverter(lcd, XlcNCompoundText, lcd, XlcNWideChar))) - goto Open_Error; - private->ctow_conv = conv; - - if (!(conv = _XlcOpenConverter(lcd, XlcNCompoundText, lcd, XlcNUtf8String))) - goto Open_Error; - private->ctoutf8_conv = conv; - - if (!(conv = _XlcOpenConverter(lcd, XlcNCharSet, lcd, XlcNMultiByte))) - goto Open_Error; - private->cstomb_conv = conv; - - if (!(conv = _XlcOpenConverter(lcd, XlcNCharSet, lcd, XlcNWideChar))) - goto Open_Error; - private->cstowc_conv = conv; - - if (!(conv = _XlcOpenConverter(lcd, XlcNCharSet, lcd, XlcNUtf8String))) - goto Open_Error; - private->cstoutf8_conv = conv; - - if (!(conv = _XlcOpenConverter(lcd, XlcNUcsChar, lcd, XlcNChar))) - goto Open_Error; - private->ucstoc_conv = conv; - - if (!(conv = _XlcOpenConverter(lcd, XlcNUcsChar, lcd, XlcNUtf8String))) - goto Open_Error; - private->ucstoutf8_conv = conv; - - im->methods = &Xim_im_thai_methods; - private->current_ic = (XIC)NULL; - - return(True); - -Open_Error : - _XimThaiIMFree(im); - return(False); -} - -Public void -_XimThaiIMFree(Xim im) -{ - if(im->core.im_resources) { - Xfree(im->core.im_resources); - im->core.im_resources = NULL; - } - if(im->core.ic_resources) { - Xfree(im->core.ic_resources); - im->core.ic_resources = NULL; - } - if(im->core.im_values_list) { - Xfree(im->core.im_values_list); - im->core.im_values_list = NULL; - } - if(im->core.ic_values_list) { - Xfree(im->core.ic_values_list); - im->core.ic_values_list = NULL; - } - if(im->core.styles) { - Xfree(im->core.styles); - im->core.styles = NULL; - } - if(im->core.res_name) { - Xfree(im->core.res_name); - im->core.res_name = NULL; - } - if(im->core.res_class) { - Xfree(im->core.res_class); - im->core.res_class = NULL; - } - if(im->core.im_name) { - Xfree(im->core.im_name); - im->core.im_name = NULL; - } - if (im->private.local.ctom_conv) { - _XlcCloseConverter(im->private.local.ctom_conv); - im->private.local.ctom_conv = NULL; - } - if (im->private.local.ctow_conv) { - _XlcCloseConverter(im->private.local.ctow_conv); - im->private.local.ctow_conv = NULL; - } - if (im->private.local.ctoutf8_conv) { - _XlcCloseConverter(im->private.local.ctoutf8_conv); - im->private.local.ctoutf8_conv = NULL; - } - if (im->private.local.cstomb_conv) { - _XlcCloseConverter(im->private.local.cstomb_conv); - im->private.local.cstomb_conv = NULL; - } - if (im->private.local.cstowc_conv) { - _XlcCloseConverter(im->private.local.cstowc_conv); - im->private.local.cstowc_conv = NULL; - } - if (im->private.local.cstoutf8_conv) { - _XlcCloseConverter(im->private.local.cstoutf8_conv); - im->private.local.cstoutf8_conv = NULL; - } - if (im->private.local.ucstoc_conv) { - _XlcCloseConverter(im->private.local.ucstoc_conv); - im->private.local.ucstoc_conv = NULL; - } - if (im->private.local.ucstoutf8_conv) { - _XlcCloseConverter(im->private.local.ucstoutf8_conv); - im->private.local.ucstoutf8_conv = NULL; - } - return; -} - -Public Status -_XimThaiCloseIM(XIM xim) -{ - Xim im = (Xim)xim; - XIC ic; - XIC next; - - ic = im->core.ic_chain; - im->core.ic_chain = NULL; - while (ic) { - (*ic->methods->destroy) (ic); - next = ic->core.next; - Xfree ((char *) ic); - ic = next; - } - _XimThaiIMFree(im); - return(True); -} +/****************************************************************** + + Copyright 1992, 1993, 1994 by FUJITSU LIMITED + Copyright 1993 by Digital Equipment Corporation + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of FUJITSU LIMITED and +Digital Equipment Corporation not be used in advertising or publicity +pertaining to distribution of the software without specific, written +prior permission. FUJITSU LIMITED and Digital Equipment Corporation +makes no representations about the suitability of this software for +any purpose. It is provided "as is" without express or implied +warranty. + +FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION DISCLAIM ALL +WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +FUJITSU LIMITED AND DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR +ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER +IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +THIS SOFTWARE. + + Author: Takashi Fujiwara FUJITSU LIMITED + fujiwara@a80.tech.yk.fujitsu.co.jp + Modifier: Franky Ling Digital Equipment Corporation + frankyling@hgrd01.enet.dec.com + +******************************************************************/ + +#ifdef HAVE_CONFIG_H +#include +#endif +#include +#include +#include +#include +#include +#include "Xlibint.h" +#include "Xlcint.h" +#include "XlcPublic.h" +#include "XlcPubI.h" +#include "Ximint.h" + +static XIMMethodsRec Xim_im_thai_methods = { + _XimThaiCloseIM, /* close */ + _XimLocalSetIMValues, /* set_values */ + _XimLocalGetIMValues, /* get_values */ + _XimThaiCreateIC, /* create_ic */ + _XimLcctstombs, /* ctstombs */ + _XimLcctstowcs, /* ctstowcs */ + _XimLcctstoutf8 /* ctstoutf8 */ +}; + +#define THAI_LANGUAGE_NAME "th" + +Bool +_XimCheckIfThaiProcessing(Xim im) +{ + char *language; + + _XGetLCValues(im->core.lcd, XlcNLanguage, &language, NULL); + if(strcmp(language, THAI_LANGUAGE_NAME) == 0 && + (strcmp(im->core.im_name, "") == 0 || + strcmp(im->core.im_name, "BasicCheck") == 0 || + strcmp(im->core.im_name, "Strict") == 0 || + strcmp(im->core.im_name, "Thaicat") == 0 || + strcmp(im->core.im_name, "Passthrough") == 0)) + { + return(True); + } + return(False); +} + +Bool +_XimThaiOpenIM(Xim im) +{ + XLCd lcd = im->core.lcd; + XlcConv conv; + XimDefIMValues im_values; + XimLocalPrivateRec* private = &im->private.local; + + _XimInitialResourceInfo(); + if(_XimSetIMResourceList(&im->core.im_resources, + &im->core.im_num_resources) == False) { + goto Open_Error; + } + if(_XimSetICResourceList(&im->core.ic_resources, + &im->core.ic_num_resources) == False) { + goto Open_Error; + } + + _XimSetIMMode(im->core.im_resources, im->core.im_num_resources); + + _XimGetCurrentIMValues(im, &im_values); + if(_XimSetLocalIMDefaults(im, (XPointer)&im_values, + im->core.im_resources, im->core.im_num_resources) == False) { + goto Open_Error; + } + _XimSetCurrentIMValues(im, &im_values); + + if (!(conv = _XlcOpenConverter(lcd, XlcNCompoundText, lcd, XlcNMultiByte))) + goto Open_Error; + private->ctom_conv = conv; + + if (!(conv = _XlcOpenConverter(lcd, XlcNCompoundText, lcd, XlcNWideChar))) + goto Open_Error; + private->ctow_conv = conv; + + if (!(conv = _XlcOpenConverter(lcd, XlcNCompoundText, lcd, XlcNUtf8String))) + goto Open_Error; + private->ctoutf8_conv = conv; + + if (!(conv = _XlcOpenConverter(lcd, XlcNCharSet, lcd, XlcNMultiByte))) + goto Open_Error; + private->cstomb_conv = conv; + + if (!(conv = _XlcOpenConverter(lcd, XlcNCharSet, lcd, XlcNWideChar))) + goto Open_Error; + private->cstowc_conv = conv; + + if (!(conv = _XlcOpenConverter(lcd, XlcNCharSet, lcd, XlcNUtf8String))) + goto Open_Error; + private->cstoutf8_conv = conv; + + if (!(conv = _XlcOpenConverter(lcd, XlcNUcsChar, lcd, XlcNChar))) + goto Open_Error; + private->ucstoc_conv = conv; + + if (!(conv = _XlcOpenConverter(lcd, XlcNUcsChar, lcd, XlcNUtf8String))) + goto Open_Error; + private->ucstoutf8_conv = conv; + + im->methods = &Xim_im_thai_methods; + private->current_ic = (XIC)NULL; + + return(True); + +Open_Error : + _XimThaiIMFree(im); + return(False); +} + +void +_XimThaiIMFree(Xim im) +{ + if(im->core.im_resources) { + Xfree(im->core.im_resources); + im->core.im_resources = NULL; + } + if(im->core.ic_resources) { + Xfree(im->core.ic_resources); + im->core.ic_resources = NULL; + } + if(im->core.im_values_list) { + Xfree(im->core.im_values_list); + im->core.im_values_list = NULL; + } + if(im->core.ic_values_list) { + Xfree(im->core.ic_values_list); + im->core.ic_values_list = NULL; + } + if(im->core.styles) { + Xfree(im->core.styles); + im->core.styles = NULL; + } + if(im->core.res_name) { + Xfree(im->core.res_name); + im->core.res_name = NULL; + } + if(im->core.res_class) { + Xfree(im->core.res_class); + im->core.res_class = NULL; + } + if(im->core.im_name) { + Xfree(im->core.im_name); + im->core.im_name = NULL; + } + if (im->private.local.ctom_conv) { + _XlcCloseConverter(im->private.local.ctom_conv); + im->private.local.ctom_conv = NULL; + } + if (im->private.local.ctow_conv) { + _XlcCloseConverter(im->private.local.ctow_conv); + im->private.local.ctow_conv = NULL; + } + if (im->private.local.ctoutf8_conv) { + _XlcCloseConverter(im->private.local.ctoutf8_conv); + im->private.local.ctoutf8_conv = NULL; + } + if (im->private.local.cstomb_conv) { + _XlcCloseConverter(im->private.local.cstomb_conv); + im->private.local.cstomb_conv = NULL; + } + if (im->private.local.cstowc_conv) { + _XlcCloseConverter(im->private.local.cstowc_conv); + im->private.local.cstowc_conv = NULL; + } + if (im->private.local.cstoutf8_conv) { + _XlcCloseConverter(im->private.local.cstoutf8_conv); + im->private.local.cstoutf8_conv = NULL; + } + if (im->private.local.ucstoc_conv) { + _XlcCloseConverter(im->private.local.ucstoc_conv); + im->private.local.ucstoc_conv = NULL; + } + if (im->private.local.ucstoutf8_conv) { + _XlcCloseConverter(im->private.local.ucstoutf8_conv); + im->private.local.ucstoutf8_conv = NULL; + } + return; +} + +Status +_XimThaiCloseIM(XIM xim) +{ + Xim im = (Xim)xim; + XIC ic; + XIC next; + + ic = im->core.ic_chain; + im->core.ic_chain = NULL; + while (ic) { + (*ic->methods->destroy) (ic); + next = ic->core.next; + Xfree ((char *) ic); + ic = next; + } + _XimThaiIMFree(im); + return(True); +} diff --git a/libX11/modules/im/ximcp/imTrX.c b/libX11/modules/im/ximcp/imTrX.c index d85d1d114..1412d7046 100644 --- a/libX11/modules/im/ximcp/imTrX.c +++ b/libX11/modules/im/ximcp/imTrX.c @@ -60,7 +60,7 @@ PERFORMANCE OF THIS SOFTWARE. #include "XimTrInt.h" #include "XimTrX.h" -Private Bool +static Bool _XimXRegisterDispatcher( Xim im, Bool (*callback)( @@ -81,7 +81,7 @@ _XimXRegisterDispatcher( return True; } -Private void +static void _XimXFreeIntrCallback( Xim im) { @@ -96,7 +96,7 @@ _XimXFreeIntrCallback( return; } -Private Bool +static Bool _XimXCallDispatcher(Xim im, INT16 len, XPointer data) { register XIntrCallbackRec *rec; @@ -109,7 +109,7 @@ _XimXCallDispatcher(Xim im, INT16 len, XPointer data) return False; } -Private Bool +static Bool _XimXFilterWaitEvent( Display *d, Window w, @@ -137,7 +137,7 @@ _XimXFilterWaitEvent( return ret; } -Private Bool +static Bool _CheckConnect( Display *display, XEvent *event, @@ -153,7 +153,7 @@ _CheckConnect( return False; } -Private Bool +static Bool _XimXConnect(Xim im) { XEvent event; @@ -224,7 +224,7 @@ _XimXConnect(Xim im) return True; } -Private Bool +static Bool _XimXShutdown(Xim im) { XSpecRec *spec = (XSpecRec *)im->private.proto.spec; @@ -244,7 +244,7 @@ _XimXShutdown(Xim im) return True; } -Private char * +static char * _NewAtom( char *atomName) { @@ -255,7 +255,7 @@ _NewAtom( return atomName; } -Private Bool +static Bool _XimXWrite(Xim im, INT16 len, XPointer data) { Atom atom; @@ -316,7 +316,7 @@ _XimXWrite(Xim im, INT16 len, XPointer data) return True; } -Private Bool +static Bool _XimXGetReadData( Xim im, char *buf, @@ -440,7 +440,7 @@ _XimXGetReadData( return True; } -Private Bool +static Bool _CheckCMEvent( Display *display, XEvent *event, @@ -461,7 +461,7 @@ _CheckCMEvent( return False; } -Private Bool +static Bool _XimXRead(Xim im, XPointer recv_buf, int buf_len, int *ret_len) { XEvent *ev; @@ -484,14 +484,14 @@ _XimXRead(Xim im, XPointer recv_buf, int buf_len, int *ret_len) return True; } -Private void +static void _XimXFlush(Xim im) { XFlush(im->core.display); return; } -Public Bool +Bool _XimXConf(Xim im, char *address) { XSpecRec *spec; diff --git a/libX11/modules/im/ximcp/imTrans.c b/libX11/modules/im/ximcp/imTrans.c index 0ac08aa60..4bdecb2ef 100644 --- a/libX11/modules/im/ximcp/imTrans.c +++ b/libX11/modules/im/ximcp/imTrans.c @@ -72,7 +72,7 @@ PERFORMANCE OF THIS SOFTWARE. #endif -Private Bool +static Bool _XimTransConnect( Xim im) { @@ -122,7 +122,7 @@ _XimTransConnect( } -Private Bool +static Bool _XimTransShutdown( Xim im) { @@ -142,7 +142,7 @@ _XimTransShutdown( -Public Bool +Bool _XimTransRegisterDispatcher( Xim im, Bool (*callback)( @@ -164,7 +164,7 @@ _XimTransRegisterDispatcher( } -Public void +void _XimFreeTransIntrCallback( Xim im) { @@ -180,7 +180,7 @@ _XimFreeTransIntrCallback( } -Public Bool +Bool _XimTransCallDispatcher(Xim im, INT16 len, XPointer data) { TransSpecRec *spec = (TransSpecRec *)im->private.proto.spec; @@ -194,7 +194,7 @@ _XimTransCallDispatcher(Xim im, INT16 len, XPointer data) } -Public Bool +Bool _XimTransFilterWaitEvent( Display *d, Window w, @@ -209,7 +209,7 @@ _XimTransFilterWaitEvent( } -Public void +void _XimTransInternalConnection( Display *d, int fd, @@ -235,7 +235,7 @@ _XimTransInternalConnection( } -Public Bool +Bool _XimTransWrite(Xim im, INT16 len, XPointer data) { TransSpecRec *spec = (TransSpecRec *)im->private.proto.spec; @@ -252,7 +252,7 @@ _XimTransWrite(Xim im, INT16 len, XPointer data) } -Public Bool +Bool _XimTransRead( Xim im, XPointer recv_buf, @@ -273,7 +273,7 @@ _XimTransRead( } -Public void +void _XimTransFlush( Xim im) { @@ -282,7 +282,7 @@ _XimTransFlush( -Public Bool +Bool _XimTransConf( Xim im, char *address) diff --git a/libX11/modules/im/ximcp/imTransR.c b/libX11/modules/im/ximcp/imTransR.c index b8bad59a4..1fd008870 100644 --- a/libX11/modules/im/ximcp/imTransR.c +++ b/libX11/modules/im/ximcp/imTransR.c @@ -1,312 +1,312 @@ -/* - * Copyright 1992 Oracle and/or its affiliates. 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 (including the next - * paragraph) 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. - */ -/****************************************************************** - - Copyright 1992, 1993, 1994 by FUJITSU LIMITED - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and -that both that copyright notice and this permission notice appear -in supporting documentation, and that the name of FUJITSU LIMITED -not be used in advertising or publicity pertaining to distribution -of the software without specific, written prior permission. -FUJITSU LIMITED makes no representations about the suitability of -this software for any purpose. -It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR -CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF -USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc. - Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - -******************************************************************/ - -#ifdef HAVE_CONFIG_H -#include -#endif -#include "Xlibint.h" -#include "Xlcint.h" -#include "XimTrInt.h" -#include "Ximint.h" - -Public TransportSW _XimTransportRec[] = { - { "X", _XimXConf }, /* 1st entry must be X. - This will be a fallback */ -#ifdef TCPCONN - { "tcp", _XimTransConf }, /* use X transport lib */ -#endif /* TCPCONN */ -#if defined(UNIXCONN) || defined(LOCALCONN) - { "local", _XimTransConf }, /* use X transport lib */ -#endif /* UNIXCONN */ -#ifdef DNETCONN - { "dnet", _XimTransConf }, /* use X transport lib */ -#endif /* DNETCONN */ -#ifdef STREAMSCONN - { "streams", _XimTransConf }, /* use X transport lib */ -#endif /* STREAMSCONN */ - { (char *)NULL, (Bool (*)(Xim, char *))NULL }, -}; - -Public Bool -_XimConnect(Xim im) -{ - return im->private.proto.connect(im); -} - -Public Bool -_XimShutdown(Xim im) -{ - return im->private.proto.shutdown(im); -} - -Public Bool -_XimWrite(Xim im, INT16 len, XPointer data) -{ - return im->private.proto.write(im, len, data); -} - -Private int -_CheckProtocolData( - Xim im, - char *recv_buf) -{ - int data_len; - - data_len = (int)(((*((CARD16 *)recv_buf + 1)) * 4) + XIM_HEADER_SIZE); - return data_len; -} - -Private int -_XimReadData( - Xim im, - INT16 *len, - XPointer buf, - int buf_size) -{ - char *hold_buf; - char *tmp; - int data_len; - int packet_size; - int ret_len; - register int i; - - if (buf_size < XIM_HEADER_SIZE) { - *len = (INT16)XIM_HEADER_SIZE; - return XIM_OVERFLOW; - } - - bzero(buf, buf_size); - packet_size = 0; - data_len = 0; - - if ((hold_buf = im->private.proto.hold_data)) { - data_len = im->private.proto.hold_data_len; - if (data_len >= XIM_HEADER_SIZE) { - packet_size = _CheckProtocolData(im, hold_buf); - if (packet_size > buf_size) { - *len = (INT16)packet_size; - return XIM_OVERFLOW; - } - if (packet_size <= data_len) { - memcpy(buf, hold_buf, packet_size); - for (i = packet_size; i < data_len; i++) { - if (hold_buf[i]) - break; - } - data_len -= i; - - if (data_len) { - if (!(tmp = (char *)Xmalloc(data_len))) { - return XIM_FALSE; - } - memcpy(tmp, &hold_buf[i], data_len); - im->private.proto.hold_data = tmp; - im->private.proto.hold_data_len = data_len; - } else { - im->private.proto.hold_data = 0; - im->private.proto.hold_data_len = 0; - } - Xfree(hold_buf); - *len = (INT16)packet_size; - return XIM_TRUE; - } - } - memcpy(buf, hold_buf, data_len); - buf_size -= data_len; - Xfree(hold_buf); - im->private.proto.hold_data = 0; - im->private.proto.hold_data_len = 0; - } - - if (!packet_size) { - while (data_len < XIM_HEADER_SIZE) { - if (!(im->private.proto.read(im, - (XPointer)&buf[data_len], buf_size, &ret_len))) { - return XIM_FALSE; - } - data_len += ret_len; - buf_size -= ret_len; - } - packet_size = _CheckProtocolData(im, buf); - } - - if (packet_size > buf_size) { - if (!(tmp = (char *)Xmalloc(data_len))) { - return XIM_FALSE; - } - memcpy(tmp, buf, data_len); - bzero(buf, data_len); - im->private.proto.hold_data = tmp; - im->private.proto.hold_data_len = data_len; - *len = (INT16)packet_size; - return XIM_OVERFLOW; - } - - while (data_len < packet_size) { - if (!(im->private.proto.read(im, - (XPointer)&buf[data_len], buf_size, &ret_len))) { - return XIM_FALSE; - } - data_len += ret_len; - buf_size -= ret_len; - } - - for (i = packet_size; i < data_len; i++) { - if (buf[i]) - break; - } - data_len -= i; - - if (data_len) { - if (!(tmp = (char *)Xmalloc(data_len))) { - return XIM_FALSE; - } - memcpy(tmp, &buf[i], data_len); - bzero(&buf[i], data_len); - im->private.proto.hold_data = tmp; - im->private.proto.hold_data_len = data_len; - } else { - im->private.proto.hold_data = 0; - im->private.proto.hold_data_len = 0; - } - *len = (INT16)packet_size; - return XIM_TRUE; -} - -Private Bool -_XimCallDispatcher( - Xim im, - INT16 len, - XPointer data) -{ - return im->private.proto.call_dispatcher(im, len, data); -} - -Public int -_XimRead(Xim im, INT16 *len, XPointer buf, int buf_size, - Bool (*predicate)(Xim, INT16, XPointer, XPointer), XPointer arg) -{ - INT16 read_len; - int ret_code; - - for (;;) { - ret_code = _XimReadData(im, &read_len, buf, buf_size); - if(ret_code != XIM_TRUE) { - return ret_code; - } - if ((*predicate)(im, read_len, buf, arg)) - break; - if (_XimCallDispatcher(im, read_len, buf)) - continue; - _XimError(im, 0, XIM_BadProtocol, (INT16)0, (CARD16)0, (char *)NULL); - } - *len = read_len; - return True; -} - -Public Bool -_XimRegisterDispatcher( - Xim im, - Bool (*callback)( - Xim, INT16, XPointer, XPointer - ), - XPointer call_data) -{ - return im->private.proto.register_dispatcher(im, callback, call_data); -} - -Public void -_XimFlush(Xim im) -{ - im->private.proto.flush(im); - return; -} - -Public Bool -_XimFilterWaitEvent(Xim im) -{ - INT16 read_len; - CARD32 reply32[BUFSIZE/4]; - char *reply = (char *)reply32; - XPointer preply; - int buf_size; - int ret_code; - - buf_size = BUFSIZE; - ret_code = _XimReadData(im, &read_len, (XPointer)reply, buf_size); - if(ret_code == XIM_TRUE) { - preply = reply; - } else if(ret_code == XIM_OVERFLOW) { - if(read_len <= 0) { - preply = reply; - } else { - buf_size = (int)read_len; - preply = (XPointer)Xmalloc(buf_size); - ret_code = _XimReadData(im, &read_len, preply, buf_size); - if(ret_code != XIM_TRUE) { - if (preply != reply) - Xfree(preply); - return False; - } - } - } else { - return False; - } - if (_XimCallDispatcher(im, read_len, preply)) { - if(reply != preply) - Xfree(preply); - return True; - } - _XimError(im, 0, XIM_BadProtocol, (INT16)0, (CARD16)0, (char *)NULL); - if(reply != preply) - Xfree(preply); - return True; -} +/* + * Copyright 1992 Oracle and/or its affiliates. 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 (including the next + * paragraph) 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. + */ +/****************************************************************** + + Copyright 1992, 1993, 1994 by FUJITSU LIMITED + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and +that both that copyright notice and this permission notice appear +in supporting documentation, and that the name of FUJITSU LIMITED +not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. +FUJITSU LIMITED makes no representations about the suitability of +this software for any purpose. +It is provided "as is" without express or implied warranty. + +FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR +CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF +USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + Author: Hideki Hiura (hhiura@Sun.COM) Sun Microsystems, Inc. + Takashi Fujiwara FUJITSU LIMITED + fujiwara@a80.tech.yk.fujitsu.co.jp + +******************************************************************/ + +#ifdef HAVE_CONFIG_H +#include +#endif +#include "Xlibint.h" +#include "Xlcint.h" +#include "XimTrInt.h" +#include "Ximint.h" + +TransportSW _XimTransportRec[] = { + { "X", _XimXConf }, /* 1st entry must be X. + This will be a fallback */ +#ifdef TCPCONN + { "tcp", _XimTransConf }, /* use X transport lib */ +#endif /* TCPCONN */ +#if defined(UNIXCONN) || defined(LOCALCONN) + { "local", _XimTransConf }, /* use X transport lib */ +#endif /* UNIXCONN */ +#ifdef DNETCONN + { "dnet", _XimTransConf }, /* use X transport lib */ +#endif /* DNETCONN */ +#ifdef STREAMSCONN + { "streams", _XimTransConf }, /* use X transport lib */ +#endif /* STREAMSCONN */ + { (char *)NULL, (Bool (*)(Xim, char *))NULL }, +}; + +Bool +_XimConnect(Xim im) +{ + return im->private.proto.connect(im); +} + +Bool +_XimShutdown(Xim im) +{ + return im->private.proto.shutdown(im); +} + +Bool +_XimWrite(Xim im, INT16 len, XPointer data) +{ + return im->private.proto.write(im, len, data); +} + +static int +_CheckProtocolData( + Xim im, + char *recv_buf) +{ + int data_len; + + data_len = (int)(((*((CARD16 *)recv_buf + 1)) * 4) + XIM_HEADER_SIZE); + return data_len; +} + +static int +_XimReadData( + Xim im, + INT16 *len, + XPointer buf, + int buf_size) +{ + char *hold_buf; + char *tmp; + int data_len; + int packet_size; + int ret_len; + register int i; + + if (buf_size < XIM_HEADER_SIZE) { + *len = (INT16)XIM_HEADER_SIZE; + return XIM_OVERFLOW; + } + + bzero(buf, buf_size); + packet_size = 0; + data_len = 0; + + if ((hold_buf = im->private.proto.hold_data)) { + data_len = im->private.proto.hold_data_len; + if (data_len >= XIM_HEADER_SIZE) { + packet_size = _CheckProtocolData(im, hold_buf); + if (packet_size > buf_size) { + *len = (INT16)packet_size; + return XIM_OVERFLOW; + } + if (packet_size <= data_len) { + memcpy(buf, hold_buf, packet_size); + for (i = packet_size; i < data_len; i++) { + if (hold_buf[i]) + break; + } + data_len -= i; + + if (data_len) { + if (!(tmp = (char *)Xmalloc(data_len))) { + return XIM_FALSE; + } + memcpy(tmp, &hold_buf[i], data_len); + im->private.proto.hold_data = tmp; + im->private.proto.hold_data_len = data_len; + } else { + im->private.proto.hold_data = 0; + im->private.proto.hold_data_len = 0; + } + Xfree(hold_buf); + *len = (INT16)packet_size; + return XIM_TRUE; + } + } + memcpy(buf, hold_buf, data_len); + buf_size -= data_len; + Xfree(hold_buf); + im->private.proto.hold_data = 0; + im->private.proto.hold_data_len = 0; + } + + if (!packet_size) { + while (data_len < XIM_HEADER_SIZE) { + if (!(im->private.proto.read(im, + (XPointer)&buf[data_len], buf_size, &ret_len))) { + return XIM_FALSE; + } + data_len += ret_len; + buf_size -= ret_len; + } + packet_size = _CheckProtocolData(im, buf); + } + + if (packet_size > buf_size) { + if (!(tmp = (char *)Xmalloc(data_len))) { + return XIM_FALSE; + } + memcpy(tmp, buf, data_len); + bzero(buf, data_len); + im->private.proto.hold_data = tmp; + im->private.proto.hold_data_len = data_len; + *len = (INT16)packet_size; + return XIM_OVERFLOW; + } + + while (data_len < packet_size) { + if (!(im->private.proto.read(im, + (XPointer)&buf[data_len], buf_size, &ret_len))) { + return XIM_FALSE; + } + data_len += ret_len; + buf_size -= ret_len; + } + + for (i = packet_size; i < data_len; i++) { + if (buf[i]) + break; + } + data_len -= i; + + if (data_len) { + if (!(tmp = (char *)Xmalloc(data_len))) { + return XIM_FALSE; + } + memcpy(tmp, &buf[i], data_len); + bzero(&buf[i], data_len); + im->private.proto.hold_data = tmp; + im->private.proto.hold_data_len = data_len; + } else { + im->private.proto.hold_data = 0; + im->private.proto.hold_data_len = 0; + } + *len = (INT16)packet_size; + return XIM_TRUE; +} + +static Bool +_XimCallDispatcher( + Xim im, + INT16 len, + XPointer data) +{ + return im->private.proto.call_dispatcher(im, len, data); +} + +int +_XimRead(Xim im, INT16 *len, XPointer buf, int buf_size, + Bool (*predicate)(Xim, INT16, XPointer, XPointer), XPointer arg) +{ + INT16 read_len; + int ret_code; + + for (;;) { + ret_code = _XimReadData(im, &read_len, buf, buf_size); + if(ret_code != XIM_TRUE) { + return ret_code; + } + if ((*predicate)(im, read_len, buf, arg)) + break; + if (_XimCallDispatcher(im, read_len, buf)) + continue; + _XimError(im, 0, XIM_BadProtocol, (INT16)0, (CARD16)0, (char *)NULL); + } + *len = read_len; + return True; +} + +Bool +_XimRegisterDispatcher( + Xim im, + Bool (*callback)( + Xim, INT16, XPointer, XPointer + ), + XPointer call_data) +{ + return im->private.proto.register_dispatcher(im, callback, call_data); +} + +void +_XimFlush(Xim im) +{ + im->private.proto.flush(im); + return; +} + +Bool +_XimFilterWaitEvent(Xim im) +{ + INT16 read_len; + CARD32 reply32[BUFSIZE/4]; + char *reply = (char *)reply32; + XPointer preply; + int buf_size; + int ret_code; + + buf_size = BUFSIZE; + ret_code = _XimReadData(im, &read_len, (XPointer)reply, buf_size); + if(ret_code == XIM_TRUE) { + preply = reply; + } else if(ret_code == XIM_OVERFLOW) { + if(read_len <= 0) { + preply = reply; + } else { + buf_size = (int)read_len; + preply = (XPointer)Xmalloc(buf_size); + ret_code = _XimReadData(im, &read_len, preply, buf_size); + if(ret_code != XIM_TRUE) { + if (preply != reply) + Xfree(preply); + return False; + } + } + } else { + return False; + } + if (_XimCallDispatcher(im, read_len, preply)) { + if(reply != preply) + Xfree(preply); + return True; + } + _XimError(im, 0, XIM_BadProtocol, (INT16)0, (CARD16)0, (char *)NULL); + if(reply != preply) + Xfree(preply); + return True; +} diff --git a/libX11/src/xlibi18n/Ximint.h b/libX11/src/xlibi18n/Ximint.h index 7d84e9396..def18cc6d 100644 --- a/libX11/src/xlibi18n/Ximint.h +++ b/libX11/src/xlibi18n/Ximint.h @@ -1,998 +1,995 @@ -/****************************************************************** - - Copyright 1992, 1993, 1994 by FUJITSU LIMITED - Copyright 1993, 1994 by Sony Corporation - -Permission to use, copy, modify, distribute, and sell this software -and its documentation for any purpose is hereby granted without fee, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of FUJITSU LIMITED and -Sony Corporation not be used in advertising or publicity pertaining to -distribution of the software without specific, written prior -permission. FUJITSU LIMITED and Sony Corporation makes no -representations about the suitability of this software for any -purpose. It is provided "as is" without express or implied warranty. - -FUJITSU LIMITED AND SONY CORPORATION DISCLAIM ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL FUJITSU LIMITED AND -SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR -PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. - - Author: Takashi Fujiwara FUJITSU LIMITED - fujiwara@a80.tech.yk.fujitsu.co.jp - Motifier: Makoto Wakamatsu Sony Corporation - makoto@sm.sony.co.jp - -******************************************************************/ - -#ifndef _XIMINT_H -#define _XIMINT_H - -#include -#include - -#define Public /**/ -#define Private static - -typedef struct _Xim *Xim; -typedef struct _Xic *Xic; - -/* - * Input Method data - */ -#include "XimintP.h" -#include "XimintL.h" - -/* - * XIM dependent data - */ - -typedef struct _XimCommonPrivateRec { - /* This struct is also inlined in XimLocalPrivateRec, XimProtoPrivateRec. */ - XlcConv ctom_conv; - XlcConv ctow_conv; - XlcConv ctoutf8_conv; - XlcConv cstomb_conv; - XlcConv cstowc_conv; - XlcConv cstoutf8_conv; - XlcConv ucstoc_conv; - XlcConv ucstoutf8_conv; -} XimCommonPrivateRec; - -typedef union _XIMPrivateRec { - XimCommonPrivateRec common; - XimLocalPrivateRec local; - XimProtoPrivateRec proto; -} XIMPrivateRec; - -/* - * IM struct - */ -typedef struct _Xim { - XIMMethods methods; - XIMCoreRec core; - XIMPrivateRec private; -} XimRec; - -/* - * IC deprndent data - */ -typedef union _XICPrivateRec { - XicLocalPrivateRec local; - XicProtoPrivateRec proto; -} XICPrivateRec; - -/* - * IC struct - */ -typedef struct _Xic { - XICMethods methods; - XICCoreRec core; - XICPrivateRec private; -} XicRec; - -typedef struct _XimDefIMValues { - XIMValuesList *im_values_list; - XIMValuesList *ic_values_list; - XIMStyles *styles; - XIMCallback destroy_callback; - char *res_name; - char *res_class; - Bool visible_position; -} XimDefIMValues; - -typedef struct _XimDefICValues { - XIMStyle input_style; - Window client_window; - Window focus_window; - unsigned long filter_events; - XICCallback geometry_callback; - char *res_name; - char *res_class; - XICCallback destroy_callback; - XICCallback preedit_state_notify_callback; - XICCallback string_conversion_callback; - XIMStringConversionText string_conversion; - XIMResetState reset_state; - XIMHotKeyTriggers *hotkey; - XIMHotKeyState hotkey_state; - ICPreeditAttributes preedit_attr; - ICStatusAttributes status_attr; -} XimDefICValues; - -#define XIM_MODE_IM_GET (1 << 0) -#define XIM_MODE_IM_SET (1 << 1) -#define XIM_MODE_IM_DEFAULT (1 << 2) - -#define XIM_MODE_PRE_GET (1 << 0) -#define XIM_MODE_PRE_SET (1 << 1) -#define XIM_MODE_PRE_CREATE (1 << 2) -#define XIM_MODE_PRE_ONCE (1 << 3) -#define XIM_MODE_PRE_DEFAULT (1 << 4) - -#define XIM_MODE_STS_GET (1 << 5) -#define XIM_MODE_STS_SET (1 << 6) -#define XIM_MODE_STS_CREATE (1 << 7) -#define XIM_MODE_STS_ONCE (1 << 8) -#define XIM_MODE_STS_DEFAULT (1 << 9) - -#define XIM_MODE_IC_GET (XIM_MODE_PRE_GET | XIM_MODE_STS_GET) -#define XIM_MODE_IC_SET (XIM_MODE_PRE_SET | XIM_MODE_STS_SET) -#define XIM_MODE_IC_CREATE (XIM_MODE_PRE_CREATE | XIM_MODE_STS_CREATE) -#define XIM_MODE_IC_ONCE (XIM_MODE_PRE_ONCE | XIM_MODE_STS_ONCE) -#define XIM_MODE_IC_DEFAULT (XIM_MODE_PRE_DEFAULT | XIM_MODE_STS_DEFAULT) - -#define XIM_MODE_PRE_MASK (XIM_MODE_PRE_GET | XIM_MODE_PRE_SET | \ - XIM_MODE_PRE_CREATE | XIM_MODE_PRE_ONCE | \ - XIM_MODE_PRE_DEFAULT) -#define XIM_MODE_STS_MASK (XIM_MODE_STS_GET | XIM_MODE_STS_SET | \ - XIM_MODE_STS_CREATE | XIM_MODE_STS_ONCE | \ - XIM_MODE_STS_DEFAULT) - -#define XIM_SETIMDEFAULTS (1L << 0) -#define XIM_SETIMVALUES (1L << 1) -#define XIM_GETIMVALUES (1L << 2) - -#define XIM_SETICDEFAULTS (1L << 0) -#define XIM_CREATEIC (1L << 1) -#define XIM_SETICVALUES (1L << 2) -#define XIM_GETICVALUES (1L << 3) -#define XIM_PREEDIT_ATTR (1L << 4) -#define XIM_STATUS_ATTR (1L << 5) - -#define XIM_CHECK_VALID 0 -#define XIM_CHECK_INVALID 1 -#define XIM_CHECK_ERROR 2 - -#define FILTERD True -#define NOTFILTERD False - -#define XIMMODIFIER "@im=" - -#define XIM_TRUE True -#define XIM_FALSE False -#define XIM_OVERFLOW (-1) - -#define BRL_UC_ROW 0x2800 - -/* - * Global symbols - */ - -XPointer _XimGetLocaleCode ( - const char *encoding_name -); - -int _XimGetCharCode ( - XPointer conv, - KeySym keysym, - unsigned char *buf, - int nbytes -); - -unsigned int KeySymToUcs4 ( - KeySym keysym -); - -extern Bool _XimSetIMResourceList( - XIMResourceList *res_list, - unsigned int *list_num -); - -extern Bool _XimSetICResourceList( - XIMResourceList *res_list, - unsigned int *list_num -); - -extern Bool _XimSetInnerIMResourceList( - XIMResourceList *res_list, - unsigned int *list_num -); - -extern Bool _XimSetInnerICResourceList( - XIMResourceList *res_list, - unsigned int *list_num -); - -extern Bool _XimCheckCreateICValues( - XIMResourceList res_list, - unsigned int list_num -); - -extern XIMResourceList _XimGetResourceListRec( - XIMResourceList res_list, - unsigned int list_num, - const char *name -); - -extern void _XimSetIMMode( - XIMResourceList res_list, - unsigned int list_num -); - -extern void _XimSetICMode( - XIMResourceList res_list, - unsigned int list_num, - XIMStyle style -); - -extern int _XimCheckIMMode( - XIMResourceList res_list, - unsigned long mode -); - -extern int _XimCheckICMode( - XIMResourceList res_list, - unsigned long mode -); - -extern Bool _XimSetLocalIMDefaults( - Xim im, - XPointer top, - XIMResourceList res_list, - unsigned int list_num -); - -extern Bool _XimSetICDefaults( - Xic ic, - XPointer top, - unsigned long mode, - XIMResourceList res_list, - unsigned int list_num -); - -extern Bool _XimEncodeLocalIMAttr( - XIMResourceList res, - XPointer top, - XPointer val -); - -extern Bool _XimEncodeLocalICAttr( - Xic ic, - XIMResourceList res, - XPointer top, - XIMArg *arg, - unsigned long mode -); - -extern Bool _XimCheckLocalInputStyle( - Xic ic, - XPointer top, - XIMArg *values, - XIMStyles *styles, - XIMResourceList res_list, - unsigned int list_num -); - -extern Bool _XimDecodeLocalIMAttr( - XIMResourceList res, - XPointer top, - XPointer val -); - -extern Bool _XimDecodeLocalICAttr( - XIMResourceList res, - XPointer top, - XPointer val, - unsigned long mode -); - -extern void _XimGetCurrentIMValues( - Xim im, - XimDefIMValues *im_values -); - -extern void _XimSetCurrentIMValues( - Xim im, - XimDefIMValues *im_values -); - -extern void _XimGetCurrentICValues( - Xic ic, - XimDefICValues *ic_values -); - -extern void _XimSetCurrentICValues( - Xic ic, - XimDefICValues *ic_values -); - -extern void _XimInitialResourceInfo( - void -); - -extern void _XimParseStringFile( - FILE *fp, - Xim im -); - -extern Bool _XimCheckIfLocalProcessing( - Xim im -); - -extern Bool _XimCheckIfThaiProcessing( - Xim im -); - -extern Bool _XimLocalOpenIM( - Xim im -); - -extern Bool _XimThaiOpenIM( - Xim im -); - -extern Bool _XimProtoOpenIM( - Xim im -); - -extern void _XimLocalIMFree( - Xim im -); - -extern void _XimThaiIMFree( - Xim im -); - -extern void _XimProtoIMFree( - Xim im -); - -extern char * _XimSetIMValueData( - Xim im, - XPointer top, - XIMArg *arg, - XIMResourceList res_list, - unsigned int list_num -); - -extern char * _XimGetIMValueData( - Xim im, - XPointer top, - XIMArg *arg, - XIMResourceList res_list, - unsigned int list_num -); - -extern char * _XimSetICValueData( - Xic ic, - XPointer top, - XIMResourceList res_list, - unsigned int list_num, - XIMArg *arg, - unsigned long mode, - Bool flag -); - -extern char * _XimGetICValueData( - Xic ic, - XPointer top, - XIMResourceList res_list, - unsigned int list_num, - XIMArg *arg, - unsigned long mode -); - -extern char * _XimLocalSetIMValues( - XIM im, - XIMArg *arg -); - -extern char * _XimLocalGetIMValues( - XIM im, - XIMArg *arg -); - -extern XIC _XimLocalCreateIC( - XIM im, - XIMArg *arg -); - -extern Bool _XimDispatchInit( - Xim im -); - -extern Bool _XimGetAttributeID( - Xim im, - CARD16 *buf -); - -extern Bool _XimExtension( - Xim im -); - -extern void _XimDestroyIMStructureList( - Xim im -); - -extern char * _XimMakeIMAttrIDList( - Xim im, - XIMResourceList res_list, - unsigned int res_num, - XIMArg *arg, - CARD16 *buf, - INT16 *len, - unsigned long mode -); - -extern char * _XimMakeICAttrIDList( - Xic ic, - XIMResourceList res_list, - unsigned int res_num, - XIMArg *arg, - CARD16 *idList, - INT16 *num, - unsigned long mode -); - -extern char * _XimDecodeIMATTRIBUTE( - Xim im, - XIMResourceList res_list, - unsigned int res_num, - CARD16 *buf, - INT16 buf_len, - XIMArg *arg, - BITMASK32 mode -); - -extern char * _XimDecodeICATTRIBUTE( - Xic ic, - XIMResourceList res_list, - unsigned int res_num, - CARD16 *buf, - INT16 buf_len, - XIMArg *arg, - BITMASK32 mode -); - -extern Bool _XimRegProtoIntrCallback( - Xim im, - CARD16 major_code, - CARD16 minor_code, - Bool (*proc)( - Xim, INT16, XPointer, XPointer - ), - XPointer call_data -); - -extern Bool _XimErrorCallback( - Xim im, - INT16 len, - XPointer data, - XPointer call_data -); - -extern Bool _XimError( - Xim im, - Xic ic, - CARD16 error_code, - INT16 detail_length, - CARD16 type, - char *detail -); - -extern Bool _XimRegisterTriggerKeysCallback( - Xim im, - INT16 len, - XPointer data, - XPointer call_data -); - -extern Bool _XimSetEventMaskCallback( - Xim im, - INT16 len, - XPointer data, - XPointer call_data -); - -extern Bool _XimForwardEventCallback( - Xim im, - INT16 len, - XPointer data, - XPointer call_data -); - -extern Bool _XimCommitCallback( - Xim im, - INT16 len, - XPointer data, - XPointer call_data -); - -extern Bool _XimSyncCallback( - Xim im, - INT16 len, - XPointer data, - XPointer call_data -); - -extern void _XimFreeProtoIntrCallback( - Xim im -); - -extern XIC _XimProtoCreateIC( - XIM im, - XIMArg *arg -); - -extern void _XimRegisterServerFilter( - Xim im -); - -extern void _XimUnregisterServerFilter( - Xim im -); - -extern Bool _XimTriggerNotify( - Xim im, - Xic ic, - int mode, - CARD32 idx -); - -extern Bool _XimProcSyncReply( - Xim im, - Xic ic -); - -extern void _XimSendSetFocus( - Xim im, - Xic ic -); - -extern Bool _XimForwardEvent( - Xic ic, - XEvent *ev, - Bool sync -); - -extern void _XimFreeRemakeArg( - XIMArg *arg -); - -extern void _XimServerDestroy( - Xim im -); - -extern char * _XimEncodeIMATTRIBUTE( - Xim im, - XIMResourceList res_list, - unsigned int res_num, - XIMArg *arg, - XIMArg **arg_ret, - char *buf, - int size, - int *ret_len, - XPointer top, - unsigned long mode -); - -extern char * _XimEncodeICATTRIBUTE( - Xic ic, - XIMResourceList res_list, - unsigned int res_num, - XIMArg *arg, - XIMArg **arg_ret, - char *buf, - int size, - int *ret_len, - XPointer top, - BITMASK32 *flag, - unsigned long mode -); - -#ifdef EXT_MOVE -extern Bool _XimExtenMove( - Xim im, - Xic ic, - CARD32 flag, - CARD16 *buf, - INT16 length -); -#endif - -extern int _Ximctstombs( - XIM im, - char *from, - int from_len, - char *to, - int to_len, - Status *state -); - -extern int _Ximctstowcs( - XIM im, - char *from, - int from_len, - wchar_t *to, - int to_len, - Status *state -); - -extern int _Ximctstoutf8( - XIM im, - char *from, - int from_len, - char *to, - int to_len, - Status *state -); - -extern int _XimLcctstombs( - XIM im, - char *from, - int from_len, - char *to, - int to_len, - Status *state -); - -extern int _XimLcctstowcs( - XIM im, - char *from, - int from_len, - wchar_t *to, - int to_len, - Status *state -); - -extern int _XimLcctstoutf8( - XIM im, - char *from, - int from_len, - char *to, - int to_len, - Status *state -); - -extern char _XimGetMyEndian( - void -); - -extern int _XimCheckDataSize( - XPointer buf, - int len -); - -extern void _XimSetHeader( - XPointer buf, - CARD8 major_opcode, - CARD8 minor_opcode, - INT16 *len -); - -extern Bool _XimSync( - Xim im, - Xic ic -); - -extern int _XimProtoMbLookupString( - XIC xic, - XKeyEvent *ev, - char *buffer, - int bytes, - KeySym *keysym, - Status *state -); - -extern int _XimProtoWcLookupString( - XIC xic, - XKeyEvent *ev, - wchar_t *buffer, - int bytes, - KeySym *keysym, - Status *state -); - -extern int _XimProtoUtf8LookupString( - XIC xic, - XKeyEvent *ev, - char *buffer, - int bytes, - KeySym *keysym, - Status *state -); - -extern void _XimRegisterFilter( - Xic ic -); - -extern void _XimUnregisterFilter( - Xic ic -); - -extern void _XimReregisterFilter( - Xic ic -); - -extern Status _XimProtoEventToWire( - XEvent *re, - xEvent *event, - Bool sw -); - -extern Bool _XimProtoWireToEvent( - XEvent *re, - xEvent *event, - Bool sw -); - -#ifdef EXT_FORWARD -extern Bool _XimExtForwardKeyEvent( - Xic ic, - XKeyEvent *ev, - Bool sync -); -#endif - -extern int _XimLookupMBText( - Xic ic, - XKeyEvent *event, - char *buffer, - int nbytes, - KeySym *keysym, - XComposeStatus *status -); - -extern int _XimLookupWCText( - Xic ic, - XKeyEvent *event, - wchar_t *buffer, - int nbytes, - KeySym *keysym, - XComposeStatus *status -); - -extern int _XimLookupUTF8Text( - Xic ic, - XKeyEvent *event, - char *buffer, - int nbytes, - KeySym *keysym, - XComposeStatus *status -); - -extern EVENTMASK _XimGetWindowEventmask( - Xic ic -); - -extern Xic _XimICOfXICID( - Xim im, - XICID icid -); - -extern void _XimResetIMInstantiateCallback( - Xim xim -); - -extern Bool _XimRegisterIMInstantiateCallback( - XLCd lcd, - Display *display, - XrmDatabase rdb, - char *res_name, - char *res_class, - XIDProc callback, - XPointer client_data -); - -extern Bool _XimUnRegisterIMInstantiateCallback( - XLCd lcd, - Display *display, - XrmDatabase rdb, - char *res_name, - char *res_class, - XIDProc callback, - XPointer client_data -); - -extern void _XimFreeCommitInfo( - Xic ic -); - -extern Bool _XimConnect( - Xim im -); - -extern Bool _XimShutdown( - Xim im -); - -extern Bool _XimWrite( - Xim im, - INT16 len, - XPointer data -); - -extern Bool _XimRead( - Xim im, - INT16 *len, - XPointer data, - int data_len, - Bool (*predicate)( - Xim, INT16, XPointer, XPointer - ), - XPointer arg -); - -extern void _XimFlush( - Xim im -); - -extern Bool _XimFilterWaitEvent( - Xim im -); - -extern void _XimProcError( - Xim im, - Xic ic, - XPointer data -); - -#ifdef EXT_MOVE -extern CARD32 _XimExtenArgCheck( - XIMArg *arg -); -#endif - -extern Bool _XimCbDispatch( - Xim im, - INT16 len, - XPointer data, - XPointer call_data -); - -extern Bool _XimLocalFilter( - Display *d, - Window w, - XEvent *ev, - XPointer client_data -); - -extern XIMResourceList _XimGetResourceListRecByQuark( - XIMResourceList res_list, - unsigned int list_num, - XrmQuark quark -); - -extern Bool _XimReconnectModeCreateIC( - Xic ic -); - -extern char *_XimLocalSetICValues( - XIC ic, - XIMArg *values -); - -extern char * _XimLocalGetICValues( - XIC ic, - XIMArg *values -); - -extern int _XimLocalMbLookupString( - XIC ic, - XKeyEvent *ev, - char *buffer, - int bytes, - KeySym *keysym, - Status *status -); - -extern int _XimLocalWcLookupString( - XIC ic, - XKeyEvent *ev, - wchar_t *buffer, - int bytes, - KeySym *keysym, - Status *status -); - -extern int _XimLocalUtf8LookupString( - XIC ic, - XKeyEvent *ev, - char *buffer, - int bytes, - KeySym *keysym, - Status *status -); - -extern Bool _XimThaiFilter( - Display *d, - Window w, - XEvent *ev, - XPointer client_data -); - -extern XIC _XimThaiCreateIC( - XIM im, - XIMArg *values -); - -extern Status _XimThaiCloseIM( - XIM xim -); - -#ifdef XIM_CONNECTABLE -extern void _XimSetProtoResource( - Xim im -); - -extern Bool _XimConnectServer( - Xim im -); - -extern Bool _XimDelayModeSetAttr( - Xim im -); - -extern void _XimServerReconectableDestroy( - void -); - -extern Bool _XimReCreateIC( - Xic ic -); - -extern Bool _XimEncodeSavedIMATTRIBUTE( - Xim im, - XIMResourceList res_list, - unsigned int res_num, - int *idx, - char *buf, - int size, - int *ret_len, - XPointer top, - unsigned long mode -); - -extern Bool _XimEncodeSavedICATTRIBUTE( - Xic ic, - XIMResourceList res_list, - unsigned int res_num, - int *idx, - char *buf, - int size, - int *ret_len, - XPointer top, - unsigned long mode -); -#endif - -extern Public Bool -_XimRegisterDispatcher( - Xim im, - Bool (*callback)( - Xim, INT16, XPointer, XPointer - ), - XPointer call_data); - -extern Public Bool -_XimRespSyncReply( - Xic ic, - BITMASK16 mode); - -#endif /* _XIMINT_H */ +/****************************************************************** + + Copyright 1992, 1993, 1994 by FUJITSU LIMITED + Copyright 1993, 1994 by Sony Corporation + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of FUJITSU LIMITED and +Sony Corporation not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. FUJITSU LIMITED and Sony Corporation makes no +representations about the suitability of this software for any +purpose. It is provided "as is" without express or implied warranty. + +FUJITSU LIMITED AND SONY CORPORATION DISCLAIM ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL FUJITSU LIMITED AND +SONY CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL +DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR +PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + + Author: Takashi Fujiwara FUJITSU LIMITED + fujiwara@a80.tech.yk.fujitsu.co.jp + Motifier: Makoto Wakamatsu Sony Corporation + makoto@sm.sony.co.jp + +******************************************************************/ + +#ifndef _XIMINT_H +#define _XIMINT_H + +#include +#include + +typedef struct _Xim *Xim; +typedef struct _Xic *Xic; + +/* + * Input Method data + */ +#include "XimintP.h" +#include "XimintL.h" + +/* + * XIM dependent data + */ + +typedef struct _XimCommonPrivateRec { + /* This struct is also inlined in XimLocalPrivateRec, XimProtoPrivateRec. */ + XlcConv ctom_conv; + XlcConv ctow_conv; + XlcConv ctoutf8_conv; + XlcConv cstomb_conv; + XlcConv cstowc_conv; + XlcConv cstoutf8_conv; + XlcConv ucstoc_conv; + XlcConv ucstoutf8_conv; +} XimCommonPrivateRec; + +typedef union _XIMPrivateRec { + XimCommonPrivateRec common; + XimLocalPrivateRec local; + XimProtoPrivateRec proto; +} XIMPrivateRec; + +/* + * IM struct + */ +typedef struct _Xim { + XIMMethods methods; + XIMCoreRec core; + XIMPrivateRec private; +} XimRec; + +/* + * IC deprndent data + */ +typedef union _XICPrivateRec { + XicLocalPrivateRec local; + XicProtoPrivateRec proto; +} XICPrivateRec; + +/* + * IC struct + */ +typedef struct _Xic { + XICMethods methods; + XICCoreRec core; + XICPrivateRec private; +} XicRec; + +typedef struct _XimDefIMValues { + XIMValuesList *im_values_list; + XIMValuesList *ic_values_list; + XIMStyles *styles; + XIMCallback destroy_callback; + char *res_name; + char *res_class; + Bool visible_position; +} XimDefIMValues; + +typedef struct _XimDefICValues { + XIMStyle input_style; + Window client_window; + Window focus_window; + unsigned long filter_events; + XICCallback geometry_callback; + char *res_name; + char *res_class; + XICCallback destroy_callback; + XICCallback preedit_state_notify_callback; + XICCallback string_conversion_callback; + XIMStringConversionText string_conversion; + XIMResetState reset_state; + XIMHotKeyTriggers *hotkey; + XIMHotKeyState hotkey_state; + ICPreeditAttributes preedit_attr; + ICStatusAttributes status_attr; +} XimDefICValues; + +#define XIM_MODE_IM_GET (1 << 0) +#define XIM_MODE_IM_SET (1 << 1) +#define XIM_MODE_IM_DEFAULT (1 << 2) + +#define XIM_MODE_PRE_GET (1 << 0) +#define XIM_MODE_PRE_SET (1 << 1) +#define XIM_MODE_PRE_CREATE (1 << 2) +#define XIM_MODE_PRE_ONCE (1 << 3) +#define XIM_MODE_PRE_DEFAULT (1 << 4) + +#define XIM_MODE_STS_GET (1 << 5) +#define XIM_MODE_STS_SET (1 << 6) +#define XIM_MODE_STS_CREATE (1 << 7) +#define XIM_MODE_STS_ONCE (1 << 8) +#define XIM_MODE_STS_DEFAULT (1 << 9) + +#define XIM_MODE_IC_GET (XIM_MODE_PRE_GET | XIM_MODE_STS_GET) +#define XIM_MODE_IC_SET (XIM_MODE_PRE_SET | XIM_MODE_STS_SET) +#define XIM_MODE_IC_CREATE (XIM_MODE_PRE_CREATE | XIM_MODE_STS_CREATE) +#define XIM_MODE_IC_ONCE (XIM_MODE_PRE_ONCE | XIM_MODE_STS_ONCE) +#define XIM_MODE_IC_DEFAULT (XIM_MODE_PRE_DEFAULT | XIM_MODE_STS_DEFAULT) + +#define XIM_MODE_PRE_MASK (XIM_MODE_PRE_GET | XIM_MODE_PRE_SET | \ + XIM_MODE_PRE_CREATE | XIM_MODE_PRE_ONCE | \ + XIM_MODE_PRE_DEFAULT) +#define XIM_MODE_STS_MASK (XIM_MODE_STS_GET | XIM_MODE_STS_SET | \ + XIM_MODE_STS_CREATE | XIM_MODE_STS_ONCE | \ + XIM_MODE_STS_DEFAULT) + +#define XIM_SETIMDEFAULTS (1L << 0) +#define XIM_SETIMVALUES (1L << 1) +#define XIM_GETIMVALUES (1L << 2) + +#define XIM_SETICDEFAULTS (1L << 0) +#define XIM_CREATEIC (1L << 1) +#define XIM_SETICVALUES (1L << 2) +#define XIM_GETICVALUES (1L << 3) +#define XIM_PREEDIT_ATTR (1L << 4) +#define XIM_STATUS_ATTR (1L << 5) + +#define XIM_CHECK_VALID 0 +#define XIM_CHECK_INVALID 1 +#define XIM_CHECK_ERROR 2 + +#define FILTERD True +#define NOTFILTERD False + +#define XIMMODIFIER "@im=" + +#define XIM_TRUE True +#define XIM_FALSE False +#define XIM_OVERFLOW (-1) + +#define BRL_UC_ROW 0x2800 + +/* + * Global symbols + */ + +XPointer _XimGetLocaleCode ( + const char *encoding_name +); + +int _XimGetCharCode ( + XPointer conv, + KeySym keysym, + unsigned char *buf, + int nbytes +); + +unsigned int KeySymToUcs4 ( + KeySym keysym +); + +extern Bool _XimSetIMResourceList( + XIMResourceList *res_list, + unsigned int *list_num +); + +extern Bool _XimSetICResourceList( + XIMResourceList *res_list, + unsigned int *list_num +); + +extern Bool _XimSetInnerIMResourceList( + XIMResourceList *res_list, + unsigned int *list_num +); + +extern Bool _XimSetInnerICResourceList( + XIMResourceList *res_list, + unsigned int *list_num +); + +extern Bool _XimCheckCreateICValues( + XIMResourceList res_list, + unsigned int list_num +); + +extern XIMResourceList _XimGetResourceListRec( + XIMResourceList res_list, + unsigned int list_num, + const char *name +); + +extern void _XimSetIMMode( + XIMResourceList res_list, + unsigned int list_num +); + +extern void _XimSetICMode( + XIMResourceList res_list, + unsigned int list_num, + XIMStyle style +); + +extern int _XimCheckIMMode( + XIMResourceList res_list, + unsigned long mode +); + +extern int _XimCheckICMode( + XIMResourceList res_list, + unsigned long mode +); + +extern Bool _XimSetLocalIMDefaults( + Xim im, + XPointer top, + XIMResourceList res_list, + unsigned int list_num +); + +extern Bool _XimSetICDefaults( + Xic ic, + XPointer top, + unsigned long mode, + XIMResourceList res_list, + unsigned int list_num +); + +extern Bool _XimEncodeLocalIMAttr( + XIMResourceList res, + XPointer top, + XPointer val +); + +extern Bool _XimEncodeLocalICAttr( + Xic ic, + XIMResourceList res, + XPointer top, + XIMArg *arg, + unsigned long mode +); + +extern Bool _XimCheckLocalInputStyle( + Xic ic, + XPointer top, + XIMArg *values, + XIMStyles *styles, + XIMResourceList res_list, + unsigned int list_num +); + +extern Bool _XimDecodeLocalIMAttr( + XIMResourceList res, + XPointer top, + XPointer val +); + +extern Bool _XimDecodeLocalICAttr( + XIMResourceList res, + XPointer top, + XPointer val, + unsigned long mode +); + +extern void _XimGetCurrentIMValues( + Xim im, + XimDefIMValues *im_values +); + +extern void _XimSetCurrentIMValues( + Xim im, + XimDefIMValues *im_values +); + +extern void _XimGetCurrentICValues( + Xic ic, + XimDefICValues *ic_values +); + +extern void _XimSetCurrentICValues( + Xic ic, + XimDefICValues *ic_values +); + +extern void _XimInitialResourceInfo( + void +); + +extern void _XimParseStringFile( + FILE *fp, + Xim im +); + +extern Bool _XimCheckIfLocalProcessing( + Xim im +); + +extern Bool _XimCheckIfThaiProcessing( + Xim im +); + +extern Bool _XimLocalOpenIM( + Xim im +); + +extern Bool _XimThaiOpenIM( + Xim im +); + +extern Bool _XimProtoOpenIM( + Xim im +); + +extern void _XimLocalIMFree( + Xim im +); + +extern void _XimThaiIMFree( + Xim im +); + +extern void _XimProtoIMFree( + Xim im +); + +extern char * _XimSetIMValueData( + Xim im, + XPointer top, + XIMArg *arg, + XIMResourceList res_list, + unsigned int list_num +); + +extern char * _XimGetIMValueData( + Xim im, + XPointer top, + XIMArg *arg, + XIMResourceList res_list, + unsigned int list_num +); + +extern char * _XimSetICValueData( + Xic ic, + XPointer top, + XIMResourceList res_list, + unsigned int list_num, + XIMArg *arg, + unsigned long mode, + Bool flag +); + +extern char * _XimGetICValueData( + Xic ic, + XPointer top, + XIMResourceList res_list, + unsigned int list_num, + XIMArg *arg, + unsigned long mode +); + +extern char * _XimLocalSetIMValues( + XIM im, + XIMArg *arg +); + +extern char * _XimLocalGetIMValues( + XIM im, + XIMArg *arg +); + +extern XIC _XimLocalCreateIC( + XIM im, + XIMArg *arg +); + +extern Bool _XimDispatchInit( + Xim im +); + +extern Bool _XimGetAttributeID( + Xim im, + CARD16 *buf +); + +extern Bool _XimExtension( + Xim im +); + +extern void _XimDestroyIMStructureList( + Xim im +); + +extern char * _XimMakeIMAttrIDList( + Xim im, + XIMResourceList res_list, + unsigned int res_num, + XIMArg *arg, + CARD16 *buf, + INT16 *len, + unsigned long mode +); + +extern char * _XimMakeICAttrIDList( + Xic ic, + XIMResourceList res_list, + unsigned int res_num, + XIMArg *arg, + CARD16 *idList, + INT16 *num, + unsigned long mode +); + +extern char * _XimDecodeIMATTRIBUTE( + Xim im, + XIMResourceList res_list, + unsigned int res_num, + CARD16 *buf, + INT16 buf_len, + XIMArg *arg, + BITMASK32 mode +); + +extern char * _XimDecodeICATTRIBUTE( + Xic ic, + XIMResourceList res_list, + unsigned int res_num, + CARD16 *buf, + INT16 buf_len, + XIMArg *arg, + BITMASK32 mode +); + +extern Bool _XimRegProtoIntrCallback( + Xim im, + CARD16 major_code, + CARD16 minor_code, + Bool (*proc)( + Xim, INT16, XPointer, XPointer + ), + XPointer call_data +); + +extern Bool _XimErrorCallback( + Xim im, + INT16 len, + XPointer data, + XPointer call_data +); + +extern Bool _XimError( + Xim im, + Xic ic, + CARD16 error_code, + INT16 detail_length, + CARD16 type, + char *detail +); + +extern Bool _XimRegisterTriggerKeysCallback( + Xim im, + INT16 len, + XPointer data, + XPointer call_data +); + +extern Bool _XimSetEventMaskCallback( + Xim im, + INT16 len, + XPointer data, + XPointer call_data +); + +extern Bool _XimForwardEventCallback( + Xim im, + INT16 len, + XPointer data, + XPointer call_data +); + +extern Bool _XimCommitCallback( + Xim im, + INT16 len, + XPointer data, + XPointer call_data +); + +extern Bool _XimSyncCallback( + Xim im, + INT16 len, + XPointer data, + XPointer call_data +); + +extern void _XimFreeProtoIntrCallback( + Xim im +); + +extern XIC _XimProtoCreateIC( + XIM im, + XIMArg *arg +); + +extern void _XimRegisterServerFilter( + Xim im +); + +extern void _XimUnregisterServerFilter( + Xim im +); + +extern Bool _XimTriggerNotify( + Xim im, + Xic ic, + int mode, + CARD32 idx +); + +extern Bool _XimProcSyncReply( + Xim im, + Xic ic +); + +extern void _XimSendSetFocus( + Xim im, + Xic ic +); + +extern Bool _XimForwardEvent( + Xic ic, + XEvent *ev, + Bool sync +); + +extern void _XimFreeRemakeArg( + XIMArg *arg +); + +extern void _XimServerDestroy( + Xim im +); + +extern char * _XimEncodeIMATTRIBUTE( + Xim im, + XIMResourceList res_list, + unsigned int res_num, + XIMArg *arg, + XIMArg **arg_ret, + char *buf, + int size, + int *ret_len, + XPointer top, + unsigned long mode +); + +extern char * _XimEncodeICATTRIBUTE( + Xic ic, + XIMResourceList res_list, + unsigned int res_num, + XIMArg *arg, + XIMArg **arg_ret, + char *buf, + int size, + int *ret_len, + XPointer top, + BITMASK32 *flag, + unsigned long mode +); + +#ifdef EXT_MOVE +extern Bool _XimExtenMove( + Xim im, + Xic ic, + CARD32 flag, + CARD16 *buf, + INT16 length +); +#endif + +extern int _Ximctstombs( + XIM im, + char *from, + int from_len, + char *to, + int to_len, + Status *state +); + +extern int _Ximctstowcs( + XIM im, + char *from, + int from_len, + wchar_t *to, + int to_len, + Status *state +); + +extern int _Ximctstoutf8( + XIM im, + char *from, + int from_len, + char *to, + int to_len, + Status *state +); + +extern int _XimLcctstombs( + XIM im, + char *from, + int from_len, + char *to, + int to_len, + Status *state +); + +extern int _XimLcctstowcs( + XIM im, + char *from, + int from_len, + wchar_t *to, + int to_len, + Status *state +); + +extern int _XimLcctstoutf8( + XIM im, + char *from, + int from_len, + char *to, + int to_len, + Status *state +); + +extern char _XimGetMyEndian( + void +); + +extern int _XimCheckDataSize( + XPointer buf, + int len +); + +extern void _XimSetHeader( + XPointer buf, + CARD8 major_opcode, + CARD8 minor_opcode, + INT16 *len +); + +extern Bool _XimSync( + Xim im, + Xic ic +); + +extern int _XimProtoMbLookupString( + XIC xic, + XKeyEvent *ev, + char *buffer, + int bytes, + KeySym *keysym, + Status *state +); + +extern int _XimProtoWcLookupString( + XIC xic, + XKeyEvent *ev, + wchar_t *buffer, + int bytes, + KeySym *keysym, + Status *state +); + +extern int _XimProtoUtf8LookupString( + XIC xic, + XKeyEvent *ev, + char *buffer, + int bytes, + KeySym *keysym, + Status *state +); + +extern void _XimRegisterFilter( + Xic ic +); + +extern void _XimUnregisterFilter( + Xic ic +); + +extern void _XimReregisterFilter( + Xic ic +); + +extern Status _XimProtoEventToWire( + XEvent *re, + xEvent *event, + Bool sw +); + +extern Bool _XimProtoWireToEvent( + XEvent *re, + xEvent *event, + Bool sw +); + +#ifdef EXT_FORWARD +extern Bool _XimExtForwardKeyEvent( + Xic ic, + XKeyEvent *ev, + Bool sync +); +#endif + +extern int _XimLookupMBText( + Xic ic, + XKeyEvent *event, + char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status +); + +extern int _XimLookupWCText( + Xic ic, + XKeyEvent *event, + wchar_t *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status +); + +extern int _XimLookupUTF8Text( + Xic ic, + XKeyEvent *event, + char *buffer, + int nbytes, + KeySym *keysym, + XComposeStatus *status +); + +extern EVENTMASK _XimGetWindowEventmask( + Xic ic +); + +extern Xic _XimICOfXICID( + Xim im, + XICID icid +); + +extern void _XimResetIMInstantiateCallback( + Xim xim +); + +extern Bool _XimRegisterIMInstantiateCallback( + XLCd lcd, + Display *display, + XrmDatabase rdb, + char *res_name, + char *res_class, + XIDProc callback, + XPointer client_data +); + +extern Bool _XimUnRegisterIMInstantiateCallback( + XLCd lcd, + Display *display, + XrmDatabase rdb, + char *res_name, + char *res_class, + XIDProc callback, + XPointer client_data +); + +extern void _XimFreeCommitInfo( + Xic ic +); + +extern Bool _XimConnect( + Xim im +); + +extern Bool _XimShutdown( + Xim im +); + +extern Bool _XimWrite( + Xim im, + INT16 len, + XPointer data +); + +extern Bool _XimRead( + Xim im, + INT16 *len, + XPointer data, + int data_len, + Bool (*predicate)( + Xim, INT16, XPointer, XPointer + ), + XPointer arg +); + +extern void _XimFlush( + Xim im +); + +extern Bool _XimFilterWaitEvent( + Xim im +); + +extern void _XimProcError( + Xim im, + Xic ic, + XPointer data +); + +#ifdef EXT_MOVE +extern CARD32 _XimExtenArgCheck( + XIMArg *arg +); +#endif + +extern Bool _XimCbDispatch( + Xim im, + INT16 len, + XPointer data, + XPointer call_data +); + +extern Bool _XimLocalFilter( + Display *d, + Window w, + XEvent *ev, + XPointer client_data +); + +extern XIMResourceList _XimGetResourceListRecByQuark( + XIMResourceList res_list, + unsigned int list_num, + XrmQuark quark +); + +extern Bool _XimReconnectModeCreateIC( + Xic ic +); + +extern char *_XimLocalSetICValues( + XIC ic, + XIMArg *values +); + +extern char * _XimLocalGetICValues( + XIC ic, + XIMArg *values +); + +extern int _XimLocalMbLookupString( + XIC ic, + XKeyEvent *ev, + char *buffer, + int bytes, + KeySym *keysym, + Status *status +); + +extern int _XimLocalWcLookupString( + XIC ic, + XKeyEvent *ev, + wchar_t *buffer, + int bytes, + KeySym *keysym, + Status *status +); + +extern int _XimLocalUtf8LookupString( + XIC ic, + XKeyEvent *ev, + char *buffer, + int bytes, + KeySym *keysym, + Status *status +); + +extern Bool _XimThaiFilter( + Display *d, + Window w, + XEvent *ev, + XPointer client_data +); + +extern XIC _XimThaiCreateIC( + XIM im, + XIMArg *values +); + +extern Status _XimThaiCloseIM( + XIM xim +); + +#ifdef XIM_CONNECTABLE +extern void _XimSetProtoResource( + Xim im +); + +extern Bool _XimConnectServer( + Xim im +); + +extern Bool _XimDelayModeSetAttr( + Xim im +); + +extern void _XimServerReconectableDestroy( + void +); + +extern Bool _XimReCreateIC( + Xic ic +); + +extern Bool _XimEncodeSavedIMATTRIBUTE( + Xim im, + XIMResourceList res_list, + unsigned int res_num, + int *idx, + char *buf, + int size, + int *ret_len, + XPointer top, + unsigned long mode +); + +extern Bool _XimEncodeSavedICATTRIBUTE( + Xic ic, + XIMResourceList res_list, + unsigned int res_num, + int *idx, + char *buf, + int size, + int *ret_len, + XPointer top, + unsigned long mode +); +#endif + +extern Bool +_XimRegisterDispatcher( + Xim im, + Bool (*callback)( + Xim, INT16, XPointer, XPointer + ), + XPointer call_data); + +extern Bool +_XimRespSyncReply( + Xic ic, + BITMASK16 mode); + +#endif /* _XIMINT_H */ diff --git a/mesalib/configure.ac b/mesalib/configure.ac index 55a9fa712..9a3fde185 100644 --- a/mesalib/configure.ac +++ b/mesalib/configure.ac @@ -30,7 +30,7 @@ AC_SUBST([OSMESA_VERSION]) dnl Versions for external dependencies LIBDRM_REQUIRED=2.4.24 -LIBDRM_RADEON_REQUIRED=2.4.39 +LIBDRM_RADEON_REQUIRED=2.4.40 LIBDRM_INTEL_REQUIRED=2.4.38 LIBDRM_NVVIEUX_REQUIRED=2.4.33 LIBDRM_NOUVEAU_REQUIRED=2.4.33 diff --git a/mesalib/docs/GL3.txt b/mesalib/docs/GL3.txt index 4f44764c2..28f6ae603 100644 --- a/mesalib/docs/GL3.txt +++ b/mesalib/docs/GL3.txt @@ -34,8 +34,7 @@ sRGB framebuffer format (GL_EXT_framebuffer_sRGB) DONE (i965, r600) glClearBuffer commands DONE glGetStringi command DONE glTexParameterI, glGetTexParameterI commands DONE -glVertexAttribI commands ~50% done (converts int - values to floats) +glVertexAttribI commands DONE Depth format cube textures DONE GLX_ARB_create_context (GLX 1.4 is required) DONE diff --git a/mesalib/scons/gallium.py b/mesalib/scons/gallium.py index bba3f0179..e9496a8d5 100644 --- a/mesalib/scons/gallium.py +++ b/mesalib/scons/gallium.py @@ -529,7 +529,7 @@ def generate(env): env.PkgCheckModules('XF86VIDMODE', ['xxf86vm']) env.PkgCheckModules('DRM', ['libdrm >= 2.4.24']) env.PkgCheckModules('DRM_INTEL', ['libdrm_intel >= 2.4.30']) - env.PkgCheckModules('DRM_RADEON', ['libdrm_radeon >= 2.4.31']) + env.PkgCheckModules('DRM_RADEON', ['libdrm_radeon >= 2.4.40']) env.PkgCheckModules('XORG', ['xorg-server >= 1.6.0']) env.PkgCheckModules('KMS', ['libkms >= 2.4.24']) env.PkgCheckModules('UDEV', ['libudev > 150']) diff --git a/mesalib/src/gallium/auxiliary/util/u_blitter.c b/mesalib/src/gallium/auxiliary/util/u_blitter.c index bb784d6b3..d10ce231c 100644 --- a/mesalib/src/gallium/auxiliary/util/u_blitter.c +++ b/mesalib/src/gallium/auxiliary/util/u_blitter.c @@ -1609,7 +1609,8 @@ void util_blitter_custom_depth_stencil(struct blitter_context *blitter, blitter_disable_render_cond(ctx); /* bind states */ - pipe->bind_blend_state(pipe, ctx->blend[PIPE_MASK_RGBA]); + pipe->bind_blend_state(pipe, cbsurf ? ctx->blend[PIPE_MASK_RGBA] : + ctx->blend[0]); pipe->bind_depth_stencil_alpha_state(pipe, dsa_stage); ctx->bind_fs_state(pipe, blitter_get_fs_col(ctx, 0, FALSE)); pipe->bind_vertex_elements_state(pipe, ctx->velem_state); diff --git a/mesalib/src/gallium/auxiliary/util/u_framebuffer.h b/mesalib/src/gallium/auxiliary/util/u_framebuffer.h index e7dc1e9e4..a89066230 100644 --- a/mesalib/src/gallium/auxiliary/util/u_framebuffer.h +++ b/mesalib/src/gallium/auxiliary/util/u_framebuffer.h @@ -33,6 +33,10 @@ #include "pipe/p_state.h" +#ifdef __cplusplus +extern "C" { +#endif + extern boolean util_framebuffer_state_equal(const struct pipe_framebuffer_state *dst, const struct pipe_framebuffer_state *src); @@ -51,4 +55,8 @@ util_framebuffer_min_size(const struct pipe_framebuffer_state *fb, unsigned *width, unsigned *height); +#ifdef __cplusplus +} +#endif + #endif /* U_FRAMEBUFFER_H */ diff --git a/mesalib/src/glsl/ast_to_hir.cpp b/mesalib/src/glsl/ast_to_hir.cpp index 5157661b3..d450aa1e4 100644 --- a/mesalib/src/glsl/ast_to_hir.cpp +++ b/mesalib/src/glsl/ast_to_hir.cpp @@ -4058,7 +4058,7 @@ ast_uniform_block::hir(exec_list *instructions, decl_list->hir(&declared_variables, state); foreach_list_const(node, &declared_variables) { - struct ir_variable *var = (ir_variable *)node; + ir_variable *var = (ir_variable *)node; struct gl_uniform_buffer_variable *ubo_var = &ubo->Uniforms[ubo->NumUniforms++]; diff --git a/mesalib/src/glsl/ir.cpp b/mesalib/src/glsl/ir.cpp index 1c7aadaca..7b0a487b6 100644 --- a/mesalib/src/glsl/ir.cpp +++ b/mesalib/src/glsl/ir.cpp @@ -780,7 +780,7 @@ ir_constant::get_float_component(unsigned i) const case GLSL_TYPE_UINT: return (float) this->value.u[i]; case GLSL_TYPE_INT: return (float) this->value.i[i]; case GLSL_TYPE_FLOAT: return this->value.f[i]; - case GLSL_TYPE_BOOL: return this->value.b[i] ? 1.0 : 0.0; + case GLSL_TYPE_BOOL: return this->value.b[i] ? 1.0f : 0.0f; default: assert(!"Should not get here."); break; } diff --git a/mesalib/src/glsl/ir_builder.cpp b/mesalib/src/glsl/ir_builder.cpp index d96e25c18..c62f0b115 100644 --- a/mesalib/src/glsl/ir_builder.cpp +++ b/mesalib/src/glsl/ir_builder.cpp @@ -77,7 +77,7 @@ swizzle(operand a, int swizzle, int components) } ir_swizzle * -swizzle_for_size(operand a, int components) +swizzle_for_size(operand a, unsigned components) { void *mem_ctx = ralloc_parent(a.val); diff --git a/mesalib/src/glsl/ir_builder.h b/mesalib/src/glsl/ir_builder.h index 7a0a196ee..067858df4 100644 --- a/mesalib/src/glsl/ir_builder.h +++ b/mesalib/src/glsl/ir_builder.h @@ -94,7 +94,7 @@ ir_expression *saturate(operand a); /** * Swizzle away later components, but preserve the ordering. */ -ir_swizzle *swizzle_for_size(operand a, int components); +ir_swizzle *swizzle_for_size(operand a, unsigned components); ir_swizzle *swizzle_xxxx(operand a); ir_swizzle *swizzle_yyyy(operand a); diff --git a/mesalib/src/glsl/lower_mat_op_to_vec.cpp b/mesalib/src/glsl/lower_mat_op_to_vec.cpp index a371afc14..08cae29fa 100644 --- a/mesalib/src/glsl/lower_mat_op_to_vec.cpp +++ b/mesalib/src/glsl/lower_mat_op_to_vec.cpp @@ -122,7 +122,7 @@ ir_mat_op_to_vec_visitor::do_mul_mat_mat(ir_dereference *result, ir_dereference *a, ir_dereference *b) { - int b_col, i; + unsigned b_col, i; ir_assignment *assign; ir_expression *expr; @@ -154,7 +154,7 @@ ir_mat_op_to_vec_visitor::do_mul_mat_vec(ir_dereference *result, ir_dereference *a, ir_dereference *b) { - int i; + unsigned i; ir_assignment *assign; ir_expression *expr; @@ -183,7 +183,7 @@ ir_mat_op_to_vec_visitor::do_mul_vec_mat(ir_dereference *result, ir_dereference *a, ir_dereference *b) { - int i; + unsigned i; for (i = 0; i < b->type->matrix_columns; i++) { ir_rvalue *column_result; @@ -208,7 +208,7 @@ ir_mat_op_to_vec_visitor::do_mul_mat_scalar(ir_dereference *result, ir_dereference *a, ir_dereference *b) { - int i; + unsigned i; for (i = 0; i < a->type->matrix_columns; i++) { ir_expression *column_expr; diff --git a/mesalib/src/glsl/lower_vec_index_to_cond_assign.cpp b/mesalib/src/glsl/lower_vec_index_to_cond_assign.cpp index fce9c3424..789f62afe 100644 --- a/mesalib/src/glsl/lower_vec_index_to_cond_assign.cpp +++ b/mesalib/src/glsl/lower_vec_index_to_cond_assign.cpp @@ -71,7 +71,7 @@ ir_vec_index_to_cond_assign_visitor::convert_vec_index_to_cond_assign(ir_rvalue ir_assignment *assign; ir_variable *index, *var; ir_dereference *deref; - int i; + unsigned i; if (!orig_deref) return ir; @@ -164,7 +164,7 @@ ir_vec_index_to_cond_assign_visitor::visit_leave(ir_assignment *ir) ir_variable *index, *var; ir_dereference_variable *deref; ir_assignment *assign; - int i; + unsigned i; ir->rhs = convert_vec_index_to_cond_assign(ir->rhs); if (ir->condition) diff --git a/mesalib/src/glsl/lower_vec_index_to_swizzle.cpp b/mesalib/src/glsl/lower_vec_index_to_swizzle.cpp index 46fd6ace1..264d6dc07 100644 --- a/mesalib/src/glsl/lower_vec_index_to_swizzle.cpp +++ b/mesalib/src/glsl/lower_vec_index_to_swizzle.cpp @@ -93,7 +93,7 @@ ir_vec_index_to_swizzle_visitor::convert_vec_index_to_swizzle(ir_rvalue *ir) * large. For simplicity sake, just clamp the index to [0, size-1]. */ const int i = MIN2(MAX2(ir_constant->value.i[0], 0), - (deref->array->type->vector_elements - 1)); + ((int) deref->array->type->vector_elements - 1)); return new(ctx) ir_swizzle(deref->array, i, 0, 0, 0, 1); } diff --git a/mesalib/src/mapi/glapi/gen/APPLE_vertex_array_object.xml b/mesalib/src/mapi/glapi/gen/APPLE_vertex_array_object.xml index bd8427eaf..2bffc4e08 100644 --- a/mesalib/src/mapi/glapi/gen/APPLE_vertex_array_object.xml +++ b/mesalib/src/mapi/glapi/gen/APPLE_vertex_array_object.xml @@ -5,7 +5,8 @@ - + @@ -14,7 +15,8 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_base_instance.xml b/mesalib/src/mapi/glapi/gen/ARB_base_instance.xml index 8e81553f6..1478e3970 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_base_instance.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_base_instance.xml @@ -8,7 +8,8 @@ - + @@ -16,7 +17,8 @@ - + @@ -25,7 +27,8 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml b/mesalib/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml index 0b6947cc5..c08017aa5 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_draw_buffers_blend.xml @@ -8,24 +8,25 @@ - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml b/mesalib/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml index 851f1faec..986654848 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_draw_elements_base_vertex.xml @@ -8,7 +8,7 @@ - + @@ -16,7 +16,8 @@ - + @@ -26,7 +27,8 @@ - + @@ -35,7 +37,8 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml b/mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml index 57bb776ac..7ee7629c7 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_draw_instanced.xml @@ -8,14 +8,14 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_geometry_shader4.xml b/mesalib/src/mapi/glapi/gen/ARB_geometry_shader4.xml index 97a4e2e8f..73f0a9c3d 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_geometry_shader4.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_geometry_shader4.xml @@ -45,7 +45,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml b/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml index 8da5c41e8..7db166564 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_get_program_binary.xml @@ -11,7 +11,8 @@ - + @@ -19,14 +20,16 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_instanced_arrays.xml b/mesalib/src/mapi/glapi/gen/ARB_instanced_arrays.xml index 822f54374..9a30b0c9e 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_instanced_arrays.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_instanced_arrays.xml @@ -10,7 +10,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_robustness.xml b/mesalib/src/mapi/glapi/gen/ARB_robustness.xml index b347ef35c..14048bf49 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_robustness.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_robustness.xml @@ -25,21 +25,21 @@ - + - + - + @@ -48,19 +48,19 @@ - + - + - + @@ -95,7 +95,7 @@ - + @@ -103,7 +103,7 @@ - + @@ -111,7 +111,7 @@ - + @@ -122,7 +122,7 @@ - + @@ -131,7 +131,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_texture_buffer_object.xml b/mesalib/src/mapi/glapi/gen/ARB_texture_buffer_object.xml index 57680f553..8884591ca 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_texture_buffer_object.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_texture_buffer_object.xml @@ -11,7 +11,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml b/mesalib/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml index 7d12d9774..6c6090c1c 100644 --- a/mesalib/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml +++ b/mesalib/src/mapi/glapi/gen/ARB_vertex_type_2_10_10_10_rev.xml @@ -7,214 +7,244 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml b/mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml index efbe61f74..affd55a5f 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_draw_buffers2.xml @@ -8,7 +8,7 @@ - + @@ -16,29 +16,29 @@ - + - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml b/mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml index bf2f6a3ed..b008f2e65 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_gpu_shader4.xml @@ -44,25 +44,25 @@ - + - + - + - + @@ -70,25 +70,25 @@ - + - + - + - + @@ -96,67 +96,73 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -164,37 +170,37 @@ - + - + - + - + - + - + @@ -202,43 +208,43 @@ - + - + - + - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_separate_shader_objects.xml b/mesalib/src/mapi/glapi/gen/EXT_separate_shader_objects.xml index 6ec56157c..03f90a1b1 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_separate_shader_objects.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_separate_shader_objects.xml @@ -8,16 +8,16 @@ - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml b/mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml index 7e5a8cbeb..dac399964 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_texture_integer.xml @@ -69,25 +69,25 @@ - + - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/EXT_transform_feedback.xml b/mesalib/src/mapi/glapi/gen/EXT_transform_feedback.xml index dbd7513c7..e9b27582a 100644 --- a/mesalib/src/mapi/glapi/gen/EXT_transform_feedback.xml +++ b/mesalib/src/mapi/glapi/gen/EXT_transform_feedback.xml @@ -24,7 +24,7 @@ - + @@ -39,27 +39,29 @@ - + - + - + - + - + @@ -108,7 +110,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/GL3x.xml b/mesalib/src/mapi/glapi/gen/GL3x.xml index 82b977f58..ad12102c6 100644 --- a/mesalib/src/mapi/glapi/gen/GL3x.xml +++ b/mesalib/src/mapi/glapi/gen/GL3x.xml @@ -594,19 +594,20 @@ - + - + - + diff --git a/mesalib/src/mapi/glapi/gen/Makefile.am b/mesalib/src/mapi/glapi/gen/Makefile.am index 14bb2dfe6..13943e839 100644 --- a/mesalib/src/mapi/glapi/gen/Makefile.am +++ b/mesalib/src/mapi/glapi/gen/Makefile.am @@ -55,6 +55,7 @@ MESA_OUTPUTS = \ $(MESA_GLAPI_OUTPUTS) \ $(MESA_GLAPI_ASM_OUTPUTS) \ $(MESA_DIR)/main/enums.c \ + $(MESA_DIR)/main/api_exec.c \ $(MESA_DIR)/main/dispatch.h \ $(MESA_DIR)/main/remap_helper.h \ $(MESA_GLX_DIR)/indirect.c \ @@ -215,6 +216,9 @@ $(MESA_GLAPI_DIR)/glapi_sparc.S: gl_SPARC_asm.py $(COMMON) $(MESA_DIR)/main/enums.c: gl_enums.py $(COMMON) $(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@ +$(MESA_DIR)/main/api_exec.c: gl_genexec.py $(COMMON) + $(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml > $@ + $(MESA_DIR)/main/dispatch.h: gl_table.py $(COMMON) $(PYTHON_GEN) $< -f $(srcdir)/gl_and_es_API.xml -m remap_table > $@ diff --git a/mesalib/src/mapi/glapi/gen/NV_conditional_render.xml b/mesalib/src/mapi/glapi/gen/NV_conditional_render.xml index 8bb31dd1f..8bb5c22ca 100644 --- a/mesalib/src/mapi/glapi/gen/NV_conditional_render.xml +++ b/mesalib/src/mapi/glapi/gen/NV_conditional_render.xml @@ -13,12 +13,12 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/NV_primitive_restart.xml b/mesalib/src/mapi/glapi/gen/NV_primitive_restart.xml index abe7dda00..d19fc8cf1 100644 --- a/mesalib/src/mapi/glapi/gen/NV_primitive_restart.xml +++ b/mesalib/src/mapi/glapi/gen/NV_primitive_restart.xml @@ -11,10 +11,11 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml b/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml index 974240c49..ad775728f 100644 --- a/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml +++ b/mesalib/src/mapi/glapi/gen/OES_fixed_point.xml @@ -14,13 +14,13 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -28,12 +28,12 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -41,24 +41,25 @@ + es1="1.0" exec="es" mesa_name="-OES"> - + + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -68,62 +69,62 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -132,14 +133,14 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -149,18 +150,18 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -168,41 +169,41 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -210,65 +211,65 @@ + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" desktop="false" mesa_name="-OES"> + es1="1.0" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + static_dispatch="false" es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> + static_dispatch="false" es1="1.0" exec="es" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -276,21 +277,21 @@ + es1="1.0" exec="check" desktop="false"> + es1="1.0" exec="check" desktop="false"> + es1="1.0" exec="check" desktop="false"> diff --git a/mesalib/src/mapi/glapi/gen/OES_single_precision.xml b/mesalib/src/mapi/glapi/gen/OES_single_precision.xml index 7d4744159..8a6c27194 100644 --- a/mesalib/src/mapi/glapi/gen/OES_single_precision.xml +++ b/mesalib/src/mapi/glapi/gen/OES_single_precision.xml @@ -12,7 +12,7 @@ + es1="1.0" exec="es" mesa_name="-OES"> @@ -24,13 +24,13 @@ + es1="1.0" exec="es" desktop="false" mesa_name="-OES"> + es1="1.0" exec="es" mesa_name="-OES"> @@ -40,7 +40,7 @@ + es1="1.0" exec="es" mesa_name="-OES"> diff --git a/mesalib/src/mapi/glapi/gen/es_EXT.xml b/mesalib/src/mapi/glapi/gen/es_EXT.xml index 1fdb4d591..c0bbbfae1 100644 --- a/mesalib/src/mapi/glapi/gen/es_EXT.xml +++ b/mesalib/src/mapi/glapi/gen/es_EXT.xml @@ -73,7 +73,7 @@ + es1="1.0" desktop="false" mesa_name="-OES"> @@ -82,12 +82,12 @@ + es1="1.0" desktop="false" mesa_name="-OES"> + es1="1.0" desktop="false" mesa_name="-OES"> @@ -96,12 +96,12 @@ + es1="1.0" desktop="false" mesa_name="-OES"> + es1="1.0" desktop="false" mesa_name="-OES"> @@ -110,12 +110,12 @@ + es1="1.0" desktop="false" mesa_name="-OES"> + es1="1.0" exec="es" desktop="false"> @@ -124,7 +124,7 @@ + es1="1.0" exec="es" desktop="false"> @@ -307,22 +307,26 @@ - + - + - + - + @@ -339,7 +343,8 @@ + static_dispatch="false" es1="1.0" desktop="false" + mesa_name="-OES"> @@ -355,7 +360,7 @@ + es1="1.0" exec="es" desktop="false"> @@ -768,7 +773,7 @@ - + @@ -783,7 +788,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/glX_API.xml b/mesalib/src/mapi/glapi/gen/glX_API.xml index b7f4a7770..926d8791b 100644 --- a/mesalib/src/mapi/glapi/gen/glX_API.xml +++ b/mesalib/src/mapi/glapi/gen/glX_API.xml @@ -201,13 +201,13 @@ - + - + @@ -217,7 +217,7 @@ - + diff --git a/mesalib/src/mapi/glapi/gen/gl_API.dtd b/mesalib/src/mapi/glapi/gen/gl_API.dtd index db33500c0..066d5da52 100644 --- a/mesalib/src/mapi/glapi/gen/gl_API.dtd +++ b/mesalib/src/mapi/glapi/gen/gl_API.dtd @@ -37,7 +37,11 @@ static_dispatch (true | false) "true" vectorequiv NMTOKEN #IMPLIED es1 CDATA "none" - es2 CDATA "none"> + es2 CDATA "none" + deprecated CDATA "none" + exec NMTOKEN #IMPLIED + desktop (true | false) "true" + mesa_name CDATA #IMPLIED> diff --git a/mesalib/src/mapi/glapi/gen/gl_API.xml b/mesalib/src/mapi/glapi/gen/gl_API.xml index ca7f383e3..01d2a9cd2 100644 --- a/mesalib/src/mapi/glapi/gen/gl_API.xml +++ b/mesalib/src/mapi/glapi/gen/gl_API.xml @@ -1108,51 +1108,51 @@ - + - + - + - + - + - + - + - + - + @@ -1163,785 +1163,876 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1952,25 +2043,25 @@ - + - + - + - + @@ -1987,59 +2078,59 @@ - + - + - + - + - + - + - + - + - + @@ -2050,28 +2141,30 @@ - + - + - + - + @@ -2089,7 +2182,7 @@ - + @@ -2102,7 +2195,7 @@ - + @@ -2160,114 +2253,114 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2282,7 +2375,7 @@ - + @@ -2290,7 +2383,7 @@ - + @@ -2331,12 +2424,12 @@ - + - + @@ -2360,16 +2453,16 @@ - + - + - + @@ -2379,7 +2472,7 @@ - + @@ -2389,7 +2482,7 @@ - + @@ -2403,7 +2496,7 @@ - + @@ -2417,21 +2510,21 @@ - + - + - + @@ -2441,7 +2534,7 @@ - + @@ -2451,57 +2544,68 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -2510,13 +2614,14 @@ - + - + @@ -2552,19 +2657,19 @@ - + - + - + @@ -2582,21 +2687,21 @@ - + - + - + @@ -2608,7 +2713,7 @@ - + @@ -2628,7 +2733,7 @@ - + @@ -2643,7 +2748,7 @@ - + @@ -2672,74 +2777,74 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -2750,35 +2855,35 @@ - + - + - + - + - + @@ -2830,7 +2935,7 @@ - + @@ -2842,7 +2947,7 @@ - + @@ -2852,36 +2957,36 @@ - + - + - + - + - + - + - + @@ -2891,15 +2996,15 @@ - + - + - + @@ -2907,7 +3012,7 @@ - + @@ -2915,28 +3020,28 @@ - + - + - + - + @@ -3126,12 +3231,13 @@ - + - + @@ -3139,19 +3245,22 @@ - + - + - + @@ -3159,13 +3268,13 @@ - + - + @@ -3176,28 +3285,28 @@ - + - + - + - + @@ -3205,7 +3314,7 @@ - + @@ -3290,7 +3399,7 @@ - + @@ -3322,27 +3431,28 @@ - + - + - + - + - + @@ -3708,7 +3818,8 @@ - + @@ -3718,7 +3829,7 @@ - + @@ -3728,21 +3839,21 @@ - + - + - + @@ -3751,7 +3862,7 @@ - + @@ -3759,21 +3870,21 @@ - + - + - + @@ -3783,7 +3894,7 @@ - + @@ -3792,7 +3903,7 @@ - + @@ -3802,7 +3913,7 @@ - + @@ -3813,35 +3924,35 @@ - + - + - + - + - + @@ -3850,7 +3961,7 @@ - + @@ -3860,7 +3971,7 @@ - + @@ -3868,21 +3979,21 @@ - + - + - + @@ -3892,7 +4003,7 @@ - + @@ -3904,7 +4015,7 @@ - + @@ -3913,21 +4024,21 @@ - + - + - + @@ -3936,21 +4047,21 @@ - + - + - + @@ -3958,19 +4069,19 @@ - + - + - + @@ -4238,143 +4349,168 @@ + es1="1.0" deprecated="3.1"> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -4382,12 +4518,14 @@ - + - + @@ -4395,12 +4533,14 @@ - + - + @@ -4408,12 +4548,14 @@ - + - + @@ -4421,24 +4563,29 @@ - + - + - + - + - + @@ -4648,23 +4795,24 @@ - + - + - + - + - + @@ -4705,166 +4853,183 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5828,151 +5993,164 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -5980,13 +6158,14 @@ - + - + @@ -5994,13 +6173,14 @@ - + - + @@ -6008,13 +6188,14 @@ - + - + @@ -6022,7 +6203,7 @@ - + @@ -6393,47 +6574,47 @@ - + - + - + - + - + - + - + - + - + @@ -6441,7 +6622,7 @@ - + @@ -6476,30 +6657,30 @@ - + - + - + - + - + @@ -6866,115 +7047,125 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -6982,13 +7173,14 @@ - + - + @@ -6996,13 +7188,14 @@ - + - + @@ -7010,13 +7203,14 @@ - + - + @@ -7024,67 +7218,67 @@ - + - + - + - + - + - + - + - + - + - + - + @@ -7110,7 +7304,7 @@ - + @@ -7138,7 +7332,8 @@ - + @@ -7147,14 +7342,16 @@ - + - + @@ -7163,14 +7360,16 @@ - + - + @@ -7179,14 +7378,16 @@ - + - + @@ -7195,7 +7396,8 @@ - + @@ -7214,28 +7416,32 @@ the ARB_vertex_program protocol to unused padding. --> - + - + - + - + @@ -7243,14 +7449,14 @@ - + - + @@ -8025,7 +8231,8 @@ - + @@ -8061,13 +8268,15 @@ - + - + @@ -8111,7 +8320,7 @@ - + @@ -8215,14 +8424,14 @@ - + - + @@ -8712,37 +8921,37 @@ - + - + - + - + - + - + @@ -8750,7 +8959,7 @@ - + @@ -8765,7 +8974,7 @@ - + @@ -8831,14 +9040,14 @@ - + - + @@ -8846,14 +9055,14 @@ - + - + @@ -8861,13 +9070,15 @@ - + - + @@ -8898,7 +9109,7 @@ - + @@ -8913,7 +9124,7 @@ - + @@ -8925,7 +9136,7 @@ - + @@ -8933,7 +9144,7 @@ - + @@ -8941,7 +9152,7 @@ - + @@ -8950,7 +9161,7 @@ - + @@ -9064,25 +9275,25 @@ - + - + - + - + @@ -9103,13 +9314,13 @@ - + - + @@ -9117,33 +9328,33 @@ - + - + - + - + - + - + @@ -9167,14 +9378,14 @@ - + - + @@ -9182,14 +9393,14 @@ - + - + @@ -9203,13 +9414,13 @@ - + - + @@ -9224,37 +9435,37 @@ - + - + - + - + - + - + @@ -9301,7 +9512,7 @@ - + @@ -9385,42 +9596,42 @@ - + - + - + - + - + - + @@ -9472,7 +9683,7 @@ - + @@ -9480,7 +9691,7 @@ - + @@ -9491,13 +9702,13 @@ - + - + @@ -9513,13 +9724,13 @@ - + - + @@ -9531,121 +9742,121 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -9682,15 +9893,15 @@ - + - + - + @@ -9708,55 +9919,55 @@ - + - + - + - + - + - + - + - + - + - + @@ -9773,25 +9984,25 @@ - + - + - + - + @@ -9817,24 +10028,30 @@ - + - + - + - + @@ -9850,57 +10067,72 @@ - + - + - + - + - + - + - + - + - + - + @@ -9915,7 +10147,7 @@ - + @@ -9929,7 +10161,8 @@ - + @@ -9940,20 +10173,22 @@ - + - + - + - + @@ -9973,113 +10208,113 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -10113,7 +10348,7 @@ - + @@ -10123,70 +10358,70 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -10194,7 +10429,7 @@ - + @@ -10203,12 +10438,12 @@ - + - + @@ -10218,12 +10453,12 @@ - + - + @@ -10232,12 +10467,12 @@ - + - + @@ -10246,12 +10481,12 @@ - + - + @@ -10264,13 +10499,13 @@ - + - + @@ -10278,12 +10513,12 @@ - + - + @@ -10294,12 +10529,12 @@ - + - + @@ -10311,13 +10546,13 @@ - + - + @@ -10328,13 +10563,13 @@ - + - + @@ -10345,13 +10580,13 @@ - + - + @@ -10366,14 +10601,14 @@ - + - + @@ -10391,26 +10626,26 @@ - + - + - + - + @@ -10421,13 +10656,13 @@ - + - + @@ -10437,13 +10672,13 @@ - + - + @@ -10453,13 +10688,14 @@ - + - + @@ -10473,14 +10709,15 @@ - + - + @@ -10489,13 +10726,14 @@ - + - + @@ -10507,14 +10745,16 @@ - + - + @@ -10530,7 +10770,8 @@ - + @@ -10603,17 +10844,18 @@ - + - + - + @@ -10632,11 +10874,11 @@ - + - + @@ -10644,31 +10886,31 @@ - + - + - + - + - + @@ -10678,7 +10920,7 @@ - + @@ -10692,7 +10934,7 @@ - + @@ -10700,7 +10942,7 @@ - + @@ -10709,7 +10951,7 @@ - + @@ -10718,7 +10960,7 @@ - + @@ -10726,7 +10968,7 @@ - + @@ -10734,14 +10976,14 @@ - + - + @@ -10889,7 +11131,7 @@ - + @@ -10897,12 +11139,12 @@ - + - + @@ -10910,12 +11152,12 @@ - + - + @@ -10923,12 +11165,12 @@ - + - + @@ -10936,7 +11178,7 @@ - + @@ -10971,7 +11213,7 @@ - + @@ -10979,7 +11221,7 @@ - + @@ -10987,34 +11229,34 @@ - + - + - + - + - + @@ -11022,7 +11264,7 @@ - + @@ -11049,7 +11291,7 @@ - + @@ -11072,7 +11314,7 @@ - + @@ -11098,43 +11340,43 @@ - + - + - + - + - + - + - + @@ -11146,7 +11388,7 @@ - + @@ -11158,19 +11400,19 @@ - + - + - + @@ -11180,33 +11422,33 @@ - + - + - + - + - + @@ -11218,13 +11460,13 @@ - + - + @@ -11358,7 +11600,8 @@ - + @@ -11366,26 +11609,30 @@ - + - + - + - + @@ -11397,7 +11644,8 @@ of these functions. --> - + @@ -11405,7 +11653,8 @@ - + @@ -11413,21 +11662,24 @@ - + - + - + @@ -11435,41 +11687,47 @@ - + - + - + - + - + - + @@ -11507,7 +11765,8 @@ - + @@ -11515,7 +11774,8 @@ - + @@ -11523,13 +11783,15 @@ - + - + @@ -11537,7 +11799,8 @@ - + @@ -11546,43 +11809,50 @@ - + - + - + - + - + - + - + @@ -11590,49 +11860,61 @@ - + - + - + - + - + - + - + - + @@ -11640,49 +11922,57 @@ - + - + - + - + - + - + - + - + @@ -11690,13 +11980,16 @@ - + - + @@ -11704,97 +11997,111 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -11863,22 +12170,22 @@ - + - + - + - + @@ -11997,45 +12304,45 @@ redudndant garbage. There are a lot of enums with the value 0x00000001. --> - + - + - + - + - + - + - + - + @@ -12046,7 +12353,7 @@ - + @@ -12060,7 +12367,7 @@ - + @@ -12077,7 +12384,7 @@ - + @@ -12087,7 +12394,7 @@ - + @@ -12100,7 +12407,7 @@ - + @@ -12116,7 +12423,8 @@ - + @@ -12134,7 +12442,7 @@ - + @@ -12190,13 +12498,13 @@ - + - + @@ -12218,7 +12526,8 @@ - + @@ -12258,7 +12567,9 @@ - + @@ -12268,7 +12579,9 @@ - + @@ -12278,7 +12591,8 @@ - + @@ -12286,7 +12600,8 @@ - + @@ -12294,7 +12609,8 @@ - + @@ -12302,7 +12618,8 @@ - + @@ -12452,12 +12769,14 @@ - + - + @@ -12503,12 +12822,12 @@ - + - + @@ -12553,7 +12872,8 @@ - + @@ -12563,14 +12883,16 @@ - + - + @@ -12613,17 +12935,17 @@ - + - + - + @@ -12632,7 +12954,7 @@ - + @@ -12667,14 +12989,14 @@ - + - + @@ -12691,7 +13013,7 @@ - + @@ -12708,11 +13030,11 @@ - + - + diff --git a/mesalib/src/mapi/glapi/gen/gl_XML.py b/mesalib/src/mapi/glapi/gen/gl_XML.py index 019687912..47f8dd5b9 100644 --- a/mesalib/src/mapi/glapi/gen/gl_XML.py +++ b/mesalib/src/mapi/glapi/gen/gl_XML.py @@ -594,6 +594,46 @@ class gl_parameter(object): return self.type_expr.format_string() +# Regular expression used to parse "mesa_name" attributes. A +# mesa_name attribute describes how to adjust a GL function name +# suffix to obtain the name of the function in Mesa that implements +# the functionality. The attribute string consists of a part preceded +# by a "-", indicating the suffix to remove, and a part preceded by a +# "+" indicating the suffix to add. Either part is optional. +# +# For example: +# +# ... +# ... +# +# means that EnableIndexedEXT is implemented by a Mesa function called +# _mesa_EnableIndexed, and IsProgramNV is implemented by a Mesa function +# called _mesa_IsProgramARB. +# +# Note: the prefix "_mesa_" is handled separately, by the "exec" +# attribute. +name_modification_regexp = re.compile( + r'^(-(?P[a-zA-Z0-9_]+))?(\+(?P[a-zA-Z0-9_]+))?$') + + +# Interpret a "mesa_name" attribute (see above) to determine the +# appropriate suffix for the Mesa function implementing a piece of GL +# functionality, and return the properly suffixed name. +def interpret_name_modification(name, mod): + m = name_modification_regexp.match(mod) + if m is None: + raise Exception('Unintelligible mesa_name property: {0!r}'.format(mod)) + new_name = name + if m.group('minus'): + if not new_name.endswith(m.group('minus')): + raise Exception( + 'Cannot subtract suffix {0!r} from function {1}'.format( + m.group('minus'), name)) + new_name = new_name[:-len(m.group('minus'))] + if m.group('plus'): + new_name += m.group('plus') + return new_name + class gl_function( gl_item ): def __init__(self, element, context): @@ -606,6 +646,10 @@ class gl_function( gl_item ): self.offset = -1 self.initialized = 0 self.images = [] + self.exec_flavor = 'mesa' + self.desktop = True + self.deprecated = None + self.mesa_name = None # self.entry_point_api_map[name][api] is a decimal value # indicating the earliest version of the given API in which @@ -613,10 +657,18 @@ class gl_function( gl_item ): # the first level of the map; the second level of the map only # lists APIs which contain the entry point in at least one # version. For example, - # self.entry_point_gles_map['ClipPlanex'] == { 'es1': + # self.entry_point_api_map['ClipPlanex'] == { 'es1': # Decimal('1.1') }. self.entry_point_api_map = {} + # self.api_map[api] is a decimal value indicating the earliest + # version of the given API in which ANY alias for the function + # exists. The map only lists APIs which contain the function + # in at least one version. For example, for the ClipPlanex + # function, self.entry_point_api_map == { 'es1': + # Decimal('1.1') }. + self.api_map = {} + self.assign_offset = 0 self.static_entry_points = [] @@ -651,15 +703,30 @@ class gl_function( gl_item ): version_str = element.nsProp(api, None) assert version_str is not None if version_str != 'none': - self.entry_point_api_map[name][api] = Decimal(version_str) + version_decimal = Decimal(version_str) + self.entry_point_api_map[name][api] = version_decimal + if api not in self.api_map or \ + version_decimal < self.api_map[api]: + self.api_map[api] = version_decimal + + exec_flavor = element.nsProp('exec', None) + if exec_flavor: + self.exec_flavor = exec_flavor + + deprecated = element.nsProp('deprecated', None) + if deprecated != 'none': + self.deprecated = Decimal(deprecated) + + if not is_attr_true(element, 'desktop'): + self.desktop = False if alias: true_name = alias else: true_name = name - # Only try to set the offset when a non-alias - # entry-point is being processes. + # Only try to set the offset and mesa_name when a + # non-alias entry-point is being processed. offset = element.nsProp( "offset", None ) if offset: @@ -671,6 +738,12 @@ class gl_function( gl_item ): if offset == "assign": self.assign_offset = 1 + mesa_name = element.nsProp('mesa_name', None) + if mesa_name is None: + self.mesa_name = name + else: + self.mesa_name = interpret_name_modification(name, mesa_name) + if not self.name: self.name = true_name diff --git a/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml b/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml index 7495a2e56..205f74fa9 100644 --- a/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml +++ b/mesalib/src/mapi/glapi/gen/gl_and_es_API.xml @@ -19,13 +19,13 @@ + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -33,12 +33,12 @@ + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -46,23 +46,25 @@ + es1="1.0" desktop="false"> - + - + + es1="1.0" desktop="false"> @@ -72,62 +74,62 @@ + es1="1.0" desktop="false"> + static_dispatch="false" es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + static_dispatch="false" es1="1.0" desktop="false"> @@ -136,14 +138,14 @@ + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -153,18 +155,18 @@ + es1="1.0" desktop="false"> + static_dispatch="false" es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -172,41 +174,41 @@ + static_dispatch="false" es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + es1="1.0" desktop="false"> + static_dispatch="false" es1="1.0" desktop="false"> + es1="1.0" desktop="false"> @@ -214,7 +216,7 @@ + es1="1.0" desktop="false"> @@ -224,7 +226,7 @@ + es1="1.0" desktop="false"> @@ -237,7 +239,7 @@ + es1="1.1" desktop="false"> @@ -249,53 +251,53 @@ + es1="1.1" desktop="false"> + es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> + es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> + static_dispatch="false" es1="1.1" desktop="false"> @@ -303,7 +305,7 @@ + es1="1.1" desktop="false"> diff --git a/mesalib/src/mapi/glapi/gen/gl_genexec.py b/mesalib/src/mapi/glapi/gen/gl_genexec.py new file mode 100644 index 000000000..adfa5957e --- /dev/null +++ b/mesalib/src/mapi/glapi/gen/gl_genexec.py @@ -0,0 +1,222 @@ +#!/usr/bin/env python + +# Copyright (C) 2012 Intel Corporation +# +# 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 (including the next +# paragraph) 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. + +# This script generates the file api_exec.c, which contains +# _mesa_create_exec_table(). It is responsible for populating all +# entries in the "exec" dispatch table that aren't dynamic. + +import collections +import license +import gl_XML +import sys, getopt + + +exec_flavor_map = { + 'check': '_check_', + 'dynamic': None, + 'es': '_es_', + 'loopback': 'loopback_', + 'mesa': '_mesa_', + 'skip': None, + } + + +header = """/** + * \\file api_exec.c + * Initialize dispatch table. + */ + + +#include "main/mfeatures.h" +#include "main/accum.h" +#include "main/api_loopback.h" +#include "main/api_exec.h" +#include "main/arbprogram.h" +#include "main/atifragshader.h" +#include "main/attrib.h" +#include "main/blend.h" +#include "main/bufferobj.h" +#include "main/arrayobj.h" +#include "main/buffers.h" +#include "main/clear.h" +#include "main/clip.h" +#include "main/colortab.h" +#include "main/condrender.h" +#include "main/context.h" +#include "main/convolve.h" +#include "main/depth.h" +#include "main/dlist.h" +#include "main/drawpix.h" +#include "main/drawtex.h" +#include "main/rastpos.h" +#include "main/enable.h" +#include "main/errors.h" +#include "main/es1_conversion.h" +#include "main/eval.h" +#include "main/get.h" +#include "main/feedback.h" +#include "main/fog.h" +#include "main/fbobject.h" +#include "main/framebuffer.h" +#include "main/hint.h" +#include "main/histogram.h" +#include "main/imports.h" +#include "main/light.h" +#include "main/lines.h" +#include "main/matrix.h" +#include "main/multisample.h" +#include "main/pixel.h" +#include "main/pixelstore.h" +#include "main/points.h" +#include "main/polygon.h" +#include "main/querymatrix.h" +#include "main/queryobj.h" +#include "main/readpix.h" +#include "main/samplerobj.h" +#include "main/scissor.h" +#include "main/stencil.h" +#include "main/texenv.h" +#include "main/texgetimage.h" +#include "main/teximage.h" +#include "main/texgen.h" +#include "main/texobj.h" +#include "main/texparam.h" +#include "main/texstate.h" +#include "main/texstorage.h" +#include "main/texturebarrier.h" +#include "main/transformfeedback.h" +#include "main/mtypes.h" +#include "main/varray.h" +#include "main/viewport.h" +#include "main/shaderapi.h" +#include "main/uniforms.h" +#include "main/syncobj.h" +#include "main/dispatch.h" + + +/** + * Initialize a dispatch table with pointers to Mesa's immediate-mode + * commands. + * + * Pointers to glBegin()/glEnd() object commands and a few others + * are provided via the GLvertexformat interface. + * + * \param ctx GL context to which \c exec belongs. + * \param exec dispatch table. + */ +struct _glapi_table * +_mesa_create_exec_table(struct gl_context *ctx) +{ + struct _glapi_table *exec; + + exec = _mesa_alloc_dispatch_table(_gloffset_COUNT); + if (exec == NULL) + return NULL; + +""" + + +footer = """ + return exec; +} +""" + + +class PrintCode(gl_XML.gl_print_base): + + def __init__(self): + gl_XML.gl_print_base.__init__(self) + + self.name = 'gl_genexec.py' + self.license = license.bsd_license_template % ( + 'Copyright (C) 2012 Intel Corporation', + 'Intel Corporation') + + def printRealHeader(self): + print header + + def printRealFooter(self): + print footer + + def printBody(self, api): + # Collect SET_* calls by the condition under which they should + # be called. + settings_by_condition = collections.defaultdict(lambda: []) + for f in api.functionIterateAll(): + if f.exec_flavor not in exec_flavor_map: + raise Exception( + 'Unrecognized exec flavor {0!r}'.format(f.exec_flavor)) + condition_parts = [] + if f.desktop: + if f.deprecated: + condition_parts.append('ctx->API == API_OPENGL') + else: + condition_parts.append('_mesa_is_desktop_gl(ctx)') + if 'es1' in f.api_map: + condition_parts.append('ctx->API == API_OPENGLES') + if 'es2' in f.api_map: + if f.api_map['es2'] == 3: + condition_parts.append('_mesa_is_gles3(ctx)') + else: + condition_parts.append('ctx->API == API_OPENGLES2') + if not condition_parts: + # This function does not exist in any API. + continue + condition = ' || '.join(condition_parts) + prefix = exec_flavor_map[f.exec_flavor] + if prefix is None: + # This function is not implemented, or is dispatched + # dynamically. + continue + settings_by_condition[condition].append( + 'SET_{0}(exec, {1}{2});'.format(f.name, prefix, f.mesa_name)) + # Print out an if statement for each unique condition, with + # the SET_* calls nested inside it. + for condition in sorted(settings_by_condition.keys()): + print ' if ({0}) {{'.format(condition) + for setting in sorted(settings_by_condition[condition]): + print ' {0}'.format(setting) + print ' }' + + +def show_usage(): + print "Usage: %s [-f input_file_name]" % sys.argv[0] + sys.exit(1) + + +if __name__ == '__main__': + file_name = "gl_and_es_API.xml" + + try: + (args, trail) = getopt.getopt(sys.argv[1:], "m:f:") + except Exception,e: + show_usage() + + for (arg,val) in args: + if arg == "-f": + file_name = val + + printer = PrintCode() + + api = gl_XML.parse_GL_API(file_name) + printer.Print(api) diff --git a/mesalib/src/mesa/Android.gen.mk b/mesalib/src/mesa/Android.gen.mk index ffa36db4d..ce6d65bbd 100644 --- a/mesalib/src/mesa/Android.gen.mk +++ b/mesalib/src/mesa/Android.gen.mk @@ -32,6 +32,7 @@ intermediates := $(call local-intermediates-dir) # This is the list of auto-generated files: sources and headers sources := \ main/enums.c \ + main/api_exec.c \ program/program_parse.tab.c \ program/lex.yy.c \ main/dispatch.h \ @@ -123,6 +124,12 @@ $(intermediates)/main/enums.c: PRIVATE_XML := -f $(glapi)/gl_and_es_API.xml $(intermediates)/main/enums.c: $(dispatch_deps) $(call es-gen) +$(intermediates)/main/api_exec.c: PRIVATE_SCRIPT := $(MESA_PYTHON2) $(glapi)/gl_genexec.py +$(intermediates)/main/api_exec.c: PRIVATE_XML := -f $(glapi)/gl_and_es_API.xml + +$(intermediates)/main/api_exec.c: $(dispatch_deps) + $(call es-gen) + GET_HASH_GEN := $(LOCAL_PATH)/main/get_hash_generator.py GET_HASH_GEN_FLAGS := $(patsubst %,-a %,$(MESA_ENABLED_APIS)) diff --git a/mesalib/src/mesa/SConscript b/mesalib/src/mesa/SConscript index 53e5ee8c2..11e034f84 100644 --- a/mesalib/src/mesa/SConscript +++ b/mesalib/src/mesa/SConscript @@ -441,6 +441,14 @@ env.CodeGenerate( command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' ) +# The api_exec.c file is generated from the GL/ES API.xml file +env.CodeGenerate( + target = 'main/api_exec.c', + script = GLAPI + 'gen/gl_genexec.py', + source = GLAPI + 'gen/gl_and_es_API.xml', + command = python_cmd + ' $SCRIPT -f $SOURCE > $TARGET' + ) + # We also depend on the auto-generated GL API headers env.Depends(mesa_sources, glapi_headers) diff --git a/mesalib/src/mesa/drivers/common/meta.c b/mesalib/src/mesa/drivers/common/meta.c index 24d8d485a..1f2a8a696 100644 --- a/mesalib/src/mesa/drivers/common/meta.c +++ b/mesalib/src/mesa/drivers/common/meta.c @@ -292,7 +292,6 @@ struct gen_mipmap_state GLuint FBO; GLuint Sampler; GLuint ShaderProg; - GLuint IntegerShaderProg; struct glsl_sampler sampler_1d; struct glsl_sampler sampler_2d; struct glsl_sampler sampler_3d; @@ -3047,27 +3046,6 @@ setup_glsl_generate_mipmap(struct gl_context *ctx, }; struct glsl_sampler *sampler; const char *vs_source; - - static const char *vs_int_source = - "#version 130\n" - "in vec2 position;\n" - "in vec3 textureCoords;\n" - "out vec3 texCoords;\n" - "void main()\n" - "{\n" - " texCoords = textureCoords;\n" - " gl_Position = gl_Vertex;\n" - "}\n"; - static const char *fs_int_source = - "#version 130\n" - "uniform isampler2D tex2d;\n" - "in vec3 texCoords;\n" - "out ivec4 out_color;\n" - "\n" - "void main()\n" - "{\n" - " out_color = texture(tex2d, texCoords.xy);\n" - "}\n"; char *fs_source; GLuint vs, fs; void *mem_ctx; @@ -3162,26 +3140,6 @@ setup_glsl_generate_mipmap(struct gl_context *ctx, link_program_with_debug(ctx, mipmap->ShaderProg); sampler->shader_prog = mipmap->ShaderProg; ralloc_free(mem_ctx); - - if ((_mesa_is_desktop_gl(ctx) && ctx->Const.GLSLVersion >= 130) || - _mesa_is_gles3(ctx)){ - vs = compile_shader_with_debug(ctx, GL_VERTEX_SHADER, vs_int_source); - fs = compile_shader_with_debug(ctx, GL_FRAGMENT_SHADER, fs_int_source); - - mipmap->IntegerShaderProg = _mesa_CreateProgramObjectARB(); - _mesa_AttachShader(mipmap->IntegerShaderProg, fs); - _mesa_DeleteObjectARB(fs); - _mesa_AttachShader(mipmap->IntegerShaderProg, vs); - _mesa_DeleteObjectARB(vs); - _mesa_BindAttribLocationARB(mipmap->IntegerShaderProg, 0, "position"); - _mesa_BindAttribLocationARB(mipmap->IntegerShaderProg, 1, "texcoords"); - - /* Note that user-defined out attributes get automatically assigned - * locations starting from 0, so we don't need to explicitly - * BindFragDataLocation to 0. - */ - link_program_with_debug(ctx, mipmap->IntegerShaderProg); - } } @@ -3209,11 +3167,6 @@ meta_glsl_generate_mipmap_cleanup(struct gl_context *ctx, mipmap->sampler_cubemap.shader_prog = 0; mipmap->sampler_1d_array.shader_prog = 0; mipmap->sampler_2d_array.shader_prog = 0; - - if (mipmap->IntegerShaderProg) { - _mesa_DeleteObjectARB(mipmap->IntegerShaderProg); - mipmap->IntegerShaderProg = 0; - } } @@ -3266,11 +3219,7 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target, */ if (use_glsl_version) { setup_glsl_generate_mipmap(ctx, mipmap, target); - - if (texObj->_IsIntegerFormat) - _mesa_UseProgramObjectARB(mipmap->IntegerShaderProg); - else - _mesa_UseProgramObjectARB(mipmap->ShaderProg); + _mesa_UseProgramObjectARB(mipmap->ShaderProg); } else { setup_ff_generate_mipmap(ctx, mipmap); @@ -3294,15 +3243,9 @@ _mesa_meta_GenerateMipmap(struct gl_context *ctx, GLenum target, _mesa_GenSamplers(1, &mipmap->Sampler); _mesa_BindSampler(ctx->Texture.CurrentUnit, mipmap->Sampler); - if (use_glsl_version && texObj->_IsIntegerFormat) - _mesa_SamplerParameteri(mipmap->Sampler, - GL_TEXTURE_MIN_FILTER, - GL_NEAREST_MIPMAP_NEAREST); - else - _mesa_SamplerParameteri(mipmap->Sampler, - GL_TEXTURE_MIN_FILTER, - GL_LINEAR_MIPMAP_LINEAR); - + _mesa_SamplerParameteri(mipmap->Sampler, + GL_TEXTURE_MIN_FILTER, + GL_LINEAR_MIPMAP_LINEAR); _mesa_SamplerParameteri(mipmap->Sampler, GL_TEXTURE_MAG_FILTER, GL_LINEAR); _mesa_SamplerParameteri(mipmap->Sampler, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); _mesa_SamplerParameteri(mipmap->Sampler, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); diff --git a/mesalib/src/mesa/main/.gitignore b/mesalib/src/mesa/main/.gitignore index 4115a9b2b..837f49036 100644 --- a/mesalib/src/mesa/main/.gitignore +++ b/mesalib/src/mesa/main/.gitignore @@ -1,3 +1,4 @@ +api_exec.c dispatch.h enums.c get_es1.c diff --git a/mesalib/src/mesa/main/accum.c b/mesalib/src/mesa/main/accum.c index e2d7726b5..6416ee860 100644 --- a/mesalib/src/mesa/main/accum.c +++ b/mesalib/src/mesa/main/accum.c @@ -55,7 +55,7 @@ _mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_Accum( GLenum op, GLfloat value ) { GET_CURRENT_CONTEXT(ctx); @@ -106,14 +106,6 @@ _mesa_Accum( GLenum op, GLfloat value ) } -void -_mesa_init_accum_dispatch(struct _glapi_table *disp) -{ - SET_Accum(disp, _mesa_Accum); - SET_ClearAccum(disp, _mesa_ClearAccum); -} - - /** * Clear the accumulation buffer by mapping the renderbuffer and * writing the clear color to it. Called by the driver's implementation diff --git a/mesalib/src/mesa/main/accum.h b/mesalib/src/mesa/main/accum.h index 594a7687d..00c24b2db 100644 --- a/mesalib/src/mesa/main/accum.h +++ b/mesalib/src/mesa/main/accum.h @@ -46,9 +46,8 @@ struct gl_renderbuffer; extern void GLAPIENTRY _mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha ); - -extern void -_mesa_init_accum_dispatch(struct _glapi_table *disp); +void GLAPIENTRY +_mesa_Accum( GLenum op, GLfloat value ); extern void _mesa_accum(struct gl_context *ctx, GLenum op, GLfloat value); diff --git a/mesalib/src/mesa/main/api_exec.c b/mesalib/src/mesa/main/api_exec.c deleted file mode 100644 index bc5f71f0d..000000000 --- a/mesalib/src/mesa/main/api_exec.c +++ /dev/null @@ -1,935 +0,0 @@ -/* - * Mesa 3-D graphics library - * Version: 7.1 - * - * Copyright (C) 1999-2008 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 - * BRIAN PAUL 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. - */ - - -/** - * \file api_exec.c - * Initialize dispatch table with the immidiate mode functions. - */ - - -#include "mfeatures.h" -#include "accum.h" -#include "api_loopback.h" -#include "api_exec.h" -#include "arbprogram.h" -#include "atifragshader.h" -#include "attrib.h" -#include "blend.h" -#include "bufferobj.h" -#include "arrayobj.h" -#include "buffers.h" -#include "clear.h" -#include "clip.h" -#include "colortab.h" -#include "condrender.h" -#include "context.h" -#include "convolve.h" -#include "depth.h" -#include "dlist.h" -#include "drawpix.h" -#include "drawtex.h" -#include "rastpos.h" -#include "enable.h" -#include "errors.h" -#include "es1_conversion.h" -#include "eval.h" -#include "get.h" -#include "feedback.h" -#include "fog.h" -#include "fbobject.h" -#include "framebuffer.h" -#include "hint.h" -#include "histogram.h" -#include "imports.h" -#include "light.h" -#include "lines.h" -#include "matrix.h" -#include "multisample.h" -#include "pixel.h" -#include "pixelstore.h" -#include "points.h" -#include "polygon.h" -#include "querymatrix.h" -#include "queryobj.h" -#include "readpix.h" -#include "samplerobj.h" -#include "scissor.h" -#include "stencil.h" -#include "texenv.h" -#include "texgetimage.h" -#include "teximage.h" -#include "texgen.h" -#include "texobj.h" -#include "texparam.h" -#include "texstate.h" -#include "texstorage.h" -#include "texturebarrier.h" -#include "transformfeedback.h" -#include "mtypes.h" -#include "varray.h" -#include "viewport.h" -#include "shaderapi.h" -#include "uniforms.h" -#include "syncobj.h" -#include "main/dispatch.h" - - -/** - * Initialize a dispatch table with pointers to Mesa's immediate-mode - * commands. - * - * Pointers to glBegin()/glEnd() object commands and a few others - * are provided via the GLvertexformat interface. - * - * \param ctx GL context to which \c exec belongs. - * \param exec dispatch table. - */ -struct _glapi_table * -_mesa_create_exec_table(struct gl_context *ctx) -{ - struct _glapi_table *exec; - - exec = _mesa_alloc_dispatch_table(_gloffset_COUNT); - if (exec == NULL) - return NULL; - - _mesa_loopback_init_api_table(ctx, exec); - - /* load the dispatch slots we understand */ - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_AlphaFunc(exec, _mesa_AlphaFunc); - } - - SET_BlendFunc(exec, _mesa_BlendFunc); - SET_Clear(exec, _mesa_Clear); - SET_ClearColor(exec, _mesa_ClearColor); - SET_ClearStencil(exec, _mesa_ClearStencil); - SET_ColorMask(exec, _mesa_ColorMask); - SET_CullFace(exec, _mesa_CullFace); - SET_Disable(exec, _mesa_Disable); - if (ctx->API == API_OPENGL || ctx->API == API_OPENGL_CORE) - SET_DrawBuffer(exec, _mesa_DrawBuffer); - if (ctx->API != API_OPENGLES) { - SET_ReadBuffer(exec, _mesa_ReadBuffer); - } - SET_Enable(exec, _mesa_Enable); - SET_Finish(exec, _mesa_Finish); - SET_Flush(exec, _mesa_Flush); - SET_FrontFace(exec, _mesa_FrontFace); - if (ctx->API == API_OPENGL) { - SET_Frustum(exec, _mesa_Frustum); - } - SET_GetError(exec, _mesa_GetError); - SET_GetFloatv(exec, _mesa_GetFloatv); - SET_GetString(exec, _mesa_GetString); - if (ctx->API == API_OPENGL) { - SET_LineStipple(exec, _mesa_LineStipple); - } - SET_LineWidth(exec, _mesa_LineWidth); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_LoadIdentity(exec, _mesa_LoadIdentity); - SET_LoadMatrixf(exec, _mesa_LoadMatrixf); - } - if (ctx->API != API_OPENGLES2) { - SET_LogicOp(exec, _mesa_LogicOp); - } - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_MatrixMode(exec, _mesa_MatrixMode); - SET_MultMatrixf(exec, _mesa_MultMatrixf); - } - if (ctx->API == API_OPENGL) { - SET_Ortho(exec, _mesa_Ortho); - } - SET_PixelStorei(exec, _mesa_PixelStorei); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_PopMatrix(exec, _mesa_PopMatrix); - SET_PushMatrix(exec, _mesa_PushMatrix); - SET_Rotatef(exec, _mesa_Rotatef); - SET_Scalef(exec, _mesa_Scalef); - } - SET_Scissor(exec, _mesa_Scissor); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_ShadeModel(exec, _mesa_ShadeModel); - } - SET_StencilFunc(exec, _mesa_StencilFunc); - SET_StencilMask(exec, _mesa_StencilMask); - SET_StencilOp(exec, _mesa_StencilOp); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_TexEnvfv(exec, _mesa_TexEnvfv); - SET_TexEnvi(exec, _mesa_TexEnvi); - } - SET_TexImage2D(exec, _mesa_TexImage2D); - SET_TexParameteri(exec, _mesa_TexParameteri); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_Translatef(exec, _mesa_Translatef); - } - SET_Viewport(exec, _mesa_Viewport); - - if (ctx->API == API_OPENGL) { - _mesa_init_accum_dispatch(exec); - _mesa_init_dlist_dispatch(exec); - } - - if (_mesa_is_desktop_gl(ctx)) { - SET_ClearDepth(exec, _mesa_ClearDepth); - } - - if (ctx->API == API_OPENGL) { - SET_ClearIndex(exec, _mesa_ClearIndex); - SET_ClipPlane(exec, _mesa_ClipPlane); - SET_ColorMaterial(exec, _mesa_ColorMaterial); - } - SET_DepthFunc(exec, _mesa_DepthFunc); - SET_DepthMask(exec, _mesa_DepthMask); - - if (_mesa_is_desktop_gl(ctx)) { - SET_DepthRange(exec, _mesa_DepthRange); - } - - if (ctx->API == API_OPENGL) { - _mesa_init_drawpix_dispatch(exec); - } - if (ctx->API == API_OPENGL) { - _mesa_init_feedback_dispatch(exec); - } - - if (ctx->API == API_OPENGL) { - SET_FogCoordPointerEXT(exec, _mesa_FogCoordPointerEXT); - SET_Fogi(exec, _mesa_Fogi); - SET_Fogiv(exec, _mesa_Fogiv); - SET_GetClipPlane(exec, _mesa_GetClipPlane); - } - if (ctx->API == API_OPENGL || ctx->API == API_OPENGLES) { - SET_Fogf(exec, _mesa_Fogf); - SET_Fogfv(exec, _mesa_Fogfv); - } - SET_GetBooleanv(exec, _mesa_GetBooleanv); - if (_mesa_is_desktop_gl(ctx)) { - SET_GetDoublev(exec, _mesa_GetDoublev); - } - SET_GetIntegerv(exec, _mesa_GetIntegerv); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_GetLightfv(exec, _mesa_GetLightfv); - SET_GetMaterialfv(exec, _mesa_GetMaterialfv); - SET_GetTexEnvfv(exec, _mesa_GetTexEnvfv); - SET_GetTexEnviv(exec, _mesa_GetTexEnviv); - } - if (ctx->API == API_OPENGL) { - SET_GetLightiv(exec, _mesa_GetLightiv); - SET_GetMaterialiv(exec, _mesa_GetMaterialiv); - SET_GetPolygonStipple(exec, _mesa_GetPolygonStipple); - } - if (_mesa_is_desktop_gl(ctx)) { - SET_GetTexLevelParameterfv(exec, _mesa_GetTexLevelParameterfv); - SET_GetTexLevelParameteriv(exec, _mesa_GetTexLevelParameteriv); - } - SET_GetTexParameterfv(exec, _mesa_GetTexParameterfv); - SET_GetTexParameteriv(exec, _mesa_GetTexParameteriv); - if (_mesa_is_desktop_gl(ctx)) { - SET_GetTexImage(exec, _mesa_GetTexImage); - } - SET_Hint(exec, _mesa_Hint); - if (ctx->API == API_OPENGL) { - SET_IndexMask(exec, _mesa_IndexMask); - } - SET_IsEnabled(exec, _mesa_IsEnabled); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_LightModelf(exec, _mesa_LightModelf); - SET_LightModelfv(exec, _mesa_LightModelfv); - SET_Lightf(exec, _mesa_Lightf); - SET_Lightfv(exec, _mesa_Lightfv); - } - if (ctx->API == API_OPENGL) { - SET_LightModeli(exec, _mesa_LightModeli); - SET_LightModeliv(exec, _mesa_LightModeliv); - SET_Lighti(exec, _mesa_Lighti); - SET_Lightiv(exec, _mesa_Lightiv); - SET_LoadMatrixd(exec, _mesa_LoadMatrixd); - } - - if (ctx->API == API_OPENGL) { - _mesa_init_eval_dispatch(exec); - SET_MultMatrixd(exec, _mesa_MultMatrixd); - _mesa_init_pixel_dispatch(exec); - } - - if (ctx->API != API_OPENGLES2) { - SET_PointSize(exec, _mesa_PointSize); - } - - if (_mesa_is_desktop_gl(ctx)) { - SET_PixelStoref(exec, _mesa_PixelStoref); - SET_PolygonMode(exec, _mesa_PolygonMode); - } - - SET_PolygonOffset(exec, _mesa_PolygonOffset); - if (ctx->API == API_OPENGL) { - SET_PolygonStipple(exec, _mesa_PolygonStipple); - _mesa_init_attrib_dispatch(exec); - _mesa_init_rastpos_dispatch(exec); - } - - SET_ReadPixels(exec, _mesa_ReadPixels); - if (ctx->API == API_OPENGL) { - SET_Rotated(exec, _mesa_Rotated); - SET_Scaled(exec, _mesa_Scaled); - SET_SecondaryColorPointerEXT(exec, _mesa_SecondaryColorPointerEXT); - } - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_TexEnvf(exec, _mesa_TexEnvf); - SET_TexEnviv(exec, _mesa_TexEnviv); - } - - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - _mesa_init_texgen_dispatch(ctx, exec); - } - - if (_mesa_is_desktop_gl(ctx)) { - SET_TexImage1D(exec, _mesa_TexImage1D); - } - SET_TexParameterf(exec, _mesa_TexParameterf); - SET_TexParameterfv(exec, _mesa_TexParameterfv); - SET_TexParameteriv(exec, _mesa_TexParameteriv); - if (ctx->API == API_OPENGL) { - SET_Translated(exec, _mesa_Translated); - } - - /* 1.1 */ - SET_BindTexture(exec, _mesa_BindTexture); - SET_DeleteTextures(exec, _mesa_DeleteTextures); - SET_GenTextures(exec, _mesa_GenTextures); - if (ctx->API == API_OPENGL) { - SET_AreTexturesResident(exec, _mesa_AreTexturesResident); - } - if (ctx->API == API_OPENGL || ctx->API == API_OPENGLES) { - SET_ColorPointer(exec, _mesa_ColorPointer); - } - if (_mesa_is_desktop_gl(ctx)) { - SET_CopyTexImage1D(exec, _mesa_CopyTexImage1D); - SET_CopyTexSubImage1D(exec, _mesa_CopyTexSubImage1D); - SET_TexSubImage1D(exec, _mesa_TexSubImage1D); - } - - SET_CopyTexImage2D(exec, _mesa_CopyTexImage2D); - SET_CopyTexSubImage2D(exec, _mesa_CopyTexSubImage2D); - SET_TexSubImage2D(exec, _mesa_TexSubImage2D); - - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_DisableClientState(exec, _mesa_DisableClientState); - SET_EnableClientState(exec, _mesa_EnableClientState); - } - if (ctx->API == API_OPENGL) { - SET_EdgeFlagPointer(exec, _mesa_EdgeFlagPointer); - SET_IndexPointer(exec, _mesa_IndexPointer); - SET_InterleavedArrays(exec, _mesa_InterleavedArrays); - } - if (ctx->API != API_OPENGLES2) { - /* Note glGetPointerv is deprecated in GL CORE 3.1 through 4.2, but - * was re-added in GL CORE 4.3. We will just keep the function - * around in all GL CORE contexts. - */ - SET_GetPointerv(exec, _mesa_GetPointerv); - } - SET_IsTexture(exec, _mesa_IsTexture); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_NormalPointer(exec, _mesa_NormalPointer); - SET_TexCoordPointer(exec, _mesa_TexCoordPointer); - SET_VertexPointer(exec, _mesa_VertexPointer); - } - if (ctx->API == API_OPENGL) { - SET_PrioritizeTextures(exec, _mesa_PrioritizeTextures); - } - - /* 1.2 */ - if (ctx->API != API_OPENGLES) { - SET_CopyTexSubImage3D(exec, _mesa_CopyTexSubImage3D); - SET_TexImage3D(exec, _mesa_TexImage3D); - SET_TexSubImage3D(exec, _mesa_TexSubImage3D); - } - - /* OpenGL 1.2 GL_ARB_imaging */ - if (ctx->API != API_OPENGLES) { - SET_BlendColor(exec, _mesa_BlendColor); - } - SET_BlendEquation(exec, _mesa_BlendEquation); - SET_BlendEquationSeparateEXT(exec, _mesa_BlendEquationSeparateEXT); - - if (ctx->API == API_OPENGL) { - _mesa_init_colortable_dispatch(exec); - _mesa_init_convolve_dispatch(exec); - _mesa_init_histogram_dispatch(exec); - } - - /* OpenGL 2.0 */ - if (ctx->API != API_OPENGLES) { - SET_StencilFuncSeparate(exec, _mesa_StencilFuncSeparate); - SET_StencilMaskSeparate(exec, _mesa_StencilMaskSeparate); - SET_StencilOpSeparate(exec, _mesa_StencilOpSeparate); - } - - _mesa_init_shader_dispatch(ctx, exec); - _mesa_init_shader_uniform_dispatch(ctx, exec); - - /* 2. GL_EXT_blend_color */ -#if 0 -/* SET_BlendColorEXT(exec, _mesa_BlendColorEXT); */ -#endif - - /* 3. GL_EXT_polygon_offset */ - if (ctx->API == API_OPENGL) { - SET_PolygonOffsetEXT(exec, _mesa_PolygonOffsetEXT); - } - - /* 6. GL_EXT_texture3d */ -#if 0 -/* SET_CopyTexSubImage3DEXT(exec, _mesa_CopyTexSubImage3D); */ -/* SET_TexImage3DEXT(exec, _mesa_TexImage3DEXT); */ -/* SET_TexSubImage3DEXT(exec, _mesa_TexSubImage3D); */ -#endif - - /* 11. GL_EXT_histogram */ -#if 0 - if (ctx->API == API_OPENGL) { - SET_GetHistogramEXT(exec, _mesa_GetHistogram); - SET_GetHistogramParameterfvEXT(exec, _mesa_GetHistogramParameterfv); - SET_GetHistogramParameterivEXT(exec, _mesa_GetHistogramParameteriv); - SET_GetMinmaxEXT(exec, _mesa_GetMinmax); - SET_GetMinmaxParameterfvEXT(exec, _mesa_GetMinmaxParameterfv); - SET_GetMinmaxParameterivEXT(exec, _mesa_GetMinmaxParameteriv); - } -#endif - - /* 14. SGI_color_table */ -#if 0 - if (ctx->API == API_OPENGL) { - SET_ColorTableSGI(exec, _mesa_ColorTable); - SET_ColorSubTableSGI(exec, _mesa_ColorSubTable); - SET_GetColorTableSGI(exec, _mesa_GetColorTable); - SET_GetColorTableParameterfvSGI(exec, _mesa_GetColorTableParameterfv); - SET_GetColorTableParameterivSGI(exec, _mesa_GetColorTableParameteriv); - } -#endif - - /* 30. GL_EXT_vertex_array */ - if (ctx->API == API_OPENGL) { - SET_ColorPointerEXT(exec, _mesa_ColorPointerEXT); - SET_EdgeFlagPointerEXT(exec, _mesa_EdgeFlagPointerEXT); - SET_IndexPointerEXT(exec, _mesa_IndexPointerEXT); - SET_NormalPointerEXT(exec, _mesa_NormalPointerEXT); - SET_TexCoordPointerEXT(exec, _mesa_TexCoordPointerEXT); - SET_VertexPointerEXT(exec, _mesa_VertexPointerEXT); - } - - /* 37. GL_EXT_blend_minmax */ -#if 0 - SET_BlendEquationEXT(exec, _mesa_BlendEquationEXT); -#endif - - /* 54. GL_EXT_point_parameters */ - if (ctx->API != API_OPENGLES2) { - SET_PointParameterfEXT(exec, _mesa_PointParameterf); - SET_PointParameterfvEXT(exec, _mesa_PointParameterfv); - } - - /* 95. GL_ARB_ES2_compatibility */ - SET_ClearDepthf(exec, _mesa_ClearDepthf); - SET_DepthRangef(exec, _mesa_DepthRangef); - - /* 97. GL_EXT_compiled_vertex_array */ - if (ctx->API == API_OPENGL) { - SET_LockArraysEXT(exec, _mesa_LockArraysEXT); - SET_UnlockArraysEXT(exec, _mesa_UnlockArraysEXT); - } - - /* 148. GL_EXT_multi_draw_arrays */ - SET_MultiDrawArraysEXT(exec, _mesa_MultiDrawArraysEXT); - - /* 173. GL_INGR_blend_func_separate */ - SET_BlendFuncSeparateEXT(exec, _mesa_BlendFuncSeparateEXT); - - /* 196. GL_MESA_resize_buffers */ - if (_mesa_is_desktop_gl(ctx)) { - SET_ResizeBuffersMESA(exec, _mesa_ResizeBuffersMESA); - } - - /* 197. GL_MESA_window_pos */ - /* part of _mesa_init_rastpos_dispatch(exec); */ - - /* 200. GL_IBM_multimode_draw_arrays */ - if (_mesa_is_desktop_gl(ctx)) { - SET_MultiModeDrawArraysIBM(exec, _mesa_MultiModeDrawArraysIBM); - SET_MultiModeDrawElementsIBM(exec, _mesa_MultiModeDrawElementsIBM); - } - - /* 233. GL_NV_vertex_program */ - if (ctx->API == API_OPENGL) { - SET_BindProgramNV(exec, _mesa_BindProgram); - SET_DeleteProgramsNV(exec, _mesa_DeletePrograms); - SET_GenProgramsNV(exec, _mesa_GenPrograms); - SET_IsProgramNV(exec, _mesa_IsProgramARB); - /* glVertexAttrib*NV functions handled in api_loopback.c */ - } - - /* 273. GL_APPLE_vertex_array_object */ - if (ctx->API == API_OPENGL) { - SET_BindVertexArrayAPPLE(exec, _mesa_BindVertexArrayAPPLE); - SET_GenVertexArraysAPPLE(exec, _mesa_GenVertexArraysAPPLE); - } - /* Reused by ARB_vertex_array_object / OES_vertex_array_object */ - if (ctx->API != API_OPENGLES) { - SET_DeleteVertexArraysAPPLE(exec, _mesa_DeleteVertexArraysAPPLE); - SET_IsVertexArrayAPPLE(exec, _mesa_IsVertexArrayAPPLE); - } - - /* 262. GL_NV_point_sprite */ - if (_mesa_is_desktop_gl(ctx)) { - SET_PointParameteriNV(exec, _mesa_PointParameteri); - SET_PointParameterivNV(exec, _mesa_PointParameteriv); - } - - /* 268. GL_EXT_stencil_two_side */ - if (ctx->API == API_OPENGL) { - SET_ActiveStencilFaceEXT(exec, _mesa_ActiveStencilFaceEXT); - } - - /* 285. GL_NV_primitive_restart */ - if (_mesa_is_desktop_gl(ctx)) { - SET_PrimitiveRestartIndexNV(exec, _mesa_PrimitiveRestartIndex); - } - - /* ???. GL_EXT_depth_bounds_test */ - if (_mesa_is_desktop_gl(ctx)) { - SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT); - } - - /* 352. GL_EXT_transform_feedback */ - /* ARB 93. GL_ARB_transform_feedback2 */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - _mesa_init_transform_feedback_dispatch(ctx, exec); - } - - /* 364. GL_EXT_provoking_vertex */ - if (_mesa_is_desktop_gl(ctx)) { - SET_ProvokingVertexEXT(exec, _mesa_ProvokingVertexEXT); - } - - /* ARB 1. GL_ARB_multitexture */ - SET_ActiveTextureARB(exec, _mesa_ActiveTextureARB); - if (ctx->API != API_OPENGL_CORE && ctx->API != API_OPENGLES2) { - SET_ClientActiveTextureARB(exec, _mesa_ClientActiveTextureARB); - } - - /* ARB 3. GL_ARB_transpose_matrix */ - if (ctx->API == API_OPENGL) { - SET_LoadTransposeMatrixdARB(exec, _mesa_LoadTransposeMatrixdARB); - SET_LoadTransposeMatrixfARB(exec, _mesa_LoadTransposeMatrixfARB); - SET_MultTransposeMatrixdARB(exec, _mesa_MultTransposeMatrixdARB); - SET_MultTransposeMatrixfARB(exec, _mesa_MultTransposeMatrixfARB); - } - - /* ARB 5. GL_ARB_multisample */ - SET_SampleCoverageARB(exec, _mesa_SampleCoverageARB); - - /* ARB 12. GL_ARB_texture_compression */ - if (_mesa_is_desktop_gl(ctx)) { - SET_CompressedTexImage1DARB(exec, _mesa_CompressedTexImage1DARB); - SET_CompressedTexSubImage1DARB(exec, _mesa_CompressedTexSubImage1DARB); - SET_GetCompressedTexImageARB(exec, _mesa_GetCompressedTexImageARB); - } - - if (ctx->API != API_OPENGLES) { - SET_CompressedTexImage3DARB(exec, _mesa_CompressedTexImage3DARB); - } - SET_CompressedTexImage2DARB(exec, _mesa_CompressedTexImage2DARB); - if (ctx->API != API_OPENGLES) { - SET_CompressedTexSubImage3DARB(exec, _mesa_CompressedTexSubImage3DARB); - } - SET_CompressedTexSubImage2DARB(exec, _mesa_CompressedTexSubImage2DARB); - - /* ARB 104. GL_ARB_robustness */ - if (_mesa_is_desktop_gl(ctx)) { - SET_GetnCompressedTexImageARB(exec, _mesa_GetnCompressedTexImageARB); - } - - /* ARB 14. GL_ARB_point_parameters */ - /* reuse EXT_point_parameters functions */ - - /* ARB 26. GL_ARB_vertex_program */ - /* ARB 27. GL_ARB_fragment_program */ - /* glVertexAttrib1sARB aliases glVertexAttrib1sNV */ - /* glVertexAttrib1fARB aliases glVertexAttrib1fNV */ - /* glVertexAttrib1dARB aliases glVertexAttrib1dNV */ - /* glVertexAttrib2sARB aliases glVertexAttrib2sNV */ - /* glVertexAttrib2fARB aliases glVertexAttrib2fNV */ - /* glVertexAttrib2dARB aliases glVertexAttrib2dNV */ - /* glVertexAttrib3sARB aliases glVertexAttrib3sNV */ - /* glVertexAttrib3fARB aliases glVertexAttrib3fNV */ - /* glVertexAttrib3dARB aliases glVertexAttrib3dNV */ - /* glVertexAttrib4sARB aliases glVertexAttrib4sNV */ - /* glVertexAttrib4fARB aliases glVertexAttrib4fNV */ - /* glVertexAttrib4dARB aliases glVertexAttrib4dNV */ - /* glVertexAttrib4NubARB aliases glVertexAttrib4NubNV */ - /* glVertexAttrib1svARB aliases glVertexAttrib1svNV */ - /* glVertexAttrib1fvARB aliases glVertexAttrib1fvNV */ - /* glVertexAttrib1dvARB aliases glVertexAttrib1dvNV */ - /* glVertexAttrib2svARB aliases glVertexAttrib2svNV */ - /* glVertexAttrib2fvARB aliases glVertexAttrib2fvNV */ - /* glVertexAttrib2dvARB aliases glVertexAttrib2dvNV */ - /* glVertexAttrib3svARB aliases glVertexAttrib3svNV */ - /* glVertexAttrib3fvARB aliases glVertexAttrib3fvNV */ - /* glVertexAttrib3dvARB aliases glVertexAttrib3dvNV */ - /* glVertexAttrib4svARB aliases glVertexAttrib4svNV */ - /* glVertexAttrib4fvARB aliases glVertexAttrib4fvNV */ - /* glVertexAttrib4dvARB aliases glVertexAttrib4dvNV */ - /* glVertexAttrib4NubvARB aliases glVertexAttrib4NubvNV */ - /* glVertexAttrib4bvARB handled in api_loopback.c */ - /* glVertexAttrib4ivARB handled in api_loopback.c */ - /* glVertexAttrib4ubvARB handled in api_loopback.c */ - /* glVertexAttrib4usvARB handled in api_loopback.c */ - /* glVertexAttrib4uivARB handled in api_loopback.c */ - /* glVertexAttrib4NbvARB handled in api_loopback.c */ - /* glVertexAttrib4NsvARB handled in api_loopback.c */ - /* glVertexAttrib4NivARB handled in api_loopback.c */ - /* glVertexAttrib4NusvARB handled in api_loopback.c */ - /* glVertexAttrib4NuivARB handled in api_loopback.c */ - if (ctx->API != API_OPENGLES) { - SET_VertexAttribPointerARB(exec, _mesa_VertexAttribPointerARB); - SET_EnableVertexAttribArrayARB(exec, _mesa_EnableVertexAttribArrayARB); - SET_DisableVertexAttribArrayARB(exec, _mesa_DisableVertexAttribArrayARB); - } - if (_mesa_is_desktop_gl(ctx)) { - /* glBindProgramARB aliases glBindProgramNV */ - /* glDeleteProgramsARB aliases glDeleteProgramsNV */ - /* glGenProgramsARB aliases glGenProgramsNV */ - /* glIsProgramARB aliases glIsProgramNV */ - SET_GetVertexAttribdvARB(exec, _mesa_GetVertexAttribdvARB); - } - if (ctx->API == API_OPENGL) { - SET_ProgramStringARB(exec, _mesa_ProgramStringARB); - } - - if (ctx->API != API_OPENGLES) { - SET_GetVertexAttribfvARB(exec, _mesa_GetVertexAttribfvARB); - SET_GetVertexAttribivARB(exec, _mesa_GetVertexAttribivARB); - SET_GetVertexAttribPointervNV(exec, _mesa_GetVertexAttribPointervARB); - } - if (ctx->API == API_OPENGL) { - SET_ProgramEnvParameter4dARB(exec, _mesa_ProgramEnvParameter4dARB); - SET_ProgramEnvParameter4dvARB(exec, _mesa_ProgramEnvParameter4dvARB); - SET_ProgramEnvParameter4fARB(exec, _mesa_ProgramEnvParameter4fARB); - SET_ProgramEnvParameter4fvARB(exec, _mesa_ProgramEnvParameter4fvARB); - SET_ProgramLocalParameter4dARB(exec, _mesa_ProgramLocalParameter4dARB); - SET_ProgramLocalParameter4dvARB(exec, _mesa_ProgramLocalParameter4dvARB); - SET_ProgramLocalParameter4fARB(exec, _mesa_ProgramLocalParameter4fARB); - SET_ProgramLocalParameter4fvARB(exec, _mesa_ProgramLocalParameter4fvARB); - SET_GetProgramEnvParameterdvARB(exec, _mesa_GetProgramEnvParameterdvARB); - SET_GetProgramEnvParameterfvARB(exec, _mesa_GetProgramEnvParameterfvARB); - SET_GetProgramivARB(exec, _mesa_GetProgramivARB); - SET_GetProgramLocalParameterdvARB(exec, _mesa_GetProgramLocalParameterdvARB); - SET_GetProgramLocalParameterfvARB(exec, _mesa_GetProgramLocalParameterfvARB); - SET_GetProgramStringARB(exec, _mesa_GetProgramStringARB); - } - - /* ARB 28. GL_ARB_vertex_buffer_object */ - _mesa_init_bufferobj_dispatch(ctx, exec); - - /* ARB 29. GL_ARB_occlusion_query */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - _mesa_init_queryobj_dispatch(ctx, exec); - } - - /* ARB 37. GL_ARB_draw_buffers */ - if (ctx->API != API_OPENGLES) { - SET_DrawBuffersARB(exec, _mesa_DrawBuffersARB); - } - - /* ARB 66. GL_ARB_sync */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - _mesa_init_sync_dispatch(exec); - } - - /* ARB 104. GL_ARB_debug_output */ - if (_mesa_is_desktop_gl(ctx)) { - _mesa_init_errors_dispatch(exec); - } - - /* ARB 105. GL_ARB_robustness */ - if (_mesa_is_desktop_gl(ctx)) { - SET_GetGraphicsResetStatusARB(exec, _mesa_GetGraphicsResetStatusARB); - SET_GetnPolygonStippleARB(exec, _mesa_GetnPolygonStippleARB); - SET_GetnTexImageARB(exec, _mesa_GetnTexImageARB); - SET_ReadnPixelsARB(exec, _mesa_ReadnPixelsARB); - } - - /* GL_ATI_fragment_shader */ - if (ctx->API == API_OPENGL) { - _mesa_init_ati_fragment_shader_dispatch(exec); - } - - /* GL_ATI_envmap_bumpmap */ - if (ctx->API == API_OPENGL) { - SET_GetTexBumpParameterivATI(exec, _mesa_GetTexBumpParameterivATI); - SET_GetTexBumpParameterfvATI(exec, _mesa_GetTexBumpParameterfvATI); - SET_TexBumpParameterivATI(exec, _mesa_TexBumpParameterivATI); - SET_TexBumpParameterfvATI(exec, _mesa_TexBumpParameterfvATI); - } - - SET_IsRenderbufferEXT(exec, _mesa_IsRenderbufferEXT); - SET_BindRenderbufferEXT(exec, _mesa_BindRenderbufferEXT); - SET_DeleteRenderbuffersEXT(exec, _mesa_DeleteRenderbuffersEXT); - SET_GenRenderbuffersEXT(exec, _mesa_GenRenderbuffersEXT); - SET_RenderbufferStorageEXT(exec, _mesa_RenderbufferStorageEXT); - SET_GetRenderbufferParameterivEXT(exec, _mesa_GetRenderbufferParameterivEXT); - SET_IsFramebufferEXT(exec, _mesa_IsFramebufferEXT); - SET_BindFramebufferEXT(exec, _mesa_BindFramebufferEXT); - SET_DeleteFramebuffersEXT(exec, _mesa_DeleteFramebuffersEXT); - SET_GenFramebuffersEXT(exec, _mesa_GenFramebuffersEXT); - SET_CheckFramebufferStatusEXT(exec, _mesa_CheckFramebufferStatusEXT); - if (_mesa_is_desktop_gl(ctx)) { - SET_FramebufferTexture1DEXT(exec, _mesa_FramebufferTexture1DEXT); - } - SET_FramebufferTexture2DEXT(exec, _mesa_FramebufferTexture2DEXT); - if (ctx->API != API_OPENGLES) { - SET_FramebufferTexture3DEXT(exec, _mesa_FramebufferTexture3DEXT); - } - SET_FramebufferRenderbufferEXT(exec, _mesa_FramebufferRenderbufferEXT); - SET_GetFramebufferAttachmentParameterivEXT(exec, _mesa_GetFramebufferAttachmentParameterivEXT); - SET_GenerateMipmapEXT(exec, _mesa_GenerateMipmapEXT); - - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_BlitFramebufferEXT(exec, _mesa_BlitFramebufferEXT); - } - - /* GL_EXT_gpu_program_parameters */ - if (ctx->API == API_OPENGL) { - SET_ProgramEnvParameters4fvEXT(exec, _mesa_ProgramEnvParameters4fvEXT); - SET_ProgramLocalParameters4fvEXT(exec, _mesa_ProgramLocalParameters4fvEXT); - } - - /* GL_MESA_texture_array / GL_EXT_texture_array */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_FramebufferTextureLayerEXT(exec, _mesa_FramebufferTextureLayerEXT); - } - - /* GL_ATI_separate_stencil */ - if (ctx->API == API_OPENGL) { - SET_StencilFuncSeparateATI(exec, _mesa_StencilFuncSeparateATI); - } - - /* The ARB_fbo functions are the union of - * GL_EXT_fbo, GL_EXT_framebuffer_blit, GL_EXT_texture_array - */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_RenderbufferStorageMultisample(exec, _mesa_RenderbufferStorageMultisample); - } - - /* GL_ARB_map_buffer_range / GL_EXT_map_buffer_range */ - SET_MapBufferRange(exec, _mesa_MapBufferRange); - SET_FlushMappedBufferRange(exec, _mesa_FlushMappedBufferRange); - - /* GL_ARB_copy_buffer */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_CopyBufferSubData(exec, _mesa_CopyBufferSubData); - } - - /* GL_ARB_vertex_array_object / GL_OES_vertex_array_object */ - if (ctx->API != API_OPENGLES) { - SET_BindVertexArray(exec, _mesa_BindVertexArray); - SET_GenVertexArrays(exec, _mesa_GenVertexArrays); - } - - /* GL_EXT_draw_buffers2 */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_GetIntegerIndexedvEXT(exec, _mesa_GetIntegerIndexedv); - } - if (_mesa_is_desktop_gl(ctx)) { - SET_ColorMaskIndexedEXT(exec, _mesa_ColorMaskIndexed); - SET_GetBooleanIndexedvEXT(exec, _mesa_GetBooleanIndexedv); - SET_EnableIndexedEXT(exec, _mesa_EnableIndexed); - SET_DisableIndexedEXT(exec, _mesa_DisableIndexed); - SET_IsEnabledIndexedEXT(exec, _mesa_IsEnabledIndexed); - } - - /* GL_NV_conditional_render */ - if (_mesa_is_desktop_gl(ctx)) { - SET_BeginConditionalRenderNV(exec, _mesa_BeginConditionalRender); - SET_EndConditionalRenderNV(exec, _mesa_EndConditionalRender); - } - - SET_EGLImageTargetTexture2DOES(exec, _mesa_EGLImageTargetTexture2DOES); - SET_EGLImageTargetRenderbufferStorageOES(exec, _mesa_EGLImageTargetRenderbufferStorageOES); - - if (_mesa_is_desktop_gl(ctx)) { - SET_ObjectPurgeableAPPLE(exec, _mesa_ObjectPurgeableAPPLE); - SET_ObjectUnpurgeableAPPLE(exec, _mesa_ObjectUnpurgeableAPPLE); - SET_GetObjectParameterivAPPLE(exec, _mesa_GetObjectParameterivAPPLE); - } - - if (_mesa_is_desktop_gl(ctx)) { - SET_ClampColorARB(exec, _mesa_ClampColorARB); - } - - /* GL_EXT_texture_integer */ - if (_mesa_is_desktop_gl(ctx)) { - SET_ClearColorIiEXT(exec, _mesa_ClearColorIiEXT); - SET_ClearColorIuiEXT(exec, _mesa_ClearColorIuiEXT); - } - if (_mesa_is_desktop_gl(ctx)) { - SET_GetTexParameterIivEXT(exec, _mesa_GetTexParameterIiv); - SET_GetTexParameterIuivEXT(exec, _mesa_GetTexParameterIuiv); - SET_TexParameterIivEXT(exec, _mesa_TexParameterIiv); - SET_TexParameterIuivEXT(exec, _mesa_TexParameterIuiv); - } - - /* GL_EXT_gpu_shader4 / OpenGL 3.0 */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_GetVertexAttribIivEXT(exec, _mesa_GetVertexAttribIiv); - SET_GetVertexAttribIuivEXT(exec, _mesa_GetVertexAttribIuiv); - SET_VertexAttribIPointerEXT(exec, _mesa_VertexAttribIPointer); - } - - /* GL 3.0 (functions not covered by other extensions) */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_ClearBufferiv(exec, _mesa_ClearBufferiv); - SET_ClearBufferuiv(exec, _mesa_ClearBufferuiv); - SET_ClearBufferfv(exec, _mesa_ClearBufferfv); - SET_ClearBufferfi(exec, _mesa_ClearBufferfi); - SET_GetStringi(exec, _mesa_GetStringi); - } - - /* GL_ARB_instanced_arrays */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_VertexAttribDivisorARB(exec, _mesa_VertexAttribDivisor); - } - - /* GL_ARB_draw_buffer_blend */ - if (_mesa_is_desktop_gl(ctx)) { - SET_BlendFunciARB(exec, _mesa_BlendFunci); - SET_BlendFuncSeparateiARB(exec, _mesa_BlendFuncSeparatei); - SET_BlendEquationiARB(exec, _mesa_BlendEquationi); - SET_BlendEquationSeparateiARB(exec, _mesa_BlendEquationSeparatei); - } - - /* GL_NV_texture_barrier */ - if (_mesa_is_desktop_gl(ctx)) { - SET_TextureBarrierNV(exec, _mesa_TextureBarrierNV); - } - - /* GL_ARB_texture_buffer_object */ - if (_mesa_is_desktop_gl(ctx)) { - SET_TexBufferARB(exec, _mesa_TexBuffer); - } - - /* GL_ARB_texture_storage */ - if (_mesa_is_desktop_gl(ctx)) { - SET_TexStorage1D(exec, _mesa_TexStorage1D); - SET_TextureStorage1DEXT(exec, _mesa_TextureStorage1DEXT); - } - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_TexStorage2D(exec, _mesa_TexStorage2D); - SET_TexStorage3D(exec, _mesa_TexStorage3D); - } - if (_mesa_is_desktop_gl(ctx)) { - SET_TextureStorage2DEXT(exec, _mesa_TextureStorage2DEXT); - SET_TextureStorage3DEXT(exec, _mesa_TextureStorage3DEXT); - } - - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - _mesa_init_sampler_object_dispatch(ctx, exec); - } - - if (_mesa_is_desktop_gl(ctx)) { - SET_InvalidateTexSubImage(exec, _mesa_InvalidateTexSubImage); - SET_InvalidateTexImage(exec, _mesa_InvalidateTexImage); - } - - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_InvalidateSubFramebuffer(exec, _mesa_InvalidateSubFramebuffer); - SET_InvalidateFramebuffer(exec, _mesa_InvalidateFramebuffer); - } - -#if FEATURE_ES1 - if (ctx->API == API_OPENGLES) { - SET_AlphaFuncxOES(exec, _es_AlphaFuncx); - SET_ClearColorxOES(exec, _es_ClearColorx); - SET_ClearDepthxOES(exec, _es_ClearDepthx); - SET_ClipPlanefOES(exec, _es_ClipPlanef); - SET_ClipPlanexOES(exec, _es_ClipPlanex); - SET_Color4xOES(exec, _es_Color4x); - SET_DepthRangexOES(exec, _es_DepthRangex); - SET_DrawTexfOES(exec, _mesa_DrawTexf); - SET_DrawTexfvOES(exec, _mesa_DrawTexfv); - SET_DrawTexiOES(exec, _mesa_DrawTexi); - SET_DrawTexivOES(exec, _mesa_DrawTexiv); - SET_DrawTexsOES(exec, _mesa_DrawTexs); - SET_DrawTexsvOES(exec, _mesa_DrawTexsv); - SET_DrawTexxOES(exec, _es_DrawTexxOES); - SET_DrawTexxvOES(exec, _es_DrawTexxvOES); - SET_FogxOES(exec, _es_Fogx); - SET_FogxvOES(exec, _es_Fogxv); - SET_FrustumfOES(exec, _es_Frustumf); - SET_FrustumxOES(exec, _es_Frustumx); - SET_GetClipPlanefOES(exec, _es_GetClipPlanef); - SET_GetClipPlanexOES(exec, _es_GetClipPlanex); - SET_GetFixedvOES(exec, _mesa_GetFixedv); - SET_GetLightxvOES(exec, _es_GetLightxv); - SET_GetMaterialxvOES(exec, _es_GetMaterialxv); - SET_GetTexEnvxvOES(exec, _es_GetTexEnvxv); - SET_GetTexGenxvOES(exec, _check_GetTexGenxvOES); - SET_GetTexParameterxvOES(exec, _es_GetTexParameterxv); - SET_LightModelxOES(exec, _es_LightModelx); - SET_LightModelxvOES(exec, _es_LightModelxv); - SET_LightxOES(exec, _es_Lightx); - SET_LightxvOES(exec, _es_Lightxv); - SET_LineWidthxOES(exec, _es_LineWidthx); - SET_LoadMatrixxOES(exec, _es_LoadMatrixx); - SET_MaterialxOES(exec, _es_Materialx); - SET_MaterialxvOES(exec, _es_Materialxv); - SET_MultMatrixxOES(exec, _es_MultMatrixx); - SET_MultiTexCoord4xOES(exec, _es_MultiTexCoord4x); - SET_Normal3xOES(exec, _es_Normal3x); - SET_OrthofOES(exec, _es_Orthof); - SET_OrthoxOES(exec, _es_Orthox); - SET_PointParameterxOES(exec, _es_PointParameterx); - SET_PointParameterxvOES(exec, _es_PointParameterxv); - SET_PointSizePointerOES(exec, _mesa_PointSizePointer); - SET_PointSizexOES(exec, _es_PointSizex); - SET_PolygonOffsetxOES(exec, _es_PolygonOffsetx); - SET_QueryMatrixxOES(exec, _es_QueryMatrixxOES); - SET_RotatexOES(exec, _es_Rotatex); - SET_SampleCoveragexOES(exec, _es_SampleCoveragex); - SET_ScalexOES(exec, _es_Scalex); - SET_TexEnvxOES(exec, _es_TexEnvx); - SET_TexEnvxvOES(exec, _es_TexEnvxv); - SET_TexGenxOES(exec, _check_TexGenxOES); - SET_TexGenxvOES(exec, _check_TexGenxvOES); - SET_TexParameterxOES(exec, _es_TexParameterx); - SET_TexParameterxvOES(exec, _es_TexParameterxv); - SET_TranslatexOES(exec, _es_Translatex); - } -#endif - - return exec; -} diff --git a/mesalib/src/mesa/main/api_loopback.c b/mesalib/src/mesa/main/api_loopback.c index 2d35f17ad..331553086 100644 --- a/mesalib/src/mesa/main/api_loopback.c +++ b/mesalib/src/mesa/main/api_loopback.c @@ -87,7 +87,7 @@ #define ATTRIBI_4UI(index,x,y,z,w) CALL_VertexAttribI4uiEXT(GET_DISPATCH(), (index,x,y,z,w)) -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue ) { COLORF( BYTE_TO_FLOAT(red), @@ -96,41 +96,41 @@ loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue ) 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3d_f( GLdouble red, GLdouble green, GLdouble blue ) { COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3i_f( GLint red, GLint green, GLint blue ) { COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green), INT_TO_FLOAT(blue), 1.0); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3s_f( GLshort red, GLshort green, GLshort blue ) { COLORF( SHORT_TO_FLOAT(red), SHORT_TO_FLOAT(green), SHORT_TO_FLOAT(blue), 1.0); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3ui_f( GLuint red, GLuint green, GLuint blue ) { COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green), UINT_TO_FLOAT(blue), 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3us_f( GLushort red, GLushort green, GLushort blue ) { COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green), USHORT_TO_FLOAT(blue), 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3ub_f( GLubyte red, GLubyte green, GLubyte blue ) { COLORF( UBYTE_TO_FLOAT(red), UBYTE_TO_FLOAT(green), @@ -138,48 +138,48 @@ loopback_Color3ub_f( GLubyte red, GLubyte green, GLubyte blue ) } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3bv_f( const GLbyte *v ) { COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]), 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3dv_f( const GLdouble *v ) { COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3iv_f( const GLint *v ) { COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]), 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3sv_f( const GLshort *v ) { COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]), 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3uiv_f( const GLuint *v ) { COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]), UINT_TO_FLOAT(v[2]), 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3usv_f( const GLushort *v ) { COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), USHORT_TO_FLOAT(v[2]), 1.0 ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color3ubv_f( const GLubyte *v ) { COLORF( UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), @@ -187,7 +187,7 @@ loopback_Color3ubv_f( const GLubyte *v ) } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha ) { @@ -195,21 +195,21 @@ loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue, BYTE_TO_FLOAT(blue), BYTE_TO_FLOAT(alpha) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4d_f( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha ) { COLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue, (GLfloat) alpha ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4i_f( GLint red, GLint green, GLint blue, GLint alpha ) { COLORF( INT_TO_FLOAT(red), INT_TO_FLOAT(green), INT_TO_FLOAT(blue), INT_TO_FLOAT(alpha) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4s_f( GLshort red, GLshort green, GLshort blue, GLshort alpha ) { @@ -217,21 +217,21 @@ loopback_Color4s_f( GLshort red, GLshort green, GLshort blue, SHORT_TO_FLOAT(blue), SHORT_TO_FLOAT(alpha) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4ui_f( GLuint red, GLuint green, GLuint blue, GLuint alpha ) { COLORF( UINT_TO_FLOAT(red), UINT_TO_FLOAT(green), UINT_TO_FLOAT(blue), UINT_TO_FLOAT(alpha) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4us_f( GLushort red, GLushort green, GLushort blue, GLushort alpha ) { COLORF( USHORT_TO_FLOAT(red), USHORT_TO_FLOAT(green), USHORT_TO_FLOAT(blue), USHORT_TO_FLOAT(alpha) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4ub_f( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) { COLORF( UBYTE_TO_FLOAT(red), UBYTE_TO_FLOAT(green), @@ -239,7 +239,7 @@ loopback_Color4ub_f( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ) } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4iv_f( const GLint *v ) { COLORF( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), @@ -247,21 +247,21 @@ loopback_Color4iv_f( const GLint *v ) } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4bv_f( const GLbyte *v ) { COLORF( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3]) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4dv_f( const GLdouble *v ) { COLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4sv_f( const GLshort *v) { COLORF( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), @@ -269,21 +269,21 @@ loopback_Color4sv_f( const GLshort *v) } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4uiv_f( const GLuint *v) { COLORF( UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]), UINT_TO_FLOAT(v[2]), UINT_TO_FLOAT(v[3]) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4usv_f( const GLushort *v) { COLORF( USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3]) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Color4ubv_f( const GLubyte *v) { COLORF( UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), @@ -291,565 +291,565 @@ loopback_Color4ubv_f( const GLubyte *v) } -static void GLAPIENTRY +void GLAPIENTRY loopback_FogCoorddEXT( GLdouble d ) { FOGCOORDF( (GLfloat) d ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_FogCoorddvEXT( const GLdouble *v ) { FOGCOORDF( (GLfloat) *v ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Indexd( GLdouble c ) { INDEX( (GLfloat) c ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Indexi( GLint c ) { INDEX( (GLfloat) c ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Indexs( GLshort c ) { INDEX( (GLfloat) c ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Indexub( GLubyte c ) { INDEX( (GLfloat) c ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Indexdv( const GLdouble *c ) { INDEX( (GLfloat) *c ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Indexiv( const GLint *c ) { INDEX( (GLfloat) *c ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Indexsv( const GLshort *c ) { INDEX( (GLfloat) *c ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Indexubv( const GLubyte *c ) { INDEX( (GLfloat) *c ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_EdgeFlagv(const GLboolean *flag) { CALL_EdgeFlag(GET_DISPATCH(), (*flag)); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Normal3b( GLbyte nx, GLbyte ny, GLbyte nz ) { NORMAL( BYTE_TO_FLOAT(nx), BYTE_TO_FLOAT(ny), BYTE_TO_FLOAT(nz) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Normal3d( GLdouble nx, GLdouble ny, GLdouble nz ) { NORMAL((GLfloat) nx, (GLfloat) ny, (GLfloat) nz); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Normal3i( GLint nx, GLint ny, GLint nz ) { NORMAL( INT_TO_FLOAT(nx), INT_TO_FLOAT(ny), INT_TO_FLOAT(nz) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Normal3s( GLshort nx, GLshort ny, GLshort nz ) { NORMAL( SHORT_TO_FLOAT(nx), SHORT_TO_FLOAT(ny), SHORT_TO_FLOAT(nz) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Normal3bv( const GLbyte *v ) { NORMAL( BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Normal3dv( const GLdouble *v ) { NORMAL( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Normal3iv( const GLint *v ) { NORMAL( INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Normal3sv( const GLshort *v ) { NORMAL( SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord1d( GLdouble s ) { TEXCOORD1((GLfloat) s); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord1i( GLint s ) { TEXCOORD1((GLfloat) s); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord1s( GLshort s ) { TEXCOORD1((GLfloat) s); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord2d( GLdouble s, GLdouble t ) { TEXCOORD2((GLfloat) s,(GLfloat) t); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord2s( GLshort s, GLshort t ) { TEXCOORD2((GLfloat) s,(GLfloat) t); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord2i( GLint s, GLint t ) { TEXCOORD2((GLfloat) s,(GLfloat) t); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord3d( GLdouble s, GLdouble t, GLdouble r ) { TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord3i( GLint s, GLint t, GLint r ) { TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord3s( GLshort s, GLshort t, GLshort r ) { TEXCOORD3((GLfloat) s,(GLfloat) t,(GLfloat) r); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q ) { TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord4i( GLint s, GLint t, GLint r, GLint q ) { TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q ) { TEXCOORD4((GLfloat) s,(GLfloat) t,(GLfloat) r,(GLfloat) q); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord1dv( const GLdouble *v ) { TEXCOORD1((GLfloat) v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord1iv( const GLint *v ) { TEXCOORD1((GLfloat) v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord1sv( const GLshort *v ) { TEXCOORD1((GLfloat) v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord2dv( const GLdouble *v ) { TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord2iv( const GLint *v ) { TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord2sv( const GLshort *v ) { TEXCOORD2((GLfloat) v[0],(GLfloat) v[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord3dv( const GLdouble *v ) { TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord3iv( const GLint *v ) { TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord3sv( const GLshort *v ) { TEXCOORD3((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord4dv( const GLdouble *v ) { TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord4iv( const GLint *v ) { TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_TexCoord4sv( const GLshort *v ) { TEXCOORD4((GLfloat) v[0],(GLfloat) v[1],(GLfloat) v[2],(GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex2d( GLdouble x, GLdouble y ) { VERTEX2( (GLfloat) x, (GLfloat) y ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex2i( GLint x, GLint y ) { VERTEX2( (GLfloat) x, (GLfloat) y ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex2s( GLshort x, GLshort y ) { VERTEX2( (GLfloat) x, (GLfloat) y ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex3d( GLdouble x, GLdouble y, GLdouble z ) { VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex3i( GLint x, GLint y, GLint z ) { VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex3s( GLshort x, GLshort y, GLshort z ) { VERTEX3( (GLfloat) x, (GLfloat) y, (GLfloat) z ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ) { VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex4i( GLint x, GLint y, GLint z, GLint w ) { VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex4s( GLshort x, GLshort y, GLshort z, GLshort w ) { VERTEX4( (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex2dv( const GLdouble *v ) { VERTEX2( (GLfloat) v[0], (GLfloat) v[1] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex2iv( const GLint *v ) { VERTEX2( (GLfloat) v[0], (GLfloat) v[1] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex2sv( const GLshort *v ) { VERTEX2( (GLfloat) v[0], (GLfloat) v[1] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex3dv( const GLdouble *v ) { VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex3iv( const GLint *v ) { VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex3sv( const GLshort *v ) { VERTEX3( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex4dv( const GLdouble *v ) { VERTEX4( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex4iv( const GLint *v ) { VERTEX4( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Vertex4sv( const GLshort *v ) { VERTEX4( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord1dARB(GLenum target, GLdouble s) { MULTI_TEXCOORD1( target, (GLfloat) s ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord1dvARB(GLenum target, const GLdouble *v) { MULTI_TEXCOORD1( target, (GLfloat) v[0] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord1iARB(GLenum target, GLint s) { MULTI_TEXCOORD1( target, (GLfloat) s ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord1ivARB(GLenum target, const GLint *v) { MULTI_TEXCOORD1( target, (GLfloat) v[0] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord1sARB(GLenum target, GLshort s) { MULTI_TEXCOORD1( target, (GLfloat) s ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord1svARB(GLenum target, const GLshort *v) { MULTI_TEXCOORD1( target, (GLfloat) v[0] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t) { MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord2dvARB(GLenum target, const GLdouble *v) { MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord2iARB(GLenum target, GLint s, GLint t) { MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord2ivARB(GLenum target, const GLint *v) { MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord2sARB(GLenum target, GLshort s, GLshort t) { MULTI_TEXCOORD2( target, (GLfloat) s, (GLfloat) t ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord2svARB(GLenum target, const GLshort *v) { MULTI_TEXCOORD2( target, (GLfloat) v[0], (GLfloat) v[1] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r) { MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord3dvARB(GLenum target, const GLdouble *v) { MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r) { MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord3ivARB(GLenum target, const GLint *v) { MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r) { MULTI_TEXCOORD3( target, (GLfloat) s, (GLfloat) t, (GLfloat) r ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord3svARB(GLenum target, const GLshort *v) { MULTI_TEXCOORD3( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) { MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t, (GLfloat) r, (GLfloat) q ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord4dvARB(GLenum target, const GLdouble *v) { MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q) { MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t, (GLfloat) r, (GLfloat) q ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord4ivARB(GLenum target, const GLint *v) { MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) { MULTI_TEXCOORD4( target, (GLfloat) s, (GLfloat) t, (GLfloat) r, (GLfloat) q ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_MultiTexCoord4svARB(GLenum target, const GLshort *v) { MULTI_TEXCOORD4( target, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_EvalCoord2dv( const GLdouble *u ) { EVALCOORD2( (GLfloat) u[0], (GLfloat) u[1] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_EvalCoord2fv( const GLfloat *u ) { EVALCOORD2( u[0], u[1] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_EvalCoord2d( GLdouble u, GLdouble v ) { EVALCOORD2( (GLfloat) u, (GLfloat) v ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_EvalCoord1dv( const GLdouble *u ) { EVALCOORD1( (GLfloat) *u ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_EvalCoord1fv( const GLfloat *u ) { EVALCOORD1( (GLfloat) *u ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_EvalCoord1d( GLdouble u ) { EVALCOORD1( (GLfloat) u ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Materialf( GLenum face, GLenum pname, GLfloat param ) { GLfloat fparam[4]; @@ -857,14 +857,14 @@ loopback_Materialf( GLenum face, GLenum pname, GLfloat param ) MATERIALFV( face, pname, fparam ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Materiali(GLenum face, GLenum pname, GLint param ) { GLfloat p = (GLfloat) param; MATERIALFV(face, pname, &p); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Materialiv(GLenum face, GLenum pname, const GLint *params ) { GLfloat fparam[4]; @@ -894,49 +894,49 @@ loopback_Materialiv(GLenum face, GLenum pname, const GLint *params ) } -static void GLAPIENTRY +void GLAPIENTRY loopback_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2) { RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Rectdv(const GLdouble *v1, const GLdouble *v2) { RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Rectfv(const GLfloat *v1, const GLfloat *v2) { RECTF(v1[0], v1[1], v2[0], v2[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Recti(GLint x1, GLint y1, GLint x2, GLint y2) { RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Rectiv(const GLint *v1, const GLint *v2) { RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2) { RECTF((GLfloat) x1, (GLfloat) y1, (GLfloat) x2, (GLfloat) y2); } -static void GLAPIENTRY +void GLAPIENTRY loopback_Rectsv(const GLshort *v1, const GLshort *v2) { RECTF((GLfloat) v1[0], (GLfloat) v1[1], (GLfloat) v2[0], (GLfloat) v2[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue ) { SECONDARYCOLORF( BYTE_TO_FLOAT(red), @@ -944,13 +944,13 @@ loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue ) BYTE_TO_FLOAT(blue) ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue ) { SECONDARYCOLORF( (GLfloat) red, (GLfloat) green, (GLfloat) blue ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue ) { SECONDARYCOLORF( INT_TO_FLOAT(red), @@ -958,7 +958,7 @@ loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue ) INT_TO_FLOAT(blue)); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue ) { SECONDARYCOLORF(SHORT_TO_FLOAT(red), @@ -966,7 +966,7 @@ loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue ) SHORT_TO_FLOAT(blue)); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue ) { SECONDARYCOLORF(UINT_TO_FLOAT(red), @@ -974,7 +974,7 @@ loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue ) UINT_TO_FLOAT(blue)); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue ) { SECONDARYCOLORF(USHORT_TO_FLOAT(red), @@ -982,7 +982,7 @@ loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue ) USHORT_TO_FLOAT(blue)); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue ) { SECONDARYCOLORF(UBYTE_TO_FLOAT(red), @@ -990,7 +990,7 @@ loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue ) UBYTE_TO_FLOAT(blue)); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3bvEXT_f( const GLbyte *v ) { SECONDARYCOLORF(BYTE_TO_FLOAT(v[0]), @@ -998,12 +998,12 @@ loopback_SecondaryColor3bvEXT_f( const GLbyte *v ) BYTE_TO_FLOAT(v[2])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3dvEXT_f( const GLdouble *v ) { SECONDARYCOLORF( (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2] ); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3ivEXT_f( const GLint *v ) { SECONDARYCOLORF(INT_TO_FLOAT(v[0]), @@ -1011,7 +1011,7 @@ loopback_SecondaryColor3ivEXT_f( const GLint *v ) INT_TO_FLOAT(v[2])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3svEXT_f( const GLshort *v ) { SECONDARYCOLORF(SHORT_TO_FLOAT(v[0]), @@ -1019,7 +1019,7 @@ loopback_SecondaryColor3svEXT_f( const GLshort *v ) SHORT_TO_FLOAT(v[2])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3uivEXT_f( const GLuint *v ) { SECONDARYCOLORF(UINT_TO_FLOAT(v[0]), @@ -1027,7 +1027,7 @@ loopback_SecondaryColor3uivEXT_f( const GLuint *v ) UINT_TO_FLOAT(v[2])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3usvEXT_f( const GLushort *v ) { SECONDARYCOLORF(USHORT_TO_FLOAT(v[0]), @@ -1035,7 +1035,7 @@ loopback_SecondaryColor3usvEXT_f( const GLushort *v ) USHORT_TO_FLOAT(v[2])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_SecondaryColor3ubvEXT_f( const GLubyte *v ) { SECONDARYCOLORF(UBYTE_TO_FLOAT(v[0]), @@ -1050,111 +1050,111 @@ loopback_SecondaryColor3ubvEXT_f( const GLubyte *v ) * Note that attribute indexes DO alias conventional vertex attributes. */ -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib1sNV(GLuint index, GLshort x) { ATTRIB1NV(index, (GLfloat) x); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib1dNV(GLuint index, GLdouble x) { ATTRIB1NV(index, (GLfloat) x); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib2sNV(GLuint index, GLshort x, GLshort y) { ATTRIB2NV(index, (GLfloat) x, y); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y) { ATTRIB2NV(index, (GLfloat) x, (GLfloat) y); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z) { ATTRIB3NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z) { ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { ATTRIB4NV(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { ATTRIB4NV(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y), UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w)); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib1svNV(GLuint index, const GLshort *v) { ATTRIB1NV(index, (GLfloat) v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib1dvNV(GLuint index, const GLdouble *v) { ATTRIB1NV(index, (GLfloat) v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib2svNV(GLuint index, const GLshort *v) { ATTRIB2NV(index, (GLfloat) v[0], (GLfloat) v[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib2dvNV(GLuint index, const GLdouble *v) { ATTRIB2NV(index, (GLfloat) v[0], (GLfloat) v[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib3svNV(GLuint index, const GLshort *v) { ATTRIB3NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib3dvNV(GLuint index, const GLdouble *v) { ATTRIB3NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4svNV(GLuint index, const GLshort *v) { ATTRIB4NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat)v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4dvNV(GLuint index, const GLdouble *v) { ATTRIB4NV(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v) { ATTRIB4NV(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), @@ -1162,7 +1162,7 @@ loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v) } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v) { GLint i; @@ -1170,7 +1170,7 @@ loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v) loopback_VertexAttrib1svNV(index + i, v + i); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v) { GLint i; @@ -1178,7 +1178,7 @@ loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v) ATTRIB1NV(index + i, v[i]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v) { GLint i; @@ -1186,7 +1186,7 @@ loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v) loopback_VertexAttrib1dvNV(index + i, v + i); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v) { GLint i; @@ -1194,7 +1194,7 @@ loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v) loopback_VertexAttrib2svNV(index + i, v + 2 * i); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v) { GLint i; @@ -1202,7 +1202,7 @@ loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v) ATTRIB2NV(index + i, v[2 * i], v[2 * i + 1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v) { GLint i; @@ -1210,7 +1210,7 @@ loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v) loopback_VertexAttrib2dvNV(index + i, v + 2 * i); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v) { GLint i; @@ -1218,7 +1218,7 @@ loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v) loopback_VertexAttrib3svNV(index + i, v + 3 * i); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v) { GLint i; @@ -1226,7 +1226,7 @@ loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v) ATTRIB3NV(index + i, v[3 * i], v[3 * i + 1], v[3 * i + 2]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v) { GLint i; @@ -1234,7 +1234,7 @@ loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v) loopback_VertexAttrib3dvNV(index + i, v + 3 * i); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v) { GLint i; @@ -1242,7 +1242,7 @@ loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v) loopback_VertexAttrib4svNV(index + i, v + 4 * i); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v) { GLint i; @@ -1250,7 +1250,7 @@ loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v) ATTRIB4NV(index + i, v[4 * i], v[4 * i + 1], v[4 * i + 2], v[4 * i + 3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v) { GLint i; @@ -1258,7 +1258,7 @@ loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v) loopback_VertexAttrib4dvNV(index + i, v + 4 * i); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v) { GLint i; @@ -1273,176 +1273,176 @@ loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v) * Note that attribute indexes do NOT alias conventional attributes. */ -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib1sARB(GLuint index, GLshort x) { ATTRIB1ARB(index, (GLfloat) x); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib1dARB(GLuint index, GLdouble x) { ATTRIB1ARB(index, (GLfloat) x); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib2sARB(GLuint index, GLshort x, GLshort y) { ATTRIB2ARB(index, (GLfloat) x, y); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y) { ATTRIB2ARB(index, (GLfloat) x, (GLfloat) y); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z) { ATTRIB3ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z) { ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w) { ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w) { ATTRIB4ARB(index, (GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib1svARB(GLuint index, const GLshort *v) { ATTRIB1ARB(index, (GLfloat) v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib1dvARB(GLuint index, const GLdouble *v) { ATTRIB1ARB(index, (GLfloat) v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib2svARB(GLuint index, const GLshort *v) { ATTRIB2ARB(index, (GLfloat) v[0], (GLfloat) v[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib2dvARB(GLuint index, const GLdouble *v) { ATTRIB2ARB(index, (GLfloat) v[0], (GLfloat) v[1]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib3svARB(GLuint index, const GLshort *v) { ATTRIB3ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib3dvARB(GLuint index, const GLdouble *v) { ATTRIB3ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4svARB(GLuint index, const GLshort *v) { ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat)v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4dvARB(GLuint index, const GLdouble *v) { ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v) { ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4ivARB(GLuint index, const GLint * v) { ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v) { ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v) { ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v) { ATTRIB4ARB(index, (GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4NbvARB(GLuint index, const GLbyte * v) { ATTRIB4ARB(index, BYTE_TO_FLOAT(v[0]), BYTE_TO_FLOAT(v[1]), BYTE_TO_FLOAT(v[2]), BYTE_TO_FLOAT(v[3])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4NsvARB(GLuint index, const GLshort * v) { ATTRIB4ARB(index, SHORT_TO_FLOAT(v[0]), SHORT_TO_FLOAT(v[1]), SHORT_TO_FLOAT(v[2]), SHORT_TO_FLOAT(v[3])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4NivARB(GLuint index, const GLint * v) { ATTRIB4ARB(index, INT_TO_FLOAT(v[0]), INT_TO_FLOAT(v[1]), INT_TO_FLOAT(v[2]), INT_TO_FLOAT(v[3])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w) { ATTRIB4ARB(index, UBYTE_TO_FLOAT(x), UBYTE_TO_FLOAT(y), UBYTE_TO_FLOAT(z), UBYTE_TO_FLOAT(w)); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4NubvARB(GLuint index, const GLubyte * v) { ATTRIB4ARB(index, UBYTE_TO_FLOAT(v[0]), UBYTE_TO_FLOAT(v[1]), UBYTE_TO_FLOAT(v[2]), UBYTE_TO_FLOAT(v[3])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4NusvARB(GLuint index, const GLushort * v) { ATTRIB4ARB(index, USHORT_TO_FLOAT(v[0]), USHORT_TO_FLOAT(v[1]), USHORT_TO_FLOAT(v[2]), USHORT_TO_FLOAT(v[3])); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v) { ATTRIB4ARB(index, UINT_TO_FLOAT(v[0]), UINT_TO_FLOAT(v[1]), @@ -1456,37 +1456,37 @@ loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v) * Note that attribute indexes do NOT alias conventional attributes. */ -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribI1iv(GLuint index, const GLint *v) { ATTRIBI_1I(index, v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribI1uiv(GLuint index, const GLuint *v) { ATTRIBI_1UI(index, v[0]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribI4bv(GLuint index, const GLbyte *v) { ATTRIBI_4I(index, v[0], v[1], v[2], v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribI4sv(GLuint index, const GLshort *v) { ATTRIBI_4I(index, v[0], v[1], v[2], v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribI4ubv(GLuint index, const GLubyte *v) { ATTRIBI_4UI(index, v[0], v[1], v[2], v[3]); } -static void GLAPIENTRY +void GLAPIENTRY loopback_VertexAttribI4usv(GLuint index, const GLushort *v) { ATTRIBI_4UI(index, v[0], v[1], v[2], v[3]); diff --git a/mesalib/src/mesa/main/api_loopback.h b/mesalib/src/mesa/main/api_loopback.h index 628d4f89e..879ad8995 100644 --- a/mesalib/src/mesa/main/api_loopback.h +++ b/mesalib/src/mesa/main/api_loopback.h @@ -29,6 +29,14 @@ #include "main/compiler.h" #include "main/mfeatures.h" +#include "main/glheader.h" // ? +#include "main/macros.h" // ? +#include "main/mtypes.h" // ? +#include "glapi/glapi.h" // ? +#include "glapi/glthread.h" // ? +#include "main/dispatch.h" // ? +#include "main/mfeatures.h" // ? +#include "main/context.h" // ? struct _glapi_table; struct gl_context; @@ -36,5 +44,434 @@ struct gl_context; extern void _mesa_loopback_init_api_table(const struct gl_context *ctx, struct _glapi_table *dest); +void GLAPIENTRY +loopback_Color3b_f( GLbyte red, GLbyte green, GLbyte blue ); +void GLAPIENTRY +loopback_Color3d_f( GLdouble red, GLdouble green, GLdouble blue ); +void GLAPIENTRY +loopback_Color3i_f( GLint red, GLint green, GLint blue ); +void GLAPIENTRY +loopback_Color3s_f( GLshort red, GLshort green, GLshort blue ); +void GLAPIENTRY +loopback_Color3ui_f( GLuint red, GLuint green, GLuint blue ); +void GLAPIENTRY +loopback_Color3us_f( GLushort red, GLushort green, GLushort blue ); +void GLAPIENTRY +loopback_Color3ub_f( GLubyte red, GLubyte green, GLubyte blue ); +void GLAPIENTRY +loopback_Color3bv_f( const GLbyte *v ); +void GLAPIENTRY +loopback_Color3dv_f( const GLdouble *v ); +void GLAPIENTRY +loopback_Color3iv_f( const GLint *v ); +void GLAPIENTRY +loopback_Color3sv_f( const GLshort *v ); +void GLAPIENTRY +loopback_Color3uiv_f( const GLuint *v ); +void GLAPIENTRY +loopback_Color3usv_f( const GLushort *v ); +void GLAPIENTRY +loopback_Color3ubv_f( const GLubyte *v ); +void GLAPIENTRY +loopback_Color4b_f( GLbyte red, GLbyte green, GLbyte blue, + GLbyte alpha ); +void GLAPIENTRY +loopback_Color4d_f( GLdouble red, GLdouble green, GLdouble blue, + GLdouble alpha ); +void GLAPIENTRY +loopback_Color4i_f( GLint red, GLint green, GLint blue, GLint alpha ); +void GLAPIENTRY +loopback_Color4s_f( GLshort red, GLshort green, GLshort blue, + GLshort alpha ); +void GLAPIENTRY +loopback_Color4ui_f( GLuint red, GLuint green, GLuint blue, GLuint alpha ); +void GLAPIENTRY +loopback_Color4us_f( GLushort red, GLushort green, GLushort blue, + GLushort alpha ); +void GLAPIENTRY +loopback_Color4ub_f( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha ); +void GLAPIENTRY +loopback_Color4iv_f( const GLint *v ); +void GLAPIENTRY +loopback_Color4bv_f( const GLbyte *v ); +void GLAPIENTRY +loopback_Color4dv_f( const GLdouble *v ); +void GLAPIENTRY +loopback_Color4sv_f( const GLshort *v); +void GLAPIENTRY +loopback_Color4uiv_f( const GLuint *v); +void GLAPIENTRY +loopback_Color4usv_f( const GLushort *v); +void GLAPIENTRY +loopback_Color4ubv_f( const GLubyte *v); +void GLAPIENTRY +loopback_FogCoorddEXT( GLdouble d ); +void GLAPIENTRY +loopback_FogCoorddvEXT( const GLdouble *v ); +void GLAPIENTRY +loopback_Indexd( GLdouble c ); +void GLAPIENTRY +loopback_Indexi( GLint c ); +void GLAPIENTRY +loopback_Indexs( GLshort c ); +void GLAPIENTRY +loopback_Indexub( GLubyte c ); +void GLAPIENTRY +loopback_Indexdv( const GLdouble *c ); +void GLAPIENTRY +loopback_Indexiv( const GLint *c ); +void GLAPIENTRY +loopback_Indexsv( const GLshort *c ); +void GLAPIENTRY +loopback_Indexubv( const GLubyte *c ); +void GLAPIENTRY +loopback_EdgeFlagv(const GLboolean *flag); +void GLAPIENTRY +loopback_Normal3b( GLbyte nx, GLbyte ny, GLbyte nz ); +void GLAPIENTRY +loopback_Normal3d( GLdouble nx, GLdouble ny, GLdouble nz ); +void GLAPIENTRY +loopback_Normal3i( GLint nx, GLint ny, GLint nz ); +void GLAPIENTRY +loopback_Normal3s( GLshort nx, GLshort ny, GLshort nz ); +void GLAPIENTRY +loopback_Normal3bv( const GLbyte *v ); +void GLAPIENTRY +loopback_Normal3dv( const GLdouble *v ); +void GLAPIENTRY +loopback_Normal3iv( const GLint *v ); +void GLAPIENTRY +loopback_Normal3sv( const GLshort *v ); +void GLAPIENTRY +loopback_TexCoord1d( GLdouble s ); +void GLAPIENTRY +loopback_TexCoord1i( GLint s ); +void GLAPIENTRY +loopback_TexCoord1s( GLshort s ); +void GLAPIENTRY +loopback_TexCoord2d( GLdouble s, GLdouble t ); +void GLAPIENTRY +loopback_TexCoord2s( GLshort s, GLshort t ); +void GLAPIENTRY +loopback_TexCoord2i( GLint s, GLint t ); +void GLAPIENTRY +loopback_TexCoord3d( GLdouble s, GLdouble t, GLdouble r ); +void GLAPIENTRY +loopback_TexCoord3i( GLint s, GLint t, GLint r ); +void GLAPIENTRY +loopback_TexCoord3s( GLshort s, GLshort t, GLshort r ); +void GLAPIENTRY +loopback_TexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q ); +void GLAPIENTRY +loopback_TexCoord4i( GLint s, GLint t, GLint r, GLint q ); +void GLAPIENTRY +loopback_TexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q ); +void GLAPIENTRY +loopback_TexCoord1dv( const GLdouble *v ); +void GLAPIENTRY +loopback_TexCoord1iv( const GLint *v ); +void GLAPIENTRY +loopback_TexCoord1sv( const GLshort *v ); +void GLAPIENTRY +loopback_TexCoord2dv( const GLdouble *v ); +void GLAPIENTRY +loopback_TexCoord2iv( const GLint *v ); +void GLAPIENTRY +loopback_TexCoord2sv( const GLshort *v ); +void GLAPIENTRY +loopback_TexCoord3dv( const GLdouble *v ); +void GLAPIENTRY +loopback_TexCoord3iv( const GLint *v ); +void GLAPIENTRY +loopback_TexCoord3sv( const GLshort *v ); +void GLAPIENTRY +loopback_TexCoord4dv( const GLdouble *v ); +void GLAPIENTRY +loopback_TexCoord4iv( const GLint *v ); +void GLAPIENTRY +loopback_TexCoord4sv( const GLshort *v ); +void GLAPIENTRY +loopback_Vertex2d( GLdouble x, GLdouble y ); +void GLAPIENTRY +loopback_Vertex2i( GLint x, GLint y ); +void GLAPIENTRY +loopback_Vertex2s( GLshort x, GLshort y ); +void GLAPIENTRY +loopback_Vertex3d( GLdouble x, GLdouble y, GLdouble z ); +void GLAPIENTRY +loopback_Vertex3i( GLint x, GLint y, GLint z ); +void GLAPIENTRY +loopback_Vertex3s( GLshort x, GLshort y, GLshort z ); +void GLAPIENTRY +loopback_Vertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w ); +void GLAPIENTRY +loopback_Vertex4i( GLint x, GLint y, GLint z, GLint w ); +void GLAPIENTRY +loopback_Vertex4s( GLshort x, GLshort y, GLshort z, GLshort w ); +void GLAPIENTRY +loopback_Vertex2dv( const GLdouble *v ); +void GLAPIENTRY +loopback_Vertex2iv( const GLint *v ); +void GLAPIENTRY +loopback_Vertex2sv( const GLshort *v ); +void GLAPIENTRY +loopback_Vertex3dv( const GLdouble *v ); +void GLAPIENTRY +loopback_Vertex3iv( const GLint *v ); +void GLAPIENTRY +loopback_Vertex3sv( const GLshort *v ); +void GLAPIENTRY +loopback_Vertex4dv( const GLdouble *v ); +void GLAPIENTRY +loopback_Vertex4iv( const GLint *v ); +void GLAPIENTRY +loopback_Vertex4sv( const GLshort *v ); +void GLAPIENTRY +loopback_MultiTexCoord1dARB(GLenum target, GLdouble s); +void GLAPIENTRY +loopback_MultiTexCoord1dvARB(GLenum target, const GLdouble *v); +void GLAPIENTRY +loopback_MultiTexCoord1iARB(GLenum target, GLint s); +void GLAPIENTRY +loopback_MultiTexCoord1ivARB(GLenum target, const GLint *v); +void GLAPIENTRY +loopback_MultiTexCoord1sARB(GLenum target, GLshort s); +void GLAPIENTRY +loopback_MultiTexCoord1svARB(GLenum target, const GLshort *v); +void GLAPIENTRY +loopback_MultiTexCoord2dARB(GLenum target, GLdouble s, GLdouble t); +void GLAPIENTRY +loopback_MultiTexCoord2dvARB(GLenum target, const GLdouble *v); +void GLAPIENTRY +loopback_MultiTexCoord2iARB(GLenum target, GLint s, GLint t); +void GLAPIENTRY +loopback_MultiTexCoord2ivARB(GLenum target, const GLint *v); +void GLAPIENTRY +loopback_MultiTexCoord2sARB(GLenum target, GLshort s, GLshort t); +void GLAPIENTRY +loopback_MultiTexCoord2svARB(GLenum target, const GLshort *v); +void GLAPIENTRY +loopback_MultiTexCoord3dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r); +void GLAPIENTRY +loopback_MultiTexCoord3dvARB(GLenum target, const GLdouble *v); +void GLAPIENTRY +loopback_MultiTexCoord3iARB(GLenum target, GLint s, GLint t, GLint r); +void GLAPIENTRY +loopback_MultiTexCoord3ivARB(GLenum target, const GLint *v); +void GLAPIENTRY +loopback_MultiTexCoord3sARB(GLenum target, GLshort s, GLshort t, GLshort r); +void GLAPIENTRY +loopback_MultiTexCoord3svARB(GLenum target, const GLshort *v); +void GLAPIENTRY +loopback_MultiTexCoord4dARB(GLenum target, GLdouble s, GLdouble t, GLdouble r, + GLdouble q); +void GLAPIENTRY +loopback_MultiTexCoord4dvARB(GLenum target, const GLdouble *v); +void GLAPIENTRY +loopback_MultiTexCoord4iARB(GLenum target, GLint s, GLint t, GLint r, GLint q); +void GLAPIENTRY +loopback_MultiTexCoord4ivARB(GLenum target, const GLint *v); +void GLAPIENTRY +loopback_MultiTexCoord4sARB(GLenum target, GLshort s, GLshort t, GLshort r, + GLshort q); +void GLAPIENTRY +loopback_MultiTexCoord4svARB(GLenum target, const GLshort *v); +void GLAPIENTRY +loopback_EvalCoord2dv( const GLdouble *u ); +void GLAPIENTRY +loopback_EvalCoord2fv( const GLfloat *u ); +void GLAPIENTRY +loopback_EvalCoord2d( GLdouble u, GLdouble v ); +void GLAPIENTRY +loopback_EvalCoord1dv( const GLdouble *u ); +void GLAPIENTRY +loopback_EvalCoord1fv( const GLfloat *u ); +void GLAPIENTRY +loopback_EvalCoord1d( GLdouble u ); +void GLAPIENTRY +loopback_Materialf( GLenum face, GLenum pname, GLfloat param ); +void GLAPIENTRY +loopback_Materiali(GLenum face, GLenum pname, GLint param ); +void GLAPIENTRY +loopback_Materialiv(GLenum face, GLenum pname, const GLint *params ); +void GLAPIENTRY +loopback_Rectd(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); +void GLAPIENTRY +loopback_Rectdv(const GLdouble *v1, const GLdouble *v2); +void GLAPIENTRY +loopback_Rectfv(const GLfloat *v1, const GLfloat *v2); +void GLAPIENTRY +loopback_Recti(GLint x1, GLint y1, GLint x2, GLint y2); +void GLAPIENTRY +loopback_Rectiv(const GLint *v1, const GLint *v2); +void GLAPIENTRY +loopback_Rects(GLshort x1, GLshort y1, GLshort x2, GLshort y2); +void GLAPIENTRY +loopback_Rectsv(const GLshort *v1, const GLshort *v2); +void GLAPIENTRY +loopback_SecondaryColor3bEXT_f( GLbyte red, GLbyte green, GLbyte blue ); +void GLAPIENTRY +loopback_SecondaryColor3dEXT_f( GLdouble red, GLdouble green, GLdouble blue ); +void GLAPIENTRY +loopback_SecondaryColor3iEXT_f( GLint red, GLint green, GLint blue ); +void GLAPIENTRY +loopback_SecondaryColor3sEXT_f( GLshort red, GLshort green, GLshort blue ); +void GLAPIENTRY +loopback_SecondaryColor3uiEXT_f( GLuint red, GLuint green, GLuint blue ); +void GLAPIENTRY +loopback_SecondaryColor3usEXT_f( GLushort red, GLushort green, GLushort blue ); +void GLAPIENTRY +loopback_SecondaryColor3ubEXT_f( GLubyte red, GLubyte green, GLubyte blue ); +void GLAPIENTRY +loopback_SecondaryColor3bvEXT_f( const GLbyte *v ); +void GLAPIENTRY +loopback_SecondaryColor3dvEXT_f( const GLdouble *v ); +void GLAPIENTRY +loopback_SecondaryColor3ivEXT_f( const GLint *v ); +void GLAPIENTRY +loopback_SecondaryColor3svEXT_f( const GLshort *v ); +void GLAPIENTRY +loopback_SecondaryColor3uivEXT_f( const GLuint *v ); +void GLAPIENTRY +loopback_SecondaryColor3usvEXT_f( const GLushort *v ); +void GLAPIENTRY +loopback_SecondaryColor3ubvEXT_f( const GLubyte *v ); +void GLAPIENTRY +loopback_VertexAttrib1sNV(GLuint index, GLshort x); +void GLAPIENTRY +loopback_VertexAttrib1dNV(GLuint index, GLdouble x); +void GLAPIENTRY +loopback_VertexAttrib2sNV(GLuint index, GLshort x, GLshort y); +void GLAPIENTRY +loopback_VertexAttrib2dNV(GLuint index, GLdouble x, GLdouble y); +void GLAPIENTRY +loopback_VertexAttrib3sNV(GLuint index, GLshort x, GLshort y, GLshort z); +void GLAPIENTRY +loopback_VertexAttrib3dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z); +void GLAPIENTRY +loopback_VertexAttrib4sNV(GLuint index, GLshort x, GLshort y, GLshort z, + GLshort w); +void GLAPIENTRY +loopback_VertexAttrib4dNV(GLuint index, GLdouble x, GLdouble y, GLdouble z, + GLdouble w); +void GLAPIENTRY +loopback_VertexAttrib4ubNV(GLuint index, GLubyte x, GLubyte y, GLubyte z, + GLubyte w); +void GLAPIENTRY +loopback_VertexAttrib1svNV(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttrib1dvNV(GLuint index, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttrib2svNV(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttrib2dvNV(GLuint index, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttrib3svNV(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttrib3dvNV(GLuint index, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttrib4svNV(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttrib4dvNV(GLuint index, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttrib4ubvNV(GLuint index, const GLubyte *v); +void GLAPIENTRY +loopback_VertexAttribs1svNV(GLuint index, GLsizei n, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttribs1fvNV(GLuint index, GLsizei n, const GLfloat *v); +void GLAPIENTRY +loopback_VertexAttribs1dvNV(GLuint index, GLsizei n, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttribs2svNV(GLuint index, GLsizei n, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttribs2fvNV(GLuint index, GLsizei n, const GLfloat *v); +void GLAPIENTRY +loopback_VertexAttribs2dvNV(GLuint index, GLsizei n, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttribs3svNV(GLuint index, GLsizei n, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttribs3fvNV(GLuint index, GLsizei n, const GLfloat *v); +void GLAPIENTRY +loopback_VertexAttribs3dvNV(GLuint index, GLsizei n, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttribs4svNV(GLuint index, GLsizei n, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttribs4fvNV(GLuint index, GLsizei n, const GLfloat *v); +void GLAPIENTRY +loopback_VertexAttribs4dvNV(GLuint index, GLsizei n, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttribs4ubvNV(GLuint index, GLsizei n, const GLubyte *v); +void GLAPIENTRY +loopback_VertexAttrib1sARB(GLuint index, GLshort x); +void GLAPIENTRY +loopback_VertexAttrib1dARB(GLuint index, GLdouble x); +void GLAPIENTRY +loopback_VertexAttrib2sARB(GLuint index, GLshort x, GLshort y); +void GLAPIENTRY +loopback_VertexAttrib2dARB(GLuint index, GLdouble x, GLdouble y); +void GLAPIENTRY +loopback_VertexAttrib3sARB(GLuint index, GLshort x, GLshort y, GLshort z); +void GLAPIENTRY +loopback_VertexAttrib3dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z); +void GLAPIENTRY +loopback_VertexAttrib4sARB(GLuint index, GLshort x, GLshort y, GLshort z, + GLshort w); +void GLAPIENTRY +loopback_VertexAttrib4dARB(GLuint index, GLdouble x, GLdouble y, GLdouble z, + GLdouble w); +void GLAPIENTRY +loopback_VertexAttrib1svARB(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttrib1dvARB(GLuint index, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttrib2svARB(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttrib2dvARB(GLuint index, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttrib3svARB(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttrib3dvARB(GLuint index, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttrib4svARB(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttrib4dvARB(GLuint index, const GLdouble *v); +void GLAPIENTRY +loopback_VertexAttrib4bvARB(GLuint index, const GLbyte * v); +void GLAPIENTRY +loopback_VertexAttrib4ivARB(GLuint index, const GLint * v); +void GLAPIENTRY +loopback_VertexAttrib4ubvARB(GLuint index, const GLubyte * v); +void GLAPIENTRY +loopback_VertexAttrib4usvARB(GLuint index, const GLushort * v); +void GLAPIENTRY +loopback_VertexAttrib4uivARB(GLuint index, const GLuint * v); +void GLAPIENTRY +loopback_VertexAttrib4NbvARB(GLuint index, const GLbyte * v); +void GLAPIENTRY +loopback_VertexAttrib4NsvARB(GLuint index, const GLshort * v); +void GLAPIENTRY +loopback_VertexAttrib4NivARB(GLuint index, const GLint * v); +void GLAPIENTRY +loopback_VertexAttrib4NubARB(GLuint index, GLubyte x, GLubyte y, GLubyte z, + GLubyte w); +void GLAPIENTRY +loopback_VertexAttrib4NubvARB(GLuint index, const GLubyte * v); +void GLAPIENTRY +loopback_VertexAttrib4NusvARB(GLuint index, const GLushort * v); +void GLAPIENTRY +loopback_VertexAttrib4NuivARB(GLuint index, const GLuint * v); +void GLAPIENTRY +loopback_VertexAttribI1iv(GLuint index, const GLint *v); +void GLAPIENTRY +loopback_VertexAttribI1uiv(GLuint index, const GLuint *v); +void GLAPIENTRY +loopback_VertexAttribI4bv(GLuint index, const GLbyte *v); +void GLAPIENTRY +loopback_VertexAttribI4sv(GLuint index, const GLshort *v); +void GLAPIENTRY +loopback_VertexAttribI4ubv(GLuint index, const GLubyte *v); +void GLAPIENTRY +loopback_VertexAttribI4usv(GLuint index, const GLushort *v); + #endif /* API_LOOPBACK_H */ diff --git a/mesalib/src/mesa/main/atifragshader.c b/mesalib/src/mesa/main/atifragshader.c index 32ddfb8bb..2a0790862 100644 --- a/mesalib/src/mesa/main/atifragshader.c +++ b/mesalib/src/mesa/main/atifragshader.c @@ -37,26 +37,6 @@ static struct ati_fragment_shader DummyShader; -void -_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp) -{ - SET_GenFragmentShadersATI(disp, _mesa_GenFragmentShadersATI); - SET_BindFragmentShaderATI(disp, _mesa_BindFragmentShaderATI); - SET_DeleteFragmentShaderATI(disp, _mesa_DeleteFragmentShaderATI); - SET_BeginFragmentShaderATI(disp, _mesa_BeginFragmentShaderATI); - SET_EndFragmentShaderATI(disp, _mesa_EndFragmentShaderATI); - SET_PassTexCoordATI(disp, _mesa_PassTexCoordATI); - SET_SampleMapATI(disp, _mesa_SampleMapATI); - SET_ColorFragmentOp1ATI(disp, _mesa_ColorFragmentOp1ATI); - SET_ColorFragmentOp2ATI(disp, _mesa_ColorFragmentOp2ATI); - SET_ColorFragmentOp3ATI(disp, _mesa_ColorFragmentOp3ATI); - SET_AlphaFragmentOp1ATI(disp, _mesa_AlphaFragmentOp1ATI); - SET_AlphaFragmentOp2ATI(disp, _mesa_AlphaFragmentOp2ATI); - SET_AlphaFragmentOp3ATI(disp, _mesa_AlphaFragmentOp3ATI); - SET_SetFragmentShaderConstantATI(disp, _mesa_SetFragmentShaderConstantATI); -} - - /** * Allocate and initialize a new ATI fragment shader object. */ diff --git a/mesalib/src/mesa/main/atifragshader.h b/mesalib/src/mesa/main/atifragshader.h index f5af5f15f..c47a7d56e 100644 --- a/mesalib/src/mesa/main/atifragshader.h +++ b/mesalib/src/mesa/main/atifragshader.h @@ -63,9 +63,6 @@ struct atifs_setupinst }; -extern void -_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp); - extern struct ati_fragment_shader * _mesa_new_ati_fragment_shader(struct gl_context *ctx, GLuint id); diff --git a/mesalib/src/mesa/main/attrib.c b/mesalib/src/mesa/main/attrib.c index 48df7f16b..05db35b8e 100644 --- a/mesalib/src/mesa/main/attrib.c +++ b/mesalib/src/mesa/main/attrib.c @@ -1584,16 +1584,6 @@ _mesa_PopClientAttrib(void) } -void -_mesa_init_attrib_dispatch(struct _glapi_table *disp) -{ - SET_PopAttrib(disp, _mesa_PopAttrib); - SET_PushAttrib(disp, _mesa_PushAttrib); - SET_PopClientAttrib(disp, _mesa_PopClientAttrib); - SET_PushClientAttrib(disp, _mesa_PushClientAttrib); -} - - /** * Free any attribute state data that might be attached to the context. */ diff --git a/mesalib/src/mesa/main/attrib.h b/mesalib/src/mesa/main/attrib.h index f75c3c5ce..1ecf3a591 100644 --- a/mesalib/src/mesa/main/attrib.h +++ b/mesalib/src/mesa/main/attrib.h @@ -45,9 +45,6 @@ _mesa_PushClientAttrib( GLbitfield mask ); extern void GLAPIENTRY _mesa_PopClientAttrib( void ); -extern void -_mesa_init_attrib_dispatch(struct _glapi_table *disp); - extern void _mesa_init_attrib( struct gl_context *ctx ); diff --git a/mesalib/src/mesa/main/bufferobj.c b/mesalib/src/mesa/main/bufferobj.c index 730fa275e..43eb8876e 100644 --- a/mesalib/src/mesa/main/bufferobj.c +++ b/mesalib/src/mesa/main/bufferobj.c @@ -2246,7 +2246,7 @@ _mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer) } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset, GLsizeiptr length) { @@ -2305,7 +2305,7 @@ _mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset, return; } -static void GLAPIENTRY +void GLAPIENTRY _mesa_InvalidateBufferData(GLuint buffer) { GET_CURRENT_CONTEXT(ctx); @@ -2337,34 +2337,3 @@ _mesa_InvalidateBufferData(GLuint buffer) */ return; } - -void -_mesa_init_bufferobj_dispatch(struct gl_context *ctx, struct _glapi_table *disp) -{ - SET_BindBufferARB(disp, _mesa_BindBufferARB); - SET_BufferDataARB(disp, _mesa_BufferDataARB); - SET_BufferSubDataARB(disp, _mesa_BufferSubDataARB); - SET_DeleteBuffersARB(disp, _mesa_DeleteBuffersARB); - SET_GenBuffersARB(disp, _mesa_GenBuffersARB); - SET_GetBufferParameterivARB(disp, _mesa_GetBufferParameterivARB); - /* TODO: add GetBufferParameteri64v for desktop GL and GLES3 once tests - * exist for it. - */ - SET_GetBufferPointervARB(disp, _mesa_GetBufferPointervARB); - if (_mesa_is_desktop_gl(ctx)) { - SET_GetBufferSubDataARB(disp, _mesa_GetBufferSubDataARB); - } - SET_IsBufferARB(disp, _mesa_IsBufferARB); - SET_MapBufferARB(disp, _mesa_MapBufferARB); - SET_UnmapBufferARB(disp, _mesa_UnmapBufferARB); - - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_BindBufferRangeEXT(disp, _mesa_BindBufferRange); - SET_BindBufferBaseEXT(disp, _mesa_BindBufferBase); - } - - if (_mesa_is_desktop_gl(ctx)) { - SET_InvalidateBufferData(disp, _mesa_InvalidateBufferData); - SET_InvalidateBufferSubData(disp, _mesa_InvalidateBufferSubData); - } -} diff --git a/mesalib/src/mesa/main/bufferobj.h b/mesalib/src/mesa/main/bufferobj.h index 4f1e61b63..4d5446ac0 100644 --- a/mesalib/src/mesa/main/bufferobj.h +++ b/mesalib/src/mesa/main/bufferobj.h @@ -100,72 +100,56 @@ _mesa_init_buffer_object_functions(struct dd_function_table *driver); * API functions */ -extern void GLAPIENTRY +void GLAPIENTRY _mesa_BindBufferARB(GLenum target, GLuint buffer); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_DeleteBuffersARB(GLsizei n, const GLuint * buffer); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GenBuffersARB(GLsizei n, GLuint * buffer); - -extern GLboolean GLAPIENTRY +GLboolean GLAPIENTRY _mesa_IsBufferARB(GLuint buffer); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size, const GLvoid * data, GLenum usage); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_BufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid * data); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GetBufferSubDataARB(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void * data); - -extern void * GLAPIENTRY +void * GLAPIENTRY _mesa_MapBufferARB(GLenum target, GLenum access); - -extern GLboolean GLAPIENTRY +GLboolean GLAPIENTRY _mesa_UnmapBufferARB(GLenum target); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint *params); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GetBufferParameteri64v(GLenum target, GLenum pname, GLint64 *params); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); - -extern void * GLAPIENTRY +void * GLAPIENTRY _mesa_MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length); - -extern GLenum GLAPIENTRY +GLenum GLAPIENTRY _mesa_ObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option); - -extern GLenum GLAPIENTRY +GLenum GLAPIENTRY _mesa_ObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option); - -extern void GLAPIENTRY -_mesa_GetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, GLint* params); - void GLAPIENTRY -_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer); - +_mesa_GetObjectParameterivAPPLE(GLenum objectType, GLuint name, GLenum pname, + GLint* params); void GLAPIENTRY _mesa_BindBufferRange(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +void GLAPIENTRY +_mesa_BindBufferBase(GLenum target, GLuint index, GLuint buffer); +void GLAPIENTRY +_mesa_InvalidateBufferSubData(GLuint buffer, GLintptr offset, + GLsizeiptr length); +void GLAPIENTRY +_mesa_InvalidateBufferData(GLuint buffer); -extern void -_mesa_init_bufferobj_dispatch(struct gl_context *ctx, - struct _glapi_table *disp); #endif diff --git a/mesalib/src/mesa/main/colortab.c b/mesalib/src/mesa/main/colortab.c index 5799c01f6..f1b3e585a 100644 --- a/mesalib/src/mesa/main/colortab.c +++ b/mesalib/src/mesa/main/colortab.c @@ -63,7 +63,7 @@ _mesa_ColorSubTable( GLenum target, GLsizei start, -static void GLAPIENTRY +void GLAPIENTRY _mesa_CopyColorTable(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width) { @@ -74,7 +74,7 @@ _mesa_CopyColorTable(GLenum target, GLenum internalformat, -static void GLAPIENTRY +void GLAPIENTRY _mesa_CopyColorSubTable(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width) { @@ -85,7 +85,7 @@ _mesa_CopyColorSubTable(GLenum target, GLsizei start, -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnColorTableARB( GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data ) { @@ -95,7 +95,7 @@ _mesa_GetnColorTableARB( GLenum target, GLenum format, GLenum type, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetColorTable( GLenum target, GLenum format, GLenum type, GLvoid *data ) { @@ -105,7 +105,7 @@ _mesa_GetColorTable( GLenum target, GLenum format, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) { /* no extensions use this function */ @@ -116,7 +116,7 @@ _mesa_ColorTableParameterfv(GLenum target, GLenum pname, const GLfloat *params) -static void GLAPIENTRY +void GLAPIENTRY _mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) { /* no extensions use this function */ @@ -127,7 +127,7 @@ _mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params) -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params ) { GET_CURRENT_CONTEXT(ctx); @@ -137,28 +137,10 @@ _mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params ) -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params ) { GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); _mesa_error(ctx, GL_INVALID_ENUM, "glGetColorTableParameteriv(target)"); } - - -void -_mesa_init_colortable_dispatch(struct _glapi_table *disp) -{ - SET_ColorSubTable(disp, _mesa_ColorSubTable); - SET_ColorTable(disp, _mesa_ColorTable); - SET_ColorTableParameterfv(disp, _mesa_ColorTableParameterfv); - SET_ColorTableParameteriv(disp, _mesa_ColorTableParameteriv); - SET_CopyColorSubTable(disp, _mesa_CopyColorSubTable); - SET_CopyColorTable(disp, _mesa_CopyColorTable); - SET_GetColorTable(disp, _mesa_GetColorTable); - SET_GetColorTableParameterfv(disp, _mesa_GetColorTableParameterfv); - SET_GetColorTableParameteriv(disp, _mesa_GetColorTableParameteriv); - - /* GL_ARB_robustness */ - SET_GetnColorTableARB(disp, _mesa_GetnColorTableARB); -} diff --git a/mesalib/src/mesa/main/colortab.h b/mesalib/src/mesa/main/colortab.h index 7b8df38a1..f25fbe8a5 100644 --- a/mesalib/src/mesa/main/colortab.h +++ b/mesalib/src/mesa/main/colortab.h @@ -33,18 +33,35 @@ struct _glapi_table; -extern void GLAPIENTRY +void GLAPIENTRY _mesa_ColorTable( GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table ); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_ColorSubTable( GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *table ); - -extern void -_mesa_init_colortable_dispatch(struct _glapi_table *disp); +void GLAPIENTRY +_mesa_CopyColorTable(GLenum target, GLenum internalformat, + GLint x, GLint y, GLsizei width); +void GLAPIENTRY +_mesa_CopyColorSubTable(GLenum target, GLsizei start, + GLint x, GLint y, GLsizei width); +void GLAPIENTRY +_mesa_GetnColorTableARB( GLenum target, GLenum format, GLenum type, + GLsizei bufSize, GLvoid *data ); +void GLAPIENTRY +_mesa_GetColorTable( GLenum target, GLenum format, + GLenum type, GLvoid *data ); +void GLAPIENTRY +_mesa_ColorTableParameterfv(GLenum target, GLenum pname, + const GLfloat *params); +void GLAPIENTRY +_mesa_ColorTableParameteriv(GLenum target, GLenum pname, const GLint *params); +void GLAPIENTRY +_mesa_GetColorTableParameterfv( GLenum target, GLenum pname, GLfloat *params ); +void GLAPIENTRY +_mesa_GetColorTableParameteriv( GLenum target, GLenum pname, GLint *params ); #endif /* COLORTAB_H */ diff --git a/mesalib/src/mesa/main/context.c b/mesalib/src/mesa/main/context.c index a4dedeea2..0508378b7 100644 --- a/mesalib/src/mesa/main/context.c +++ b/mesalib/src/mesa/main/context.c @@ -706,9 +706,9 @@ check_context_limits(struct gl_context *ctx) assert(MAX_TEXTURE_LEVELS >= MAX_CUBE_TEXTURE_LEVELS); /* Max texture size should be <= max viewport size (render to texture) */ - assert((1 << (ctx->Const.MaxTextureLevels - 1)) + assert((1U << (ctx->Const.MaxTextureLevels - 1)) <= ctx->Const.MaxViewportWidth); - assert((1 << (ctx->Const.MaxTextureLevels - 1)) + assert((1U << (ctx->Const.MaxTextureLevels - 1)) <= ctx->Const.MaxViewportHeight); assert(ctx->Const.MaxDrawBuffers <= MAX_DRAW_BUFFERS); diff --git a/mesalib/src/mesa/main/convolve.c b/mesalib/src/mesa/main/convolve.c index cac8a9979..dfc1b9465 100644 --- a/mesalib/src/mesa/main/convolve.c +++ b/mesalib/src/mesa/main/convolve.c @@ -41,7 +41,7 @@ #include "main/dispatch.h" -static void GLAPIENTRY +void GLAPIENTRY _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *image) { GET_CURRENT_CONTEXT(ctx); @@ -49,7 +49,7 @@ _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, G _mesa_error(ctx, GL_INVALID_ENUM, "glConvolutionFilter1D"); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image) { GET_CURRENT_CONTEXT(ctx); @@ -58,7 +58,7 @@ _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, G } -static void GLAPIENTRY +void GLAPIENTRY _mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param) { GET_CURRENT_CONTEXT(ctx); @@ -67,7 +67,7 @@ _mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) { GET_CURRENT_CONTEXT(ctx); @@ -76,7 +76,7 @@ _mesa_ConvolutionParameterfv(GLenum target, GLenum pname, const GLfloat *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param) { GET_CURRENT_CONTEXT(ctx); @@ -85,7 +85,7 @@ _mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) { GET_CURRENT_CONTEXT(ctx); @@ -94,7 +94,7 @@ _mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width) { GET_CURRENT_CONTEXT(ctx); @@ -103,7 +103,7 @@ _mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x, GLi } -static void GLAPIENTRY +void GLAPIENTRY _mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height) { GET_CURRENT_CONTEXT(ctx); @@ -112,7 +112,7 @@ _mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, GLi } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, GLsizei bufSize, GLvoid *image) { @@ -122,7 +122,7 @@ _mesa_GetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, GLvoid *image) { @@ -130,7 +130,7 @@ _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) { GET_CURRENT_CONTEXT(ctx); @@ -139,7 +139,7 @@ _mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) { GET_CURRENT_CONTEXT(ctx); @@ -148,7 +148,7 @@ _mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, GLvoid *row, GLsizei columnBufSize, GLvoid *column, @@ -160,7 +160,7 @@ _mesa_GetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span) { @@ -169,32 +169,10 @@ _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column) { GET_CURRENT_CONTEXT(ctx); _mesa_error(ctx, GL_INVALID_ENUM, "glSeparableFilter2D"); } - -void -_mesa_init_convolve_dispatch(struct _glapi_table *disp) -{ - SET_ConvolutionFilter1D(disp, _mesa_ConvolutionFilter1D); - SET_ConvolutionFilter2D(disp, _mesa_ConvolutionFilter2D); - SET_ConvolutionParameterf(disp, _mesa_ConvolutionParameterf); - SET_ConvolutionParameterfv(disp, _mesa_ConvolutionParameterfv); - SET_ConvolutionParameteri(disp, _mesa_ConvolutionParameteri); - SET_ConvolutionParameteriv(disp, _mesa_ConvolutionParameteriv); - SET_CopyConvolutionFilter1D(disp, _mesa_CopyConvolutionFilter1D); - SET_CopyConvolutionFilter2D(disp, _mesa_CopyConvolutionFilter2D); - SET_GetConvolutionFilter(disp, _mesa_GetConvolutionFilter); - SET_GetConvolutionParameterfv(disp, _mesa_GetConvolutionParameterfv); - SET_GetConvolutionParameteriv(disp, _mesa_GetConvolutionParameteriv); - SET_SeparableFilter2D(disp, _mesa_SeparableFilter2D); - SET_GetSeparableFilter(disp, _mesa_GetSeparableFilter); - - /* GL_ARB_robustness */ - SET_GetnConvolutionFilterARB(disp, _mesa_GetnConvolutionFilterARB); - SET_GetnSeparableFilterARB(disp, _mesa_GetnSeparableFilterARB); -} diff --git a/mesalib/src/mesa/main/convolve.h b/mesalib/src/mesa/main/convolve.h index 2fbe3c7f5..812debd61 100644 --- a/mesalib/src/mesa/main/convolve.h +++ b/mesalib/src/mesa/main/convolve.h @@ -33,7 +33,49 @@ struct _glapi_table; -extern void -_mesa_init_convolve_dispatch(struct _glapi_table *disp); +void GLAPIENTRY +_mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, + GLenum format, GLenum type, const GLvoid *image); +void GLAPIENTRY +_mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, + GLsizei height, GLenum format, GLenum type, + const GLvoid *image); +void GLAPIENTRY +_mesa_ConvolutionParameterf(GLenum target, GLenum pname, GLfloat param); +void GLAPIENTRY +_mesa_ConvolutionParameterfv(GLenum target, GLenum pname, + const GLfloat *params); +void GLAPIENTRY +_mesa_ConvolutionParameteri(GLenum target, GLenum pname, GLint param); +void GLAPIENTRY +_mesa_ConvolutionParameteriv(GLenum target, GLenum pname, const GLint *params); +void GLAPIENTRY +_mesa_CopyConvolutionFilter1D(GLenum target, GLenum internalFormat, GLint x, + GLint y, GLsizei width); +void GLAPIENTRY +_mesa_CopyConvolutionFilter2D(GLenum target, GLenum internalFormat, GLint x, + GLint y, GLsizei width, GLsizei height); +void GLAPIENTRY +_mesa_GetnConvolutionFilterARB(GLenum target, GLenum format, GLenum type, + GLsizei bufSize, GLvoid *image); +void GLAPIENTRY +_mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type, + GLvoid *image); +void GLAPIENTRY +_mesa_GetConvolutionParameterfv(GLenum target, GLenum pname, GLfloat *params); +void GLAPIENTRY +_mesa_GetConvolutionParameteriv(GLenum target, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_GetnSeparableFilterARB(GLenum target, GLenum format, GLenum type, + GLsizei rowBufSize, GLvoid *row, + GLsizei columnBufSize, GLvoid *column, + GLvoid *span); +void GLAPIENTRY +_mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type, + GLvoid *row, GLvoid *column, GLvoid *span); +void GLAPIENTRY +_mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, + GLsizei height, GLenum format, GLenum type, + const GLvoid *row, const GLvoid *column); #endif /* CONVOLVE_H */ diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c index c15043694..8bbead7c4 100644 --- a/mesalib/src/mesa/main/dlist.c +++ b/mesalib/src/mesa/main/dlist.c @@ -8580,7 +8580,7 @@ execute_list(struct gl_context *ctx, GLuint list) /** * Test if a display list number is valid. */ -static GLboolean GLAPIENTRY +GLboolean GLAPIENTRY _mesa_IsList(GLuint list) { GET_CURRENT_CONTEXT(ctx); @@ -8593,7 +8593,7 @@ _mesa_IsList(GLuint list) /** * Delete a sequence of consecutive display lists. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_DeleteLists(GLuint list, GLsizei range) { GET_CURRENT_CONTEXT(ctx); @@ -8615,7 +8615,7 @@ _mesa_DeleteLists(GLuint list, GLsizei range) * Return a display list number, n, such that lists n through n+range-1 * are free. */ -static GLuint GLAPIENTRY +GLuint GLAPIENTRY _mesa_GenLists(GLsizei range) { GET_CURRENT_CONTEXT(ctx); @@ -8655,7 +8655,7 @@ _mesa_GenLists(GLsizei range) /** * Begin a new display list. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_NewList(GLuint name, GLenum mode) { GET_CURRENT_CONTEXT(ctx); @@ -8705,7 +8705,7 @@ _mesa_NewList(GLuint name, GLenum mode) /** * End definition of current display list. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_EndList(void) { GET_CURRENT_CONTEXT(ctx); @@ -8841,7 +8841,7 @@ _mesa_CallLists(GLsizei n, GLenum type, const GLvoid * lists) /** * Set the offset added to list numbers in glCallLists. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_ListBase(GLuint base) { GET_CURRENT_CONTEXT(ctx); @@ -10633,20 +10633,6 @@ _mesa_install_dlist_vtxfmt(struct _glapi_table *disp, } -void _mesa_init_dlist_dispatch(struct _glapi_table *disp) -{ - SET_CallList(disp, _mesa_CallList); - SET_CallLists(disp, _mesa_CallLists); - - SET_DeleteLists(disp, _mesa_DeleteLists); - SET_EndList(disp, _mesa_EndList); - SET_GenLists(disp, _mesa_GenLists); - SET_IsList(disp, _mesa_IsList); - SET_ListBase(disp, _mesa_ListBase); - SET_NewList(disp, _mesa_NewList); -} - - /** * Initialize display list state for given context. */ diff --git a/mesalib/src/mesa/main/dlist.h b/mesalib/src/mesa/main/dlist.h index 137245161..9d4fc6899 100644 --- a/mesalib/src/mesa/main/dlist.h +++ b/mesalib/src/mesa/main/dlist.h @@ -43,9 +43,22 @@ (vfmt)->CallLists = impl ## CallLists; \ } while (0) -extern void GLAPIENTRY _mesa_CallList( GLuint list ); - -extern void GLAPIENTRY _mesa_CallLists( GLsizei n, GLenum type, const GLvoid *lists ); +GLboolean GLAPIENTRY +_mesa_IsList(GLuint list); +void GLAPIENTRY +_mesa_DeleteLists(GLuint list, GLsizei range); +GLuint GLAPIENTRY +_mesa_GenLists(GLsizei range); +void GLAPIENTRY +_mesa_NewList(GLuint name, GLenum mode); +void GLAPIENTRY +_mesa_EndList(void); +void GLAPIENTRY +_mesa_CallList( GLuint list ); +void GLAPIENTRY +_mesa_CallLists( GLsizei n, GLenum type, const GLvoid *lists ); +void GLAPIENTRY +_mesa_ListBase(GLuint base); extern void _mesa_compile_error( struct gl_context *ctx, GLenum error, const char *s ); @@ -66,8 +79,6 @@ extern struct _glapi_table *_mesa_create_save_table(const struct gl_context *); extern void _mesa_install_dlist_vtxfmt(struct _glapi_table *disp, const GLvertexformat *vfmt); -extern void _mesa_init_dlist_dispatch(struct _glapi_table *disp); - extern void _mesa_init_display_list( struct gl_context * ctx ); extern void _mesa_free_display_list_data(struct gl_context *ctx); diff --git a/mesalib/src/mesa/main/drawpix.c b/mesalib/src/mesa/main/drawpix.c index 8836e0a0e..3d25ae52b 100644 --- a/mesalib/src/mesa/main/drawpix.c +++ b/mesalib/src/mesa/main/drawpix.c @@ -42,7 +42,7 @@ /* * Execute glDrawPixels */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_DrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels ) { @@ -186,7 +186,7 @@ end: } -static void GLAPIENTRY +void GLAPIENTRY _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height, GLenum type ) { @@ -291,7 +291,7 @@ end: } -static void GLAPIENTRY +void GLAPIENTRY _mesa_Bitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap ) @@ -365,12 +365,3 @@ _mesa_Bitmap( GLsizei width, GLsizei height, _mesa_flush(ctx); } } - - -void -_mesa_init_drawpix_dispatch(struct _glapi_table *disp) -{ - SET_Bitmap(disp, _mesa_Bitmap); - SET_CopyPixels(disp, _mesa_CopyPixels); - SET_DrawPixels(disp, _mesa_DrawPixels); -} diff --git a/mesalib/src/mesa/main/drawpix.h b/mesalib/src/mesa/main/drawpix.h index 971d258f1..087b3a8c9 100644 --- a/mesalib/src/mesa/main/drawpix.h +++ b/mesalib/src/mesa/main/drawpix.h @@ -32,8 +32,16 @@ struct _glapi_table; -extern void -_mesa_init_drawpix_dispatch(struct _glapi_table *disp); +void GLAPIENTRY +_mesa_DrawPixels( GLsizei width, GLsizei height, + GLenum format, GLenum type, const GLvoid *pixels ); +void GLAPIENTRY +_mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height, + GLenum type ); +void GLAPIENTRY +_mesa_Bitmap( GLsizei width, GLsizei height, + GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, + const GLubyte *bitmap ); #endif /* DRAWPIX_H */ diff --git a/mesalib/src/mesa/main/errors.c b/mesalib/src/mesa/main/errors.c index 796b6beff..b692f3189 100644 --- a/mesalib/src/mesa/main/errors.c +++ b/mesalib/src/mesa/main/errors.c @@ -477,7 +477,7 @@ error: return GL_FALSE; } -static void GLAPIENTRY +void GLAPIENTRY _mesa_DebugMessageInsertARB(GLenum source, GLenum type, GLuint id, GLenum severity, GLint length, const GLcharARB* buf) @@ -501,7 +501,7 @@ _mesa_DebugMessageInsertARB(GLenum source, GLenum type, GLuint id, _mesa_log_msg(ctx, source, type, id, severity, length, buf); } -static GLuint GLAPIENTRY +GLuint GLAPIENTRY _mesa_GetDebugMessageLogARB(GLuint count, GLsizei logSize, GLenum* sources, GLenum* types, GLenum* ids, GLenum* severities, GLsizei* lengths, GLcharARB* messageLog) @@ -672,7 +672,7 @@ control_app_messages(struct gl_context *ctx, GLenum esource, GLenum etype, control_app_messages_by_group(ctx, source, type, severity, enabled); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_DebugMessageControlARB(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled) @@ -717,7 +717,7 @@ _mesa_DebugMessageControlARB(GLenum source, GLenum type, GLenum severity, } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_DebugMessageCallbackARB(GLDEBUGPROCARB callback, const GLvoid *userParam) { GET_CURRENT_CONTEXT(ctx); diff --git a/mesalib/src/mesa/main/errors.h b/mesalib/src/mesa/main/errors.h index b4490fac9..c41d36811 100644 --- a/mesalib/src/mesa/main/errors.h +++ b/mesalib/src/mesa/main/errors.h @@ -71,6 +71,22 @@ _mesa_debug( const struct gl_context *ctx, const char *fmtString, ... ) PRINTFLI extern void _mesa_shader_debug( struct gl_context *ctx, GLenum type, GLuint id, const char *msg, int len ); +void GLAPIENTRY +_mesa_DebugMessageInsertARB(GLenum source, GLenum type, GLuint id, + GLenum severity, GLint length, + const GLcharARB* buf); +GLuint GLAPIENTRY +_mesa_GetDebugMessageLogARB(GLuint count, GLsizei logSize, GLenum* sources, + GLenum* types, GLenum* ids, GLenum* severities, + GLsizei* lengths, GLcharARB* messageLog); +void GLAPIENTRY +_mesa_DebugMessageControlARB(GLenum source, GLenum type, GLenum severity, + GLsizei count, const GLuint *ids, + GLboolean enabled); +void GLAPIENTRY +_mesa_DebugMessageCallbackARB(GLDEBUGPROCARB callback, + const GLvoid *userParam); + #ifdef __cplusplus } #endif diff --git a/mesalib/src/mesa/main/es1_conversion.c b/mesalib/src/mesa/main/es1_conversion.c index 758fb1a66..993147c47 100644 --- a/mesalib/src/mesa/main/es1_conversion.c +++ b/mesalib/src/mesa/main/es1_conversion.c @@ -1,8 +1,6 @@ #include #include "main/mfeatures.h" -#if FEATURE_ES1 - #include "api_loopback.h" #include "api_exec.h" #include "blend.h" @@ -938,5 +936,3 @@ _es_Translatex(GLfixed x, GLfixed y, GLfixed z) (GLfloat) (y / 65536.0f), (GLfloat) (z / 65536.0f)); } - -#endif /* FEATURE_ES1 */ diff --git a/mesalib/src/mesa/main/eval.c b/mesalib/src/mesa/main/eval.c index d6e45d6e8..59627cc43 100644 --- a/mesalib/src/mesa/main/eval.c +++ b/mesalib/src/mesa/main/eval.c @@ -368,7 +368,7 @@ map1(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, -static void GLAPIENTRY +void GLAPIENTRY _mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points ) { @@ -376,7 +376,7 @@ _mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points ) { @@ -467,7 +467,7 @@ map2( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_Map2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, @@ -478,7 +478,7 @@ _mesa_Map2f( GLenum target, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_Map2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, @@ -490,7 +490,7 @@ _mesa_Map2d( GLenum target, -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnMapdvARB( GLenum target, GLenum query, GLsizei bufSize, GLdouble *v ) { GET_CURRENT_CONTEXT(ctx); @@ -576,13 +576,13 @@ overflow: " but %d bytes are required)", bufSize, numBytes ); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetMapdv( GLenum target, GLenum query, GLdouble *v ) { _mesa_GetnMapdvARB(target, query, INT_MAX, v); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnMapfvARB( GLenum target, GLenum query, GLsizei bufSize, GLfloat *v ) { GET_CURRENT_CONTEXT(ctx); @@ -669,14 +669,14 @@ overflow: } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetMapfv( GLenum target, GLenum query, GLfloat *v ) { _mesa_GetnMapfvARB(target, query, INT_MAX, v); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnMapivARB( GLenum target, GLenum query, GLsizei bufSize, GLint *v ) { GET_CURRENT_CONTEXT(ctx); @@ -763,14 +763,14 @@ overflow: } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetMapiv( GLenum target, GLenum query, GLint *v ) { _mesa_GetnMapivARB(target, query, INT_MAX, v); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 ) { GET_CURRENT_CONTEXT(ctx); @@ -788,14 +788,14 @@ _mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 ) { _mesa_MapGrid1f( un, (GLfloat) u1, (GLfloat) u2 ); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 ) { @@ -823,7 +823,7 @@ _mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_MapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 ) { @@ -848,28 +848,6 @@ _mesa_install_eval_vtxfmt(struct _glapi_table *disp, } -void -_mesa_init_eval_dispatch(struct _glapi_table *disp) -{ - SET_GetMapdv(disp, _mesa_GetMapdv); - SET_GetMapfv(disp, _mesa_GetMapfv); - SET_GetMapiv(disp, _mesa_GetMapiv); - SET_Map1d(disp, _mesa_Map1d); - SET_Map1f(disp, _mesa_Map1f); - SET_Map2d(disp, _mesa_Map2d); - SET_Map2f(disp, _mesa_Map2f); - SET_MapGrid1d(disp, _mesa_MapGrid1d); - SET_MapGrid1f(disp, _mesa_MapGrid1f); - SET_MapGrid2d(disp, _mesa_MapGrid2d); - SET_MapGrid2f(disp, _mesa_MapGrid2f); - - /* GL_ARB_robustness */ - SET_GetnMapdvARB(disp, _mesa_GetnMapdvARB); - SET_GetnMapfvARB(disp, _mesa_GetnMapfvARB); - SET_GetnMapivARB(disp, _mesa_GetnMapivARB); -} - - /**********************************************************************/ /***** Initialization *****/ /**********************************************************************/ diff --git a/mesalib/src/mesa/main/eval.h b/mesalib/src/mesa/main/eval.h index 0649de052..1b6c704ca 100644 --- a/mesalib/src/mesa/main/eval.h +++ b/mesalib/src/mesa/main/eval.h @@ -78,11 +78,47 @@ extern void _mesa_install_eval_vtxfmt(struct _glapi_table *disp, const GLvertexformat *vfmt); -extern void -_mesa_init_eval_dispatch(struct _glapi_table *disp); - extern void _mesa_init_eval( struct gl_context *ctx ); extern void _mesa_free_eval_data( struct gl_context *ctx ); +void GLAPIENTRY +_mesa_Map1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, + GLint order, const GLfloat *points ); +void GLAPIENTRY +_mesa_Map1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, + GLint order, const GLdouble *points ); +void GLAPIENTRY +_mesa_Map2f( GLenum target, + GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, + GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, + const GLfloat *points); +void GLAPIENTRY +_mesa_Map2d( GLenum target, + GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, + GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, + const GLdouble *points ); +void GLAPIENTRY +_mesa_GetnMapdvARB( GLenum target, GLenum query, GLsizei bufSize, + GLdouble *v ); +void GLAPIENTRY +_mesa_GetMapdv( GLenum target, GLenum query, GLdouble *v ); +void GLAPIENTRY +_mesa_GetnMapfvARB( GLenum target, GLenum query, GLsizei bufSize, GLfloat *v ); +void GLAPIENTRY +_mesa_GetMapfv( GLenum target, GLenum query, GLfloat *v ); +void GLAPIENTRY +_mesa_GetnMapivARB( GLenum target, GLenum query, GLsizei bufSize, GLint *v ); +void GLAPIENTRY +_mesa_GetMapiv( GLenum target, GLenum query, GLint *v ); +void GLAPIENTRY +_mesa_MapGrid1f( GLint un, GLfloat u1, GLfloat u2 ); +void GLAPIENTRY +_mesa_MapGrid1d( GLint un, GLdouble u1, GLdouble u2 ); +void GLAPIENTRY +_mesa_MapGrid2f( GLint un, GLfloat u1, GLfloat u2, + GLint vn, GLfloat v1, GLfloat v2 ); +void GLAPIENTRY +_mesa_MapGrid2d( GLint un, GLdouble u1, GLdouble u2, + GLint vn, GLdouble v1, GLdouble v2 ); #endif /* EVAL_H */ diff --git a/mesalib/src/mesa/main/fbobject.c b/mesalib/src/mesa/main/fbobject.c index fc5681ccc..0758d5557 100644 --- a/mesalib/src/mesa/main/fbobject.c +++ b/mesalib/src/mesa/main/fbobject.c @@ -2059,7 +2059,8 @@ framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target, } else if ((texObj->Target == GL_TEXTURE_1D_ARRAY_EXT) || (texObj->Target == GL_TEXTURE_2D_ARRAY_EXT)) { - if (zoffset < 0 || zoffset >= ctx->Const.MaxArrayTextureLayers) { + if (zoffset < 0 || + zoffset >= (GLint) ctx->Const.MaxArrayTextureLayers) { _mesa_error(ctx, GL_INVALID_VALUE, "glFramebufferTexture%sEXT(layer)", caller); return; @@ -2637,6 +2638,15 @@ _mesa_GenerateMipmapEXT(GLenum target) return; } + if (_mesa_is_enum_format_integer(srcImage->InternalFormat) || + _mesa_is_depthstencil_format(srcImage->InternalFormat) || + _mesa_is_stencil_format(srcImage->InternalFormat)) { + _mesa_unlock_texture(ctx, texObj); + _mesa_error(ctx, GL_INVALID_OPERATION, + "glGenerateMipmap(invalid internal format)"); + return; + } + if (target == GL_TEXTURE_CUBE_MAP) { GLuint face; for (face = 0; face < 6; face++) @@ -3142,7 +3152,7 @@ invalidate_framebuffer_storage(GLenum target, GLsizei numAttachments, case GL_COLOR_ATTACHMENT13: case GL_COLOR_ATTACHMENT14: case GL_COLOR_ATTACHMENT15: { - const int k = attachments[i] - GL_COLOR_ATTACHMENT0; + unsigned k = attachments[i] - GL_COLOR_ATTACHMENT0; if (k >= ctx->Const.MaxColorAttachments) { _mesa_error(ctx, GL_INVALID_OPERATION, "%s(attachment >= max. color attachments)", name); diff --git a/mesalib/src/mesa/main/feedback.c b/mesalib/src/mesa/main/feedback.c index f45b823b1..128a12622 100644 --- a/mesalib/src/mesa/main/feedback.c +++ b/mesalib/src/mesa/main/feedback.c @@ -47,7 +47,7 @@ -static void GLAPIENTRY +void GLAPIENTRY _mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer ) { GET_CURRENT_CONTEXT(ctx); @@ -96,7 +96,7 @@ _mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_PassThrough( GLfloat token ) { GET_CURRENT_CONTEXT(ctx); @@ -159,7 +159,7 @@ _mesa_feedback_vertex(struct gl_context *ctx, * Verifies we're not in selection mode, flushes the vertices and initialize * the fields in __struct gl_contextRec::Select with the given buffer. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_SelectBuffer( GLsizei size, GLuint *buffer ) { GET_CURRENT_CONTEXT(ctx); @@ -271,7 +271,7 @@ write_hit_record(struct gl_context *ctx) * the hit record data in gl_selection. Marks new render mode in * __struct gl_contextRec::NewState. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_InitNames( void ) { GET_CURRENT_CONTEXT(ctx); @@ -302,7 +302,7 @@ _mesa_InitNames( void ) * * sa __struct gl_contextRec::Select. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_LoadName( GLuint name ) { GET_CURRENT_CONTEXT(ctx); @@ -341,7 +341,7 @@ _mesa_LoadName( GLuint name ) * * sa __struct gl_contextRec::Select. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_PushName( GLuint name ) { GET_CURRENT_CONTEXT(ctx); @@ -372,7 +372,7 @@ _mesa_PushName( GLuint name ) * * sa __struct gl_contextRec::Select. */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_PopName( void ) { GET_CURRENT_CONTEXT(ctx); @@ -494,20 +494,6 @@ _mesa_RenderMode( GLenum mode ) /*@}*/ -void -_mesa_init_feedback_dispatch(struct _glapi_table *disp) -{ - SET_InitNames(disp, _mesa_InitNames); - SET_FeedbackBuffer(disp, _mesa_FeedbackBuffer); - SET_LoadName(disp, _mesa_LoadName); - SET_PassThrough(disp, _mesa_PassThrough); - SET_PopName(disp, _mesa_PopName); - SET_PushName(disp, _mesa_PushName); - SET_SelectBuffer(disp, _mesa_SelectBuffer); - SET_RenderMode(disp, _mesa_RenderMode); -} - - /**********************************************************************/ /** \name Initialization */ /*@{*/ diff --git a/mesalib/src/mesa/main/feedback.h b/mesalib/src/mesa/main/feedback.h index cc4cf15a8..a697dc0d2 100644 --- a/mesalib/src/mesa/main/feedback.h +++ b/mesalib/src/mesa/main/feedback.h @@ -31,7 +31,21 @@ #include "main/mtypes.h" -extern GLint GLAPIENTRY +void GLAPIENTRY +_mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer ); +void GLAPIENTRY +_mesa_PassThrough( GLfloat token ); +void GLAPIENTRY +_mesa_SelectBuffer( GLsizei size, GLuint *buffer ); +void GLAPIENTRY +_mesa_InitNames( void ); +void GLAPIENTRY +_mesa_LoadName( GLuint name ); +void GLAPIENTRY +_mesa_PushName( GLuint name ); +void GLAPIENTRY +_mesa_PopName( void ); +GLint GLAPIENTRY _mesa_RenderMode( GLenum mode ); extern void @@ -55,10 +69,6 @@ extern void _mesa_update_hitflag( struct gl_context *ctx, GLfloat z ); -extern void -_mesa_init_feedback_dispatch(struct _glapi_table *disp); - - extern void _mesa_init_feedback( struct gl_context *ctx ); diff --git a/mesalib/src/mesa/main/ffvertex_prog.c b/mesalib/src/mesa/main/ffvertex_prog.c index efdca015e..4cdec2166 100644 --- a/mesalib/src/mesa/main/ffvertex_prog.c +++ b/mesalib/src/mesa/main/ffvertex_prog.c @@ -160,6 +160,8 @@ static void make_state_key( struct gl_context *ctx, struct state_key *key ) key->need_eye_coords = ctx->_NeedEyeCoords; + /* Make sure fp->Base.InputsRead fits in a 12-bit field */ + assert(fp->Base.InputsRead < (1 << 12)); key->fragprog_inputs_read = fp->Base.InputsRead; key->varying_vp_inputs = ctx->varying_vp_inputs; diff --git a/mesalib/src/mesa/main/format_pack.c b/mesalib/src/mesa/main/format_pack.c index be6c026e8..051fb40b9 100644 --- a/mesalib/src/mesa/main/format_pack.c +++ b/mesalib/src/mesa/main/format_pack.c @@ -2248,7 +2248,7 @@ pack_uint_z_Z32_FLOAT(const GLuint *src, void *dst) { GLuint *d = ((GLuint *) dst); const GLdouble scale = 1.0 / (GLdouble) 0xffffffff; - *d = *src * scale; + *d = (GLuint) (*src * scale); assert(*d >= 0.0f); assert(*d <= 1.0f); } @@ -2258,7 +2258,7 @@ pack_uint_z_Z32_FLOAT_X24S8(const GLuint *src, void *dst) { GLfloat *d = ((GLfloat *) dst); const GLdouble scale = 1.0 / (GLdouble) 0xffffffff; - *d = *src * scale; + *d = (GLfloat) (*src * scale); assert(*d >= 0.0f); assert(*d <= 1.0f); } @@ -2473,7 +2473,7 @@ _mesa_pack_uint_z_row(gl_format format, GLuint n, const GLdouble scale = 1.0 / (GLdouble) 0xffffffff; GLuint i; for (i = 0; i < n; i++) { - d[i] = src[i] * scale; + d[i] = (GLuint) (src[i] * scale); assert(d[i] >= 0.0f); assert(d[i] <= 1.0f); } @@ -2485,7 +2485,7 @@ _mesa_pack_uint_z_row(gl_format format, GLuint n, const GLdouble scale = 1.0 / (GLdouble) 0xffffffff; GLuint i; for (i = 0; i < n; i++) { - d[i].z = src[i] * scale; + d[i].z = (GLfloat) (src[i] * scale); assert(d[i].z >= 0.0f); assert(d[i].z <= 1.0f); } @@ -2570,9 +2570,9 @@ _mesa_pack_uint_24_8_depth_stencil_row(gl_format format, GLuint n, { const GLdouble scale = 1.0 / (GLdouble) 0xffffff; struct z32f_x24s8 *d = (struct z32f_x24s8 *) dst; - GLint i; + GLuint i; for (i = 0; i < n; i++) { - GLfloat z = (src[i] >> 8) * scale; + GLfloat z = (GLfloat) ((src[i] >> 8) * scale); d[i].z = z; d[i].x24s8 = src[i]; } @@ -2599,10 +2599,10 @@ _mesa_pack_colormask(gl_format format, const GLubyte colorMask[4], void *dst) switch (_mesa_get_format_datatype(format)) { case GL_UNSIGNED_NORMALIZED: /* simple: 1.0 will convert to ~0 in the right bit positions */ - maskColor[0] = colorMask[0] ? 1.0 : 0.0; - maskColor[1] = colorMask[1] ? 1.0 : 0.0; - maskColor[2] = colorMask[2] ? 1.0 : 0.0; - maskColor[3] = colorMask[3] ? 1.0 : 0.0; + maskColor[0] = colorMask[0] ? 1.0f : 0.0f; + maskColor[1] = colorMask[1] ? 1.0f : 0.0f; + maskColor[2] = colorMask[2] ? 1.0f : 0.0f; + maskColor[3] = colorMask[3] ? 1.0f : 0.0f; _mesa_pack_float_rgba_row(format, 1, (const GLfloat (*)[4]) maskColor, dst); break; diff --git a/mesalib/src/mesa/main/get.c b/mesalib/src/mesa/main/get.c index c34d873f2..afae08932 100644 --- a/mesalib/src/mesa/main/get.c +++ b/mesalib/src/mesa/main/get.c @@ -1480,7 +1480,7 @@ _mesa_GetDoublev(GLenum pname, GLdouble *params) } static enum value_type -find_value_indexed(const char *func, GLenum pname, int index, union value *v) +find_value_indexed(const char *func, GLenum pname, GLuint index, union value *v) { GET_CURRENT_CONTEXT(ctx); @@ -1686,7 +1686,6 @@ _mesa_GetInteger64Indexedv( GLenum pname, GLuint index, GLint64 *params ) } } -#if FEATURE_ES1 void GLAPIENTRY _mesa_GetFixedv(GLenum pname, GLfixed *params) { @@ -1772,4 +1771,3 @@ _mesa_GetFixedv(GLenum pname, GLfixed *params) break; } } -#endif diff --git a/mesalib/src/mesa/main/histogram.c b/mesalib/src/mesa/main/histogram.c index d3dc7ddc4..fe454bcfb 100644 --- a/mesalib/src/mesa/main/histogram.c +++ b/mesalib/src/mesa/main/histogram.c @@ -37,11 +37,7 @@ */ -/* this is defined below */ -static void GLAPIENTRY _mesa_ResetMinmax(GLenum target); - - -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values) { @@ -51,7 +47,7 @@ _mesa_GetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { @@ -59,7 +55,7 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnHistogramARB(GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, GLvoid *values) { @@ -69,7 +65,7 @@ _mesa_GetnHistogramARB(GLenum target, GLboolean reset, GLenum format, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values) { @@ -77,7 +73,7 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) { GET_CURRENT_CONTEXT(ctx); @@ -86,7 +82,7 @@ _mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) { GET_CURRENT_CONTEXT(ctx); @@ -95,7 +91,7 @@ _mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) { GET_CURRENT_CONTEXT(ctx); @@ -104,7 +100,7 @@ _mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) { GET_CURRENT_CONTEXT(ctx); @@ -113,7 +109,7 @@ _mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean sink) { GET_CURRENT_CONTEXT(ctx); @@ -122,7 +118,7 @@ _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean s } -static void GLAPIENTRY +void GLAPIENTRY _mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink) { GET_CURRENT_CONTEXT(ctx); @@ -131,7 +127,7 @@ _mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_ResetHistogram(GLenum target) { GET_CURRENT_CONTEXT(ctx); @@ -140,30 +136,10 @@ _mesa_ResetHistogram(GLenum target) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_ResetMinmax(GLenum target) { GET_CURRENT_CONTEXT(ctx); _mesa_error(ctx, GL_INVALID_OPERATION, "glResetMinmax"); } - - -void -_mesa_init_histogram_dispatch(struct _glapi_table *disp) -{ - SET_GetHistogram(disp, _mesa_GetHistogram); - SET_GetHistogramParameterfv(disp, _mesa_GetHistogramParameterfv); - SET_GetHistogramParameteriv(disp, _mesa_GetHistogramParameteriv); - SET_GetMinmax(disp, _mesa_GetMinmax); - SET_GetMinmaxParameterfv(disp, _mesa_GetMinmaxParameterfv); - SET_GetMinmaxParameteriv(disp, _mesa_GetMinmaxParameteriv); - SET_Histogram(disp, _mesa_Histogram); - SET_Minmax(disp, _mesa_Minmax); - SET_ResetHistogram(disp, _mesa_ResetHistogram); - SET_ResetMinmax(disp, _mesa_ResetMinmax); - - /* GL_ARB_robustness */ - SET_GetnHistogramARB(disp, _mesa_GetnHistogramARB); - SET_GetnMinmaxARB(disp, _mesa_GetnMinmaxARB); -} diff --git a/mesalib/src/mesa/main/histogram.h b/mesalib/src/mesa/main/histogram.h index a9c312152..06781e732 100644 --- a/mesalib/src/mesa/main/histogram.h +++ b/mesalib/src/mesa/main/histogram.h @@ -41,7 +41,35 @@ struct _glapi_table; -extern void -_mesa_init_histogram_dispatch(struct _glapi_table *disp); +void GLAPIENTRY +_mesa_GetnMinmaxARB(GLenum target, GLboolean reset, GLenum format, + GLenum type, GLsizei bufSize, GLvoid *values); +void GLAPIENTRY +_mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, + GLvoid *values); +void GLAPIENTRY +_mesa_GetnHistogramARB(GLenum target, GLboolean reset, GLenum format, + GLenum type, GLsizei bufSize, GLvoid *values); +void GLAPIENTRY +_mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, + GLvoid *values); +void GLAPIENTRY +_mesa_GetHistogramParameterfv(GLenum target, GLenum pname, GLfloat *params); +void GLAPIENTRY +_mesa_GetHistogramParameteriv(GLenum target, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_GetMinmaxParameterfv(GLenum target, GLenum pname, GLfloat *params); +void GLAPIENTRY +_mesa_GetMinmaxParameteriv(GLenum target, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, + GLboolean sink); +void GLAPIENTRY +_mesa_Minmax(GLenum target, GLenum internalFormat, GLboolean sink); +void GLAPIENTRY +_mesa_ResetHistogram(GLenum target); +void GLAPIENTRY +_mesa_ResetMinmax(GLenum target); + #endif /* HISTOGRAM_H */ diff --git a/mesalib/src/mesa/main/imports.h b/mesalib/src/mesa/main/imports.h index a78d67966..40ba75785 100644 --- a/mesalib/src/mesa/main/imports.h +++ b/mesalib/src/mesa/main/imports.h @@ -81,7 +81,7 @@ extern "C" { * these casts generate warnings. * The following union typedef is used to solve that. */ -typedef union { GLfloat f; GLint i; } fi_type; +typedef union { GLfloat f; GLint i; GLuint u; } fi_type; diff --git a/mesalib/src/mesa/main/macros.h b/mesalib/src/mesa/main/macros.h index 7b7fd1b6d..14a5d5fe1 100644 --- a/mesalib/src/mesa/main/macros.h +++ b/mesalib/src/mesa/main/macros.h @@ -171,6 +171,20 @@ extern GLfloat _mesa_ubyte_to_float_color_tab[256]; ub = ((GLubyte) F_TO_I((f) * 255.0F)) #endif +static inline GLfloat INT_AS_FLT(GLint i) +{ + fi_type tmp; + tmp.i = i; + return tmp.f; +} + +static inline GLfloat UINT_AS_FLT(GLuint u) +{ + fi_type tmp; + tmp.u = u; + return tmp.f; +} + /*@}*/ @@ -573,6 +587,31 @@ do { \ /*@}*/ +/** Copy \p sz elements into a homegeneous (4-element) vector, giving + * default values to the remaining components. + * The default values are chosen based on \p type. + */ +static inline void +COPY_CLEAN_4V_TYPE_AS_FLOAT(GLfloat dst[4], int sz, const GLfloat src[4], + GLenum type) +{ + switch (type) { + case GL_FLOAT: + ASSIGN_4V(dst, 0, 0, 0, 1); + break; + case GL_INT: + ASSIGN_4V(dst, INT_AS_FLT(0), INT_AS_FLT(0), + INT_AS_FLT(0), INT_AS_FLT(1)); + break; + case GL_UNSIGNED_INT: + ASSIGN_4V(dst, UINT_AS_FLT(0), UINT_AS_FLT(0), + UINT_AS_FLT(0), UINT_AS_FLT(1)); + break; + default: + ASSERT(0); + } + COPY_SZ_4V(dst, sz, src); +} /** \name Linear interpolation functions */ /*@{*/ diff --git a/mesalib/src/mesa/main/matrix.c b/mesalib/src/mesa/main/matrix.c index 28c4e2b49..3c5968c85 100644 --- a/mesalib/src/mesa/main/matrix.c +++ b/mesalib/src/mesa/main/matrix.c @@ -746,7 +746,7 @@ void _mesa_free_matrix_data( struct gl_context *ctx ) */ void _mesa_init_transform( struct gl_context *ctx ) { - GLint i; + GLuint i; /* Transformation group */ ctx->Transform.MatrixMode = GL_MODELVIEW; diff --git a/mesalib/src/mesa/main/pixel.c b/mesalib/src/mesa/main/pixel.c index f926c56a4..9940eda52 100644 --- a/mesalib/src/mesa/main/pixel.c +++ b/mesalib/src/mesa/main/pixel.c @@ -44,7 +44,7 @@ /***** glPixelZoom *****/ /**********************************************************************/ -static void GLAPIENTRY +void GLAPIENTRY _mesa_PixelZoom( GLfloat xfactor, GLfloat yfactor ) { GET_CURRENT_CONTEXT(ctx); @@ -177,7 +177,7 @@ validate_pbo_access(struct gl_context *ctx, } -static void GLAPIENTRY +void GLAPIENTRY _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values ) { GET_CURRENT_CONTEXT(ctx); @@ -219,7 +219,7 @@ _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values ) { GLfloat fvalues[MAX_PIXEL_MAP_TABLE]; @@ -275,7 +275,7 @@ _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values ) { GLfloat fvalues[MAX_PIXEL_MAP_TABLE]; @@ -331,7 +331,7 @@ _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnPixelMapfvARB( GLenum map, GLsizei bufSize, GLfloat *values ) { GET_CURRENT_CONTEXT(ctx); @@ -376,13 +376,13 @@ _mesa_GetnPixelMapfvARB( GLenum map, GLsizei bufSize, GLfloat *values ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetPixelMapfv( GLenum map, GLfloat *values ) { _mesa_GetnPixelMapfvARB(map, INT_MAX, values); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnPixelMapuivARB( GLenum map, GLsizei bufSize, GLuint *values ) { GET_CURRENT_CONTEXT(ctx); @@ -427,13 +427,13 @@ _mesa_GetnPixelMapuivARB( GLenum map, GLsizei bufSize, GLuint *values ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetPixelMapuiv( GLenum map, GLuint *values ) { _mesa_GetnPixelMapuivARB(map, INT_MAX, values); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetnPixelMapusvARB( GLenum map, GLsizei bufSize, GLushort *values ) { GET_CURRENT_CONTEXT(ctx); @@ -486,7 +486,7 @@ _mesa_GetnPixelMapusvARB( GLenum map, GLsizei bufSize, GLushort *values ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetPixelMapusv( GLenum map, GLushort *values ) { _mesa_GetnPixelMapusvARB(map, INT_MAX, values); @@ -600,7 +600,7 @@ _mesa_PixelTransferf( GLenum pname, GLfloat param ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_PixelTransferi( GLenum pname, GLint param ) { _mesa_PixelTransferf( pname, (GLfloat) param ); @@ -647,26 +647,6 @@ void _mesa_update_pixel( struct gl_context *ctx, GLuint new_state ) } -void -_mesa_init_pixel_dispatch(struct _glapi_table *disp) -{ - SET_GetPixelMapfv(disp, _mesa_GetPixelMapfv); - SET_GetPixelMapuiv(disp, _mesa_GetPixelMapuiv); - SET_GetPixelMapusv(disp, _mesa_GetPixelMapusv); - SET_PixelMapfv(disp, _mesa_PixelMapfv); - SET_PixelMapuiv(disp, _mesa_PixelMapuiv); - SET_PixelMapusv(disp, _mesa_PixelMapusv); - SET_PixelTransferf(disp, _mesa_PixelTransferf); - SET_PixelTransferi(disp, _mesa_PixelTransferi); - SET_PixelZoom(disp, _mesa_PixelZoom); - - /* GL_ARB_robustness */ - SET_GetnPixelMapfvARB(disp, _mesa_GetnPixelMapfvARB); - SET_GetnPixelMapuivARB(disp, _mesa_GetnPixelMapuivARB); - SET_GetnPixelMapusvARB(disp, _mesa_GetnPixelMapusvARB); -} - - /**********************************************************************/ /***** Initialization *****/ /**********************************************************************/ diff --git a/mesalib/src/mesa/main/pixel.h b/mesalib/src/mesa/main/pixel.h index bfd76d934..433208cb6 100644 --- a/mesalib/src/mesa/main/pixel.h +++ b/mesalib/src/mesa/main/pixel.h @@ -41,15 +41,34 @@ struct _glapi_table; struct gl_context; -extern void GLAPIENTRY +void GLAPIENTRY +_mesa_PixelZoom( GLfloat xfactor, GLfloat yfactor ); +void GLAPIENTRY +_mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values ); +void GLAPIENTRY +_mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values ); +void GLAPIENTRY +_mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values ); +void GLAPIENTRY +_mesa_GetnPixelMapfvARB( GLenum map, GLsizei bufSize, GLfloat *values ); +void GLAPIENTRY +_mesa_GetPixelMapfv( GLenum map, GLfloat *values ); +void GLAPIENTRY +_mesa_GetnPixelMapuivARB( GLenum map, GLsizei bufSize, GLuint *values ); +void GLAPIENTRY +_mesa_GetPixelMapuiv( GLenum map, GLuint *values ); +void GLAPIENTRY +_mesa_GetnPixelMapusvARB( GLenum map, GLsizei bufSize, GLushort *values ); +void GLAPIENTRY +_mesa_GetPixelMapusv( GLenum map, GLushort *values ); +void GLAPIENTRY _mesa_PixelTransferf(GLenum pname, GLfloat param); +void GLAPIENTRY +_mesa_PixelTransferi( GLenum pname, GLint param ); extern void _mesa_update_pixel( struct gl_context *ctx, GLuint newstate ); -extern void -_mesa_init_pixel_dispatch( struct _glapi_table * disp ); - extern void _mesa_init_pixel( struct gl_context * ctx ); diff --git a/mesalib/src/mesa/main/queryobj.c b/mesalib/src/mesa/main/queryobj.c index 1e39adc49..8c5e1b822 100644 --- a/mesalib/src/mesa/main/queryobj.c +++ b/mesalib/src/mesa/main/queryobj.c @@ -168,7 +168,7 @@ get_query_binding_point(struct gl_context *ctx, GLenum target) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GenQueriesARB(GLsizei n, GLuint *ids) { GLuint first; @@ -207,7 +207,7 @@ _mesa_GenQueriesARB(GLsizei n, GLuint *ids) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids) { GLint i; @@ -243,7 +243,7 @@ _mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids) } -static GLboolean GLAPIENTRY +GLboolean GLAPIENTRY _mesa_IsQueryARB(GLuint id) { GET_CURRENT_CONTEXT(ctx); @@ -279,7 +279,7 @@ query_error_check_index(struct gl_context *ctx, GLenum target, GLuint index) return GL_TRUE; } -static void GLAPIENTRY +void GLAPIENTRY _mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id) { struct gl_query_object *q, **bindpt; @@ -356,7 +356,7 @@ _mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_EndQueryIndexed(GLenum target, GLuint index) { struct gl_query_object *q, **bindpt; @@ -402,19 +402,19 @@ _mesa_EndQueryIndexed(GLenum target, GLuint index) ctx->Driver.EndQuery(ctx, q); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_BeginQueryARB(GLenum target, GLuint id) { _mesa_BeginQueryIndexed(target, 0, id); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_EndQueryARB(GLenum target) { _mesa_EndQueryIndexed(target, 0); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_QueryCounter(GLuint id, GLenum target) { struct gl_query_object *q; @@ -471,7 +471,7 @@ _mesa_QueryCounter(GLuint id, GLenum target) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname, GLint *params) { @@ -546,13 +546,13 @@ _mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname, } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params) { _mesa_GetQueryIndexediv(target, 0, pname, params); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params) { struct gl_query_object *q = NULL; @@ -603,7 +603,7 @@ _mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params) { struct gl_query_object *q = NULL; @@ -657,7 +657,7 @@ _mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params) /** * New with GL_EXT_timer_query */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params) { struct gl_query_object *q = NULL; @@ -698,7 +698,7 @@ _mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params) /** * New with GL_EXT_timer_query */ -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params) { struct gl_query_object *q = NULL; diff --git a/mesalib/src/mesa/main/queryobj.h b/mesalib/src/mesa/main/queryobj.h index 1e35185c7..f9e916cda 100644 --- a/mesalib/src/mesa/main/queryobj.h +++ b/mesalib/src/mesa/main/queryobj.h @@ -53,5 +53,34 @@ _mesa_init_queryobj(struct gl_context *ctx); extern void _mesa_free_queryobj_data(struct gl_context *ctx); +void GLAPIENTRY +_mesa_GenQueriesARB(GLsizei n, GLuint *ids); +void GLAPIENTRY +_mesa_DeleteQueriesARB(GLsizei n, const GLuint *ids); +GLboolean GLAPIENTRY +_mesa_IsQueryARB(GLuint id); +void GLAPIENTRY +_mesa_BeginQueryIndexed(GLenum target, GLuint index, GLuint id); +void GLAPIENTRY +_mesa_EndQueryIndexed(GLenum target, GLuint index); +void GLAPIENTRY +_mesa_BeginQueryARB(GLenum target, GLuint id); +void GLAPIENTRY +_mesa_EndQueryARB(GLenum target); +void GLAPIENTRY +_mesa_QueryCounter(GLuint id, GLenum target); +void GLAPIENTRY +_mesa_GetQueryIndexediv(GLenum target, GLuint index, GLenum pname, + GLint *params); +void GLAPIENTRY +_mesa_GetQueryivARB(GLenum target, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_GetQueryObjectivARB(GLuint id, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_GetQueryObjectuivARB(GLuint id, GLenum pname, GLuint *params); +void GLAPIENTRY +_mesa_GetQueryObjecti64vEXT(GLuint id, GLenum pname, GLint64EXT *params); +void GLAPIENTRY +_mesa_GetQueryObjectui64vEXT(GLuint id, GLenum pname, GLuint64EXT *params); #endif /* QUERYOBJ_H */ diff --git a/mesalib/src/mesa/main/rastpos.c b/mesalib/src/mesa/main/rastpos.c index ab8e2c1a3..0ea95b594 100644 --- a/mesalib/src/mesa/main/rastpos.c +++ b/mesalib/src/mesa/main/rastpos.c @@ -63,147 +63,147 @@ rasterpos(GLfloat x, GLfloat y, GLfloat z, GLfloat w) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos2d(GLdouble x, GLdouble y) { rasterpos((GLfloat)x, (GLfloat)y, (GLfloat)0.0, (GLfloat)1.0); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos2f(GLfloat x, GLfloat y) { rasterpos(x, y, 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos2i(GLint x, GLint y) { rasterpos((GLfloat) x, (GLfloat) y, 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos2s(GLshort x, GLshort y) { rasterpos(x, y, 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos3d(GLdouble x, GLdouble y, GLdouble z) { rasterpos((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos3f(GLfloat x, GLfloat y, GLfloat z) { rasterpos(x, y, z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos3i(GLint x, GLint y, GLint z) { rasterpos((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos3s(GLshort x, GLshort y, GLshort z) { rasterpos(x, y, z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { rasterpos((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { rasterpos(x, y, z, w); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos4i(GLint x, GLint y, GLint z, GLint w) { rasterpos((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w) { rasterpos(x, y, z, w); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos2dv(const GLdouble *v) { rasterpos((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos2fv(const GLfloat *v) { rasterpos(v[0], v[1], 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos2iv(const GLint *v) { rasterpos((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos2sv(const GLshort *v) { rasterpos(v[0], v[1], 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos3dv(const GLdouble *v) { rasterpos((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos3fv(const GLfloat *v) { rasterpos(v[0], v[1], v[2], 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos3iv(const GLint *v) { rasterpos((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos3sv(const GLshort *v) { rasterpos(v[0], v[1], v[2], 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos4dv(const GLdouble *v) { rasterpos((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos4fv(const GLfloat *v) { rasterpos(v[0], v[1], v[2], v[3]); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos4iv(const GLint *v) { rasterpos((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_RasterPos4sv(const GLshort *v) { rasterpos(v[0], v[1], v[2], v[3]); @@ -288,147 +288,147 @@ window_pos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos2dMESA(GLdouble x, GLdouble y) { window_pos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos2fMESA(GLfloat x, GLfloat y) { window_pos4f(x, y, 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos2iMESA(GLint x, GLint y) { window_pos4f((GLfloat) x, (GLfloat) y, 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos2sMESA(GLshort x, GLshort y) { window_pos4f(x, y, 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z) { window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z) { window_pos4f(x, y, z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos3iMESA(GLint x, GLint y, GLint z) { window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos3sMESA(GLshort x, GLshort y, GLshort z) { window_pos4f(x, y, z, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w) { window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { window_pos4f(x, y, z, w); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos4iMESA(GLint x, GLint y, GLint z, GLint w) { window_pos4f((GLfloat) x, (GLfloat) y, (GLfloat) z, (GLfloat) w); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w) { window_pos4f(x, y, z, w); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos2dvMESA(const GLdouble *v) { window_pos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos2fvMESA(const GLfloat *v) { window_pos4f(v[0], v[1], 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos2ivMESA(const GLint *v) { window_pos4f((GLfloat) v[0], (GLfloat) v[1], 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos2svMESA(const GLshort *v) { window_pos4f(v[0], v[1], 0.0F, 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos3dvMESA(const GLdouble *v) { window_pos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos3fvMESA(const GLfloat *v) { window_pos4f(v[0], v[1], v[2], 1.0); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos3ivMESA(const GLint *v) { window_pos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos3svMESA(const GLshort *v) { window_pos4f(v[0], v[1], v[2], 1.0F); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos4dvMESA(const GLdouble *v) { window_pos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos4fvMESA(const GLfloat *v) { window_pos4f(v[0], v[1], v[2], v[3]); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos4ivMESA(const GLint *v) { window_pos4f((GLfloat) v[0], (GLfloat) v[1], (GLfloat) v[2], (GLfloat) v[3]); } -static void GLAPIENTRY +void GLAPIENTRY _mesa_WindowPos4svMESA(const GLshort *v) { window_pos4f(v[0], v[1], v[2], v[3]); @@ -474,62 +474,6 @@ void glWindowPos4fMESA( GLfloat x, GLfloat y, GLfloat z, GLfloat w ) #endif -void -_mesa_init_rastpos_dispatch(struct _glapi_table *disp) -{ - SET_RasterPos2f(disp, _mesa_RasterPos2f); - SET_RasterPos2fv(disp, _mesa_RasterPos2fv); - SET_RasterPos2i(disp, _mesa_RasterPos2i); - SET_RasterPos2iv(disp, _mesa_RasterPos2iv); - SET_RasterPos2d(disp, _mesa_RasterPos2d); - SET_RasterPos2dv(disp, _mesa_RasterPos2dv); - SET_RasterPos2s(disp, _mesa_RasterPos2s); - SET_RasterPos2sv(disp, _mesa_RasterPos2sv); - SET_RasterPos3d(disp, _mesa_RasterPos3d); - SET_RasterPos3dv(disp, _mesa_RasterPos3dv); - SET_RasterPos3f(disp, _mesa_RasterPos3f); - SET_RasterPos3fv(disp, _mesa_RasterPos3fv); - SET_RasterPos3i(disp, _mesa_RasterPos3i); - SET_RasterPos3iv(disp, _mesa_RasterPos3iv); - SET_RasterPos3s(disp, _mesa_RasterPos3s); - SET_RasterPos3sv(disp, _mesa_RasterPos3sv); - SET_RasterPos4d(disp, _mesa_RasterPos4d); - SET_RasterPos4dv(disp, _mesa_RasterPos4dv); - SET_RasterPos4f(disp, _mesa_RasterPos4f); - SET_RasterPos4fv(disp, _mesa_RasterPos4fv); - SET_RasterPos4i(disp, _mesa_RasterPos4i); - SET_RasterPos4iv(disp, _mesa_RasterPos4iv); - SET_RasterPos4s(disp, _mesa_RasterPos4s); - SET_RasterPos4sv(disp, _mesa_RasterPos4sv); - - /* 197. GL_MESA_window_pos */ - SET_WindowPos2dMESA(disp, _mesa_WindowPos2dMESA); - SET_WindowPos2dvMESA(disp, _mesa_WindowPos2dvMESA); - SET_WindowPos2fMESA(disp, _mesa_WindowPos2fMESA); - SET_WindowPos2fvMESA(disp, _mesa_WindowPos2fvMESA); - SET_WindowPos2iMESA(disp, _mesa_WindowPos2iMESA); - SET_WindowPos2ivMESA(disp, _mesa_WindowPos2ivMESA); - SET_WindowPos2sMESA(disp, _mesa_WindowPos2sMESA); - SET_WindowPos2svMESA(disp, _mesa_WindowPos2svMESA); - SET_WindowPos3dMESA(disp, _mesa_WindowPos3dMESA); - SET_WindowPos3dvMESA(disp, _mesa_WindowPos3dvMESA); - SET_WindowPos3fMESA(disp, _mesa_WindowPos3fMESA); - SET_WindowPos3fvMESA(disp, _mesa_WindowPos3fvMESA); - SET_WindowPos3iMESA(disp, _mesa_WindowPos3iMESA); - SET_WindowPos3ivMESA(disp, _mesa_WindowPos3ivMESA); - SET_WindowPos3sMESA(disp, _mesa_WindowPos3sMESA); - SET_WindowPos3svMESA(disp, _mesa_WindowPos3svMESA); - SET_WindowPos4dMESA(disp, _mesa_WindowPos4dMESA); - SET_WindowPos4dvMESA(disp, _mesa_WindowPos4dvMESA); - SET_WindowPos4fMESA(disp, _mesa_WindowPos4fMESA); - SET_WindowPos4fvMESA(disp, _mesa_WindowPos4fvMESA); - SET_WindowPos4iMESA(disp, _mesa_WindowPos4iMESA); - SET_WindowPos4ivMESA(disp, _mesa_WindowPos4ivMESA); - SET_WindowPos4sMESA(disp, _mesa_WindowPos4sMESA); - SET_WindowPos4svMESA(disp, _mesa_WindowPos4svMESA); -} - - /**********************************************************************/ /** \name Initialization */ /**********************************************************************/ diff --git a/mesalib/src/mesa/main/rastpos.h b/mesalib/src/mesa/main/rastpos.h index 9bb04cc9c..90351e86b 100644 --- a/mesalib/src/mesa/main/rastpos.h +++ b/mesalib/src/mesa/main/rastpos.h @@ -38,12 +38,107 @@ struct _glapi_table; struct gl_context; -extern void -_mesa_init_rastpos_dispatch(struct _glapi_table *disp); - extern void _mesa_init_rastpos(struct gl_context *ctx); +void GLAPIENTRY +_mesa_RasterPos2d(GLdouble x, GLdouble y); +void GLAPIENTRY +_mesa_RasterPos2f(GLfloat x, GLfloat y); +void GLAPIENTRY +_mesa_RasterPos2i(GLint x, GLint y); +void GLAPIENTRY +_mesa_RasterPos2s(GLshort x, GLshort y); +void GLAPIENTRY +_mesa_RasterPos3d(GLdouble x, GLdouble y, GLdouble z); +void GLAPIENTRY +_mesa_RasterPos3f(GLfloat x, GLfloat y, GLfloat z); +void GLAPIENTRY +_mesa_RasterPos3i(GLint x, GLint y, GLint z); +void GLAPIENTRY +_mesa_RasterPos3s(GLshort x, GLshort y, GLshort z); +void GLAPIENTRY +_mesa_RasterPos4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +void GLAPIENTRY +_mesa_RasterPos4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +void GLAPIENTRY +_mesa_RasterPos4i(GLint x, GLint y, GLint z, GLint w); +void GLAPIENTRY +_mesa_RasterPos4s(GLshort x, GLshort y, GLshort z, GLshort w); +void GLAPIENTRY +_mesa_RasterPos2dv(const GLdouble *v); +void GLAPIENTRY +_mesa_RasterPos2fv(const GLfloat *v); +void GLAPIENTRY +_mesa_RasterPos2iv(const GLint *v); +void GLAPIENTRY +_mesa_RasterPos2sv(const GLshort *v); +void GLAPIENTRY +_mesa_RasterPos3dv(const GLdouble *v); +void GLAPIENTRY +_mesa_RasterPos3fv(const GLfloat *v); +void GLAPIENTRY +_mesa_RasterPos3iv(const GLint *v); +void GLAPIENTRY +_mesa_RasterPos3sv(const GLshort *v); +void GLAPIENTRY +_mesa_RasterPos4dv(const GLdouble *v); +void GLAPIENTRY +_mesa_RasterPos4fv(const GLfloat *v); +void GLAPIENTRY +_mesa_RasterPos4iv(const GLint *v); +void GLAPIENTRY +_mesa_RasterPos4sv(const GLshort *v); +void GLAPIENTRY +_mesa_WindowPos2dMESA(GLdouble x, GLdouble y); +void GLAPIENTRY +_mesa_WindowPos2fMESA(GLfloat x, GLfloat y); +void GLAPIENTRY +_mesa_WindowPos2iMESA(GLint x, GLint y); +void GLAPIENTRY +_mesa_WindowPos2sMESA(GLshort x, GLshort y); +void GLAPIENTRY +_mesa_WindowPos3dMESA(GLdouble x, GLdouble y, GLdouble z); +void GLAPIENTRY +_mesa_WindowPos3fMESA(GLfloat x, GLfloat y, GLfloat z); +void GLAPIENTRY +_mesa_WindowPos3iMESA(GLint x, GLint y, GLint z); +void GLAPIENTRY +_mesa_WindowPos3sMESA(GLshort x, GLshort y, GLshort z); +void GLAPIENTRY +_mesa_WindowPos4dMESA(GLdouble x, GLdouble y, GLdouble z, GLdouble w); +void GLAPIENTRY +_mesa_WindowPos4fMESA(GLfloat x, GLfloat y, GLfloat z, GLfloat w); +void GLAPIENTRY +_mesa_WindowPos4iMESA(GLint x, GLint y, GLint z, GLint w); +void GLAPIENTRY +_mesa_WindowPos4sMESA(GLshort x, GLshort y, GLshort z, GLshort w); +void GLAPIENTRY +_mesa_WindowPos2dvMESA(const GLdouble *v); +void GLAPIENTRY +_mesa_WindowPos2fvMESA(const GLfloat *v); +void GLAPIENTRY +_mesa_WindowPos2ivMESA(const GLint *v); +void GLAPIENTRY +_mesa_WindowPos2svMESA(const GLshort *v); +void GLAPIENTRY +_mesa_WindowPos3dvMESA(const GLdouble *v); +void GLAPIENTRY +_mesa_WindowPos3fvMESA(const GLfloat *v); +void GLAPIENTRY +_mesa_WindowPos3ivMESA(const GLint *v); +void GLAPIENTRY +_mesa_WindowPos3svMESA(const GLshort *v); +void GLAPIENTRY +_mesa_WindowPos4dvMESA(const GLdouble *v); +void GLAPIENTRY +_mesa_WindowPos4fvMESA(const GLfloat *v); +void GLAPIENTRY +_mesa_WindowPos4ivMESA(const GLint *v); +void GLAPIENTRY +_mesa_WindowPos4svMESA(const GLshort *v); + + /*@}*/ #endif /* RASTPOS_H */ diff --git a/mesalib/src/mesa/main/samplerobj.c b/mesalib/src/mesa/main/samplerobj.c index 09cbd2939..3c3bfffd4 100644 --- a/mesalib/src/mesa/main/samplerobj.c +++ b/mesalib/src/mesa/main/samplerobj.c @@ -224,7 +224,7 @@ _mesa_DeleteSamplers(GLsizei count, const GLuint *samplers) } -static GLboolean GLAPIENTRY +GLboolean GLAPIENTRY _mesa_IsSampler(GLuint sampler) { struct gl_sampler_object *sampObj; @@ -684,7 +684,7 @@ _mesa_SamplerParameteri(GLuint sampler, GLenum pname, GLint param) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) { struct gl_sampler_object *sampObj; @@ -770,7 +770,7 @@ _mesa_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param) } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params) { struct gl_sampler_object *sampObj; @@ -862,7 +862,7 @@ _mesa_SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params) } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params) { struct gl_sampler_object *sampObj; @@ -949,7 +949,7 @@ _mesa_SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params) } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params) { struct gl_sampler_object *sampObj; @@ -1035,7 +1035,7 @@ _mesa_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params) { struct gl_sampler_object *sampObj; @@ -1121,7 +1121,7 @@ _mesa_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params) { struct gl_sampler_object *sampObj; @@ -1199,7 +1199,7 @@ invalid_pname: } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params) { struct gl_sampler_object *sampObj; @@ -1277,7 +1277,7 @@ invalid_pname: } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params) { struct gl_sampler_object *sampObj; @@ -1356,7 +1356,7 @@ invalid_pname: } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params) { struct gl_sampler_object *sampObj; diff --git a/mesalib/src/mesa/main/samplerobj.h b/mesalib/src/mesa/main/samplerobj.h index bea4c2232..ecff032c9 100644 --- a/mesalib/src/mesa/main/samplerobj.h +++ b/mesalib/src/mesa/main/samplerobj.h @@ -80,16 +80,33 @@ extern void _mesa_init_sampler_object_dispatch(const struct gl_context *ctx, struct _glapi_table *disp); -extern void GLAPIENTRY -_mesa_BindSampler(GLuint unit, GLuint sampler); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GenSamplers(GLsizei count, GLuint *samplers); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_DeleteSamplers(GLsizei count, const GLuint *samplers); - -extern void GLAPIENTRY +GLboolean GLAPIENTRY +_mesa_IsSampler(GLuint sampler); +void GLAPIENTRY +_mesa_BindSampler(GLuint unit, GLuint sampler); +void GLAPIENTRY _mesa_SamplerParameteri(GLuint sampler, GLenum pname, GLint param); +void GLAPIENTRY +_mesa_SamplerParameterf(GLuint sampler, GLenum pname, GLfloat param); +void GLAPIENTRY +_mesa_SamplerParameteriv(GLuint sampler, GLenum pname, const GLint *params); +void GLAPIENTRY +_mesa_SamplerParameterfv(GLuint sampler, GLenum pname, const GLfloat *params); +void GLAPIENTRY +_mesa_SamplerParameterIiv(GLuint sampler, GLenum pname, const GLint *params); +void GLAPIENTRY +_mesa_SamplerParameterIuiv(GLuint sampler, GLenum pname, const GLuint *params); +void GLAPIENTRY +_mesa_GetSamplerParameteriv(GLuint sampler, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_GetSamplerParameterfv(GLuint sampler, GLenum pname, GLfloat *params); +void GLAPIENTRY +_mesa_GetSamplerParameterIiv(GLuint sampler, GLenum pname, GLint *params); +void GLAPIENTRY +_mesa_GetSamplerParameterIuiv(GLuint sampler, GLenum pname, GLuint *params); #endif /* SAMPLEROBJ_H */ diff --git a/mesalib/src/mesa/main/texgen.c b/mesalib/src/mesa/main/texgen.c index c5a878644..7c9c2a760 100644 --- a/mesalib/src/mesa/main/texgen.c +++ b/mesalib/src/mesa/main/texgen.c @@ -186,7 +186,7 @@ _mesa_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params ) { GLfloat p[4]; @@ -203,7 +203,7 @@ _mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params ) } -static void GLAPIENTRY +void GLAPIENTRY _mesa_TexGend(GLenum coord, GLenum pname, GLdouble param ) { GLfloat p[4]; @@ -212,7 +212,6 @@ _mesa_TexGend(GLenum coord, GLenum pname, GLdouble param ) _mesa_TexGenfv( coord, pname, p ); } -#if FEATURE_ES1 void GLAPIENTRY _es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat *params) @@ -250,9 +249,8 @@ _es_TexGenfv(GLenum coord, GLenum pname, const GLfloat *params) _mesa_TexGenfv(GL_R, pname, params); } -#endif -static void GLAPIENTRY +void GLAPIENTRY _mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params ) { GLfloat p[4]; @@ -290,7 +288,7 @@ _mesa_TexGeni( GLenum coord, GLenum pname, GLint param ) -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params ) { struct gl_texture_unit *texUnit; @@ -423,20 +421,3 @@ _mesa_GetTexGeniv( GLenum coord, GLenum pname, GLint *params ) _mesa_error( ctx, GL_INVALID_ENUM, "glGetTexGeniv(pname)" ); } } - - -void -_mesa_init_texgen_dispatch(struct gl_context *ctx, struct _glapi_table *disp) -{ - SET_GetTexGenfv(disp, _mesa_GetTexGenfv); - SET_GetTexGeniv(disp, _mesa_GetTexGeniv); - SET_TexGenf(disp, _mesa_TexGenf); - SET_TexGenfv(disp, _mesa_TexGenfv); - SET_TexGeni(disp, _mesa_TexGeni); - SET_TexGeniv(disp, _mesa_TexGeniv); - if (ctx->API == API_OPENGL) { - SET_GetTexGendv(disp, _mesa_GetTexGendv); - SET_TexGend(disp, _mesa_TexGend); - SET_TexGendv(disp, _mesa_TexGendv); - } -} diff --git a/mesalib/src/mesa/main/texgen.h b/mesalib/src/mesa/main/texgen.h index 03dd49c61..97563a0f0 100644 --- a/mesalib/src/mesa/main/texgen.h +++ b/mesalib/src/mesa/main/texgen.h @@ -34,24 +34,25 @@ struct _glapi_table; -extern void GLAPIENTRY +void GLAPIENTRY _mesa_TexGenfv( GLenum coord, GLenum pname, const GLfloat *params ); - -extern void GLAPIENTRY +void GLAPIENTRY +_mesa_TexGeniv(GLenum coord, GLenum pname, const GLint *params ); +void GLAPIENTRY +_mesa_TexGend(GLenum coord, GLenum pname, GLdouble param ); +void GLAPIENTRY +_mesa_TexGendv(GLenum coord, GLenum pname, const GLdouble *params ); +void GLAPIENTRY _mesa_TexGenf( GLenum coord, GLenum pname, GLfloat param ); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_TexGeni( GLenum coord, GLenum pname, GLint param ); - -extern void GLAPIENTRY +void GLAPIENTRY +_mesa_GetTexGendv( GLenum coord, GLenum pname, GLdouble *params ); +void GLAPIENTRY _mesa_GetTexGenfv( GLenum coord, GLenum pname, GLfloat *params ); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GetTexGeniv( GLenum coord, GLenum pname, GLint *params ); -extern void -_mesa_init_texgen_dispatch(struct gl_context *ctx, struct _glapi_table *disp); - extern void GLAPIENTRY _es_GetTexGenfv(GLenum coord, GLenum pname, GLfloat *params); diff --git a/mesalib/src/mesa/main/texgetimage.c b/mesalib/src/mesa/main/texgetimage.c index a3720699d..554c68b71 100644 --- a/mesalib/src/mesa/main/texgetimage.c +++ b/mesalib/src/mesa/main/texgetimage.c @@ -892,7 +892,7 @@ getcompressedteximage_error_check(struct gl_context *ctx, GLenum target, if (!_mesa_is_bufferobj(ctx->Pack.BufferObj)) { /* do bounds checking on writing to client memory */ - if (clientMemSize < compressedSize) { + if (clientMemSize < (GLsizei) compressedSize) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetnCompressedTexImageARB(out of bounds access:" " bufSize (%d) is too small)", clientMemSize); diff --git a/mesalib/src/mesa/main/texstorage.c b/mesalib/src/mesa/main/texstorage.c index 283aefad3..968f6f904 100644 --- a/mesalib/src/mesa/main/texstorage.c +++ b/mesalib/src/mesa/main/texstorage.c @@ -292,7 +292,7 @@ tex_storage_error_check(struct gl_context *ctx, GLuint dims, GLenum target, /* check levels against width/height/depth */ maxDim = MAX3(width, height, depth); - if (levels > _mesa_logbase2(maxDim) + 1) { + if (levels > (GLint) _mesa_logbase2(maxDim) + 1) { _mesa_error(ctx, GL_INVALID_OPERATION, "glTexStorage%uD(too many levels for max texture dimension)", dims); diff --git a/mesalib/src/mesa/main/transformfeedback.c b/mesalib/src/mesa/main/transformfeedback.c index 1afc0dccb..52cb065c2 100644 --- a/mesalib/src/mesa/main/transformfeedback.c +++ b/mesalib/src/mesa/main/transformfeedback.c @@ -245,28 +245,6 @@ _mesa_init_transform_feedback_functions(struct dd_function_table *driver) } -void -_mesa_init_transform_feedback_dispatch(const struct gl_context *ctx, - struct _glapi_table *disp) -{ - /* EXT_transform_feedback */ - SET_BeginTransformFeedbackEXT(disp, _mesa_BeginTransformFeedback); - SET_EndTransformFeedbackEXT(disp, _mesa_EndTransformFeedback); - if (_mesa_is_desktop_gl(ctx)) { - SET_BindBufferOffsetEXT(disp, _mesa_BindBufferOffsetEXT); - } - SET_TransformFeedbackVaryingsEXT(disp, _mesa_TransformFeedbackVaryings); - SET_GetTransformFeedbackVaryingEXT(disp, _mesa_GetTransformFeedbackVarying); - /* ARB_transform_feedback2 */ - SET_BindTransformFeedback(disp, _mesa_BindTransformFeedback); - SET_DeleteTransformFeedbacks(disp, _mesa_DeleteTransformFeedbacks); - SET_GenTransformFeedbacks(disp, _mesa_GenTransformFeedbacks); - SET_IsTransformFeedback(disp, _mesa_IsTransformFeedback); - SET_PauseTransformFeedback(disp, _mesa_PauseTransformFeedback); - SET_ResumeTransformFeedback(disp, _mesa_ResumeTransformFeedback); -} - - /** ** Begin API functions **/ @@ -599,7 +577,7 @@ _mesa_TransformFeedbackVaryings(GLuint program, GLsizei count, } /* free existing varyings, if any */ - for (i = 0; i < shProg->TransformFeedback.NumVarying; i++) { + for (i = 0; i < (GLint) shProg->TransformFeedback.NumVarying; i++) { free(shProg->TransformFeedback.VaryingNames[i]); } free(shProg->TransformFeedback.VaryingNames); @@ -614,7 +592,7 @@ _mesa_TransformFeedbackVaryings(GLuint program, GLsizei count, } /* Save the new names and the count */ - for (i = 0; i < (GLuint) count; i++) { + for (i = 0; i < count; i++) { shProg->TransformFeedback.VaryingNames[i] = _mesa_strdup(varyings[i]); } shProg->TransformFeedback.NumVarying = count; diff --git a/mesalib/src/mesa/main/transformfeedback.h b/mesalib/src/mesa/main/transformfeedback.h index 6ff9c50b4..dec11ffa0 100644 --- a/mesalib/src/mesa/main/transformfeedback.h +++ b/mesalib/src/mesa/main/transformfeedback.h @@ -46,10 +46,6 @@ _mesa_validate_transform_feedback_buffers(struct gl_context *ctx); extern void _mesa_init_transform_feedback_functions(struct dd_function_table *driver); -extern void -_mesa_init_transform_feedback_dispatch(const struct gl_context *ctx, - struct _glapi_table *disp); - /*** GL_EXT_transform_feedback ***/ diff --git a/mesalib/src/mesa/main/uniforms.c b/mesalib/src/mesa/main/uniforms.c index 861601efd..2b7a564f0 100644 --- a/mesalib/src/mesa/main/uniforms.c +++ b/mesalib/src/mesa/main/uniforms.c @@ -535,7 +535,7 @@ _mesa_GetUniformLocationARB(GLhandleARB programObj, const GLcharARB *name) return _mesa_uniform_merge_location_offset(index, offset); } -static GLuint GLAPIENTRY +GLuint GLAPIENTRY _mesa_GetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName) { @@ -561,7 +561,7 @@ _mesa_GetUniformBlockIndex(GLuint program, return GL_INVALID_INDEX; } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar * const *uniformNames, @@ -594,7 +594,7 @@ _mesa_GetUniformIndices(GLuint program, } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_UniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) @@ -644,7 +644,7 @@ _mesa_UniformBlockBinding(GLuint program, } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, @@ -720,7 +720,7 @@ _mesa_GetActiveUniformBlockiv(GLuint program, } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetActiveUniformBlockName(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, @@ -762,7 +762,7 @@ _mesa_GetActiveUniformBlockName(GLuint program, } } -static void GLAPIENTRY +void GLAPIENTRY _mesa_GetActiveUniformName(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName) @@ -799,80 +799,3 @@ _mesa_GetActiveUniformName(GLuint program, GLuint uniformIndex, shProg->UniformStorage[uniformIndex].name); } } - -/** - * Plug in shader uniform-related functions into API dispatch table. - */ -void -_mesa_init_shader_uniform_dispatch(const struct gl_context *ctx, - struct _glapi_table *exec) -{ -#if FEATURE_GL - if (ctx->API != API_OPENGLES) { - SET_Uniform1fARB(exec, _mesa_Uniform1fARB); - SET_Uniform2fARB(exec, _mesa_Uniform2fARB); - SET_Uniform3fARB(exec, _mesa_Uniform3fARB); - SET_Uniform4fARB(exec, _mesa_Uniform4fARB); - SET_Uniform1iARB(exec, _mesa_Uniform1iARB); - SET_Uniform2iARB(exec, _mesa_Uniform2iARB); - SET_Uniform3iARB(exec, _mesa_Uniform3iARB); - SET_Uniform4iARB(exec, _mesa_Uniform4iARB); - SET_Uniform1fvARB(exec, _mesa_Uniform1fvARB); - SET_Uniform2fvARB(exec, _mesa_Uniform2fvARB); - SET_Uniform3fvARB(exec, _mesa_Uniform3fvARB); - SET_Uniform4fvARB(exec, _mesa_Uniform4fvARB); - SET_Uniform1ivARB(exec, _mesa_Uniform1ivARB); - SET_Uniform2ivARB(exec, _mesa_Uniform2ivARB); - SET_Uniform3ivARB(exec, _mesa_Uniform3ivARB); - SET_Uniform4ivARB(exec, _mesa_Uniform4ivARB); - SET_UniformMatrix2fvARB(exec, _mesa_UniformMatrix2fvARB); - SET_UniformMatrix3fvARB(exec, _mesa_UniformMatrix3fvARB); - SET_UniformMatrix4fvARB(exec, _mesa_UniformMatrix4fvARB); - - SET_GetActiveUniformARB(exec, _mesa_GetActiveUniformARB); - SET_GetUniformLocationARB(exec, _mesa_GetUniformLocationARB); - SET_GetUniformfvARB(exec, _mesa_GetUniformfvARB); - SET_GetUniformivARB(exec, _mesa_GetUniformivARB); - } - - /* OpenGL 2.1 */ - if (_mesa_is_desktop_gl(ctx) || _mesa_is_gles3(ctx)) { - SET_UniformMatrix2x3fv(exec, _mesa_UniformMatrix2x3fv); - SET_UniformMatrix3x2fv(exec, _mesa_UniformMatrix3x2fv); - SET_UniformMatrix2x4fv(exec, _mesa_UniformMatrix2x4fv); - SET_UniformMatrix4x2fv(exec, _mesa_UniformMatrix4x2fv); - SET_UniformMatrix3x4fv(exec, _mesa_UniformMatrix3x4fv); - SET_UniformMatrix4x3fv(exec, _mesa_UniformMatrix4x3fv); - - /* OpenGL 3.0 */ - SET_Uniform1uiEXT(exec, _mesa_Uniform1ui); - SET_Uniform2uiEXT(exec, _mesa_Uniform2ui); - SET_Uniform3uiEXT(exec, _mesa_Uniform3ui); - SET_Uniform4uiEXT(exec, _mesa_Uniform4ui); - SET_Uniform1uivEXT(exec, _mesa_Uniform1uiv); - SET_Uniform2uivEXT(exec, _mesa_Uniform2uiv); - SET_Uniform3uivEXT(exec, _mesa_Uniform3uiv); - SET_Uniform4uivEXT(exec, _mesa_Uniform4uiv); - SET_GetUniformuivEXT(exec, _mesa_GetUniformuiv); - - /* GL_ARB_uniform_buffer_object / GL 3.1 */ - SET_GetUniformBlockIndex(exec, _mesa_GetUniformBlockIndex); - SET_GetUniformIndices(exec, _mesa_GetUniformIndices); - SET_GetActiveUniformsiv(exec, _mesa_GetActiveUniformsiv); - SET_GetActiveUniformBlockiv(exec, _mesa_GetActiveUniformBlockiv); - SET_GetActiveUniformBlockName(exec, _mesa_GetActiveUniformBlockName); - SET_UniformBlockBinding(exec, _mesa_UniformBlockBinding); - } - - if (_mesa_is_desktop_gl(ctx)) { - /* GL_ARB_robustness */ - SET_GetnUniformfvARB(exec, _mesa_GetnUniformfvARB); - SET_GetnUniformivARB(exec, _mesa_GetnUniformivARB); - SET_GetnUniformuivARB(exec, _mesa_GetnUniformuivARB); - SET_GetnUniformdvARB(exec, _mesa_GetnUniformdvARB); - - /* GL_ARB_uniform_buffer_object / GL 3.1 */ - SET_GetActiveUniformName(exec, _mesa_GetActiveUniformName); - } -#endif /* FEATURE_GL */ -} diff --git a/mesalib/src/mesa/main/uniforms.h b/mesalib/src/mesa/main/uniforms.h index 3fe7d4402..076bde3c8 100644 --- a/mesalib/src/mesa/main/uniforms.h +++ b/mesalib/src/mesa/main/uniforms.h @@ -38,151 +38,135 @@ extern "C" { struct gl_program; struct _glapi_table; -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform1fARB(GLint, GLfloat); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform2fARB(GLint, GLfloat, GLfloat); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform3fARB(GLint, GLfloat, GLfloat, GLfloat); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform4fARB(GLint, GLfloat, GLfloat, GLfloat, GLfloat); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform1iARB(GLint, GLint); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform2iARB(GLint, GLint, GLint); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform3iARB(GLint, GLint, GLint, GLint); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform4iARB(GLint, GLint, GLint, GLint, GLint); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform1fvARB(GLint, GLsizei, const GLfloat *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform2fvARB(GLint, GLsizei, const GLfloat *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform3fvARB(GLint, GLsizei, const GLfloat *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform4fvARB(GLint, GLsizei, const GLfloat *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform1ivARB(GLint, GLsizei, const GLint *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform2ivARB(GLint, GLsizei, const GLint *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform3ivARB(GLint, GLsizei, const GLint *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform4ivARB(GLint, GLsizei, const GLint *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform1ui(GLint location, GLuint v0); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform2ui(GLint location, GLuint v0, GLuint v1); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform1uiv(GLint location, GLsizei count, const GLuint *value); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform2uiv(GLint location, GLsizei count, const GLuint *value); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform3uiv(GLint location, GLsizei count, const GLuint *value); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_Uniform4uiv(GLint location, GLsizei count, const GLuint *value); - - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix2fvARB(GLint, GLsizei, GLboolean, const GLfloat *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix3fvARB(GLint, GLsizei, GLboolean, const GLfloat *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix4fvARB(GLint, GLsizei, GLboolean, const GLfloat *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); - - -extern void GLAPIENTRY +void GLAPIENTRY +_mesa_GetnUniformfvARB(GLhandleARB, GLint, GLsizei, GLfloat *); +void GLAPIENTRY +_mesa_GetUniformfvARB(GLhandleARB, GLint, GLfloat *); +void GLAPIENTRY +_mesa_GetnUniformivARB(GLhandleARB, GLint, GLsizei, GLint *); +void GLAPIENTRY +_mesa_GetUniformuiv(GLhandleARB, GLint, GLuint *); +void GLAPIENTRY +_mesa_GetnUniformuivARB(GLhandleARB, GLint, GLsizei, GLuint *); +void GLAPIENTRY +_mesa_GetUniformuiv(GLhandleARB program, GLint location, GLuint *params); +void GLAPIENTRY +_mesa_GetnUniformdvARB(GLhandleARB, GLint, GLsizei, GLdouble *); +void GLAPIENTRY +_mesa_GetUniformdv(GLhandleARB, GLint, GLdouble *); +GLint GLAPIENTRY +_mesa_GetUniformLocationARB(GLhandleARB, const GLcharARB *); +GLuint GLAPIENTRY +_mesa_GetUniformBlockIndex(GLuint program, + const GLchar *uniformBlockName); +void GLAPIENTRY +_mesa_GetUniformIndices(GLuint program, + GLsizei uniformCount, + const GLchar * const *uniformNames, + GLuint *uniformIndices); +void GLAPIENTRY +_mesa_UniformBlockBinding(GLuint program, + GLuint uniformBlockIndex, + GLuint uniformBlockBinding); +void GLAPIENTRY +_mesa_GetActiveUniformBlockiv(GLuint program, + GLuint uniformBlockIndex, + GLenum pname, + GLint *params); +void GLAPIENTRY +_mesa_GetActiveUniformBlockName(GLuint program, + GLuint uniformBlockIndex, + GLsizei bufSize, + GLsizei *length, + GLchar *uniformBlockName); +void GLAPIENTRY +_mesa_GetActiveUniformName(GLuint program, GLuint uniformIndex, + GLsizei bufSize, GLsizei *length, + GLchar *uniformName); +void GLAPIENTRY _mesa_GetActiveUniformARB(GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GetActiveUniformsiv(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); - -extern void GLAPIENTRY -_mesa_GetUniformfvARB(GLhandleARB, GLint, GLfloat *); - -extern void GLAPIENTRY -_mesa_GetnUniformfvARB(GLhandleARB, GLint, GLsizei, GLfloat *); - -extern void GLAPIENTRY +void GLAPIENTRY _mesa_GetUniformivARB(GLhandleARB, GLint, GLint *); -extern void GLAPIENTRY -_mesa_GetnUniformivARB(GLhandleARB, GLint, GLsizei, GLint *); - -extern void GLAPIENTRY -_mesa_GetUniformuiv(GLhandleARB, GLint, GLuint *); - -extern void GLAPIENTRY -_mesa_GetnUniformuivARB(GLhandleARB, GLint, GLsizei, GLuint *); - -extern void GLAPIENTRY -_mesa_GetUniformdv(GLhandleARB, GLint, GLdouble *); - -extern void GLAPIENTRY -_mesa_GetnUniformdvARB(GLhandleARB, GLint, GLsizei, GLdouble *); - -extern GLint GLAPIENTRY -_mesa_GetUniformLocationARB(GLhandleARB, const GLcharARB *); - unsigned _mesa_get_uniform_location(struct gl_context *ctx, struct gl_shader_program *shProg, const GLchar *name, unsigned *offset); @@ -226,10 +210,6 @@ extern bool _mesa_sampler_uniforms_are_valid(const struct gl_shader_program *shProg, char *errMsg, size_t errMsgLength); -extern void -_mesa_init_shader_uniform_dispatch(const struct gl_context *ctx, - struct _glapi_table *exec); - extern const struct gl_program_parameter * get_uniform_parameter(struct gl_shader_program *shProg, GLint index); diff --git a/mesalib/src/mesa/sources.mak b/mesalib/src/mesa/sources.mak index b4b58db6d..cfb24f318 100644 --- a/mesalib/src/mesa/sources.mak +++ b/mesalib/src/mesa/sources.mak @@ -9,7 +9,7 @@ MAIN_ES_FILES = \ MAIN_FILES = \ $(SRCDIR)main/api_arrayelt.c \ - $(SRCDIR)main/api_exec.c \ + $(BUILDDIR)main/api_exec.c \ $(SRCDIR)main/api_loopback.c \ $(SRCDIR)main/api_validate.c \ $(SRCDIR)main/accum.c \ diff --git a/mesalib/src/mesa/state_tracker/st_cb_fbo.c b/mesalib/src/mesa/state_tracker/st_cb_fbo.c index 882fb372b..adee00bd2 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_fbo.c +++ b/mesalib/src/mesa/state_tracker/st_cb_fbo.c @@ -750,7 +750,7 @@ st_MapRenderbuffer(struct gl_context *ctx, usage, x, y2, w, h, &strb->transfer); if (map) { if (invert) { - *rowStrideOut = -strb->transfer->stride; + *rowStrideOut = -(int) strb->transfer->stride; map += (h - 1) * strb->transfer->stride; } else { diff --git a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 14b72dc80..a70a08bf3 100644 --- a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -285,7 +285,7 @@ public: st_src_reg return_reg; }; -class glsl_to_tgsi_visitor : public ir_visitor { +struct glsl_to_tgsi_visitor : public ir_visitor { public: glsl_to_tgsi_visitor(); ~glsl_to_tgsi_visitor(); diff --git a/mesalib/src/mesa/swrast/s_zoom.c b/mesalib/src/mesa/swrast/s_zoom.c index 24bfa22bf..828374f68 100644 --- a/mesalib/src/mesa/swrast/s_zoom.c +++ b/mesalib/src/mesa/swrast/s_zoom.c @@ -234,7 +234,7 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span, for (i = 0; i < zoomedWidth; i++) { GLint j = unzoom_x(ctx->Pixel.ZoomX, imgX, x0 + i) - span->x; ASSERT(j >= 0); - ASSERT(j < span->end); + ASSERT(j < (GLint) span->end); COPY_4V(zoomed.array->attribs[FRAG_ATTRIB_COL0][i], rgba[j]); } } @@ -272,7 +272,7 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span, for (i = 0; i < zoomedWidth; i++) { GLint j = unzoom_x(ctx->Pixel.ZoomX, imgX, x0 + i) - span->x; ASSERT(j >= 0); - ASSERT(j < span->end); + ASSERT(j < (GLint) span->end); zoomed.array->attribs[FRAG_ATTRIB_COL0][i][0] = rgb[j][0]; zoomed.array->attribs[FRAG_ATTRIB_COL0][i][1] = rgb[j][1]; zoomed.array->attribs[FRAG_ATTRIB_COL0][i][2] = rgb[j][2]; diff --git a/mesalib/src/mesa/tnl/t_draw.c b/mesalib/src/mesa/tnl/t_draw.c index 6a3c9662e..0631eb183 100644 --- a/mesalib/src/mesa/tnl/t_draw.c +++ b/mesalib/src/mesa/tnl/t_draw.c @@ -141,7 +141,8 @@ convert_fixed_to_float(const struct gl_client_array *input, const GLubyte *ptr, GLfloat *fptr, GLuint count) { - GLuint i, j; + GLuint i; + GLint j; const GLint size = input->Size; if (input->Normalized) { diff --git a/mesalib/src/mesa/vbo/vbo.h b/mesalib/src/mesa/vbo/vbo.h index e0584973f..04930b971 100644 --- a/mesalib/src/mesa/vbo/vbo.h +++ b/mesalib/src/mesa/vbo/vbo.h @@ -50,7 +50,7 @@ struct _mesa_prim { GLuint start; GLuint count; GLint basevertex; - GLsizei num_instances; + GLuint num_instances; GLuint base_instance; }; diff --git a/mesalib/src/mesa/vbo/vbo_attrib_tmp.h b/mesalib/src/mesa/vbo/vbo_attrib_tmp.h index 884844535..6bc53bab3 100644 --- a/mesalib/src/mesa/vbo/vbo_attrib_tmp.h +++ b/mesalib/src/mesa/vbo/vbo_attrib_tmp.h @@ -26,38 +26,46 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. **************************************************************************/ /* float */ -#define ATTR1FV( A, V ) ATTR( A, 1, (V)[0], 0, 0, 1 ) -#define ATTR2FV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 ) -#define ATTR3FV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 ) -#define ATTR4FV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] ) +#define ATTR1FV( A, V ) ATTR( A, 1, GL_FLOAT, (V)[0], 0, 0, 1 ) +#define ATTR2FV( A, V ) ATTR( A, 2, GL_FLOAT, (V)[0], (V)[1], 0, 1 ) +#define ATTR3FV( A, V ) ATTR( A, 3, GL_FLOAT, (V)[0], (V)[1], (V)[2], 1 ) +#define ATTR4FV( A, V ) ATTR( A, 4, GL_FLOAT, (V)[0], (V)[1], (V)[2], (V)[3] ) -#define ATTR1F( A, X ) ATTR( A, 1, X, 0, 0, 1 ) -#define ATTR2F( A, X, Y ) ATTR( A, 2, X, Y, 0, 1 ) -#define ATTR3F( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 ) -#define ATTR4F( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W ) +#define ATTR1F( A, X ) ATTR( A, 1, GL_FLOAT, X, 0, 0, 1 ) +#define ATTR2F( A, X, Y ) ATTR( A, 2, GL_FLOAT, X, Y, 0, 1 ) +#define ATTR3F( A, X, Y, Z ) ATTR( A, 3, GL_FLOAT, X, Y, Z, 1 ) +#define ATTR4F( A, X, Y, Z, W ) ATTR( A, 4, GL_FLOAT, X, Y, Z, W ) /* int */ -#define ATTR2IV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 ) -#define ATTR3IV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 ) -#define ATTR4IV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] ) +#define ATTRI( A, N, X, Y, Z, W) ATTR( A, N, GL_INT, \ + INT_AS_FLT(X), INT_AS_FLT(Y), \ + INT_AS_FLT(Z), INT_AS_FLT(W) ) -#define ATTR1I( A, X ) ATTR( A, 1, X, 0, 0, 1 ) -#define ATTR2I( A, X, Y ) ATTR( A, 2, X, Y, 0, 1 ) -#define ATTR3I( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 ) -#define ATTR4I( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W ) +#define ATTR2IV( A, V ) ATTRI( A, 2, (V)[0], (V)[1], 0, 1 ) +#define ATTR3IV( A, V ) ATTRI( A, 3, (V)[0], (V)[1], (V)[2], 1 ) +#define ATTR4IV( A, V ) ATTRI( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] ) + +#define ATTR1I( A, X ) ATTRI( A, 1, X, 0, 0, 1 ) +#define ATTR2I( A, X, Y ) ATTRI( A, 2, X, Y, 0, 1 ) +#define ATTR3I( A, X, Y, Z ) ATTRI( A, 3, X, Y, Z, 1 ) +#define ATTR4I( A, X, Y, Z, W ) ATTRI( A, 4, X, Y, Z, W ) /* uint */ -#define ATTR2UIV( A, V ) ATTR( A, 2, (V)[0], (V)[1], 0, 1 ) -#define ATTR3UIV( A, V ) ATTR( A, 3, (V)[0], (V)[1], (V)[2], 1 ) -#define ATTR4UIV( A, V ) ATTR( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] ) +#define ATTRUI( A, N, X, Y, Z, W) ATTR( A, N, GL_UNSIGNED_INT, \ + UINT_AS_FLT(X), UINT_AS_FLT(Y), \ + UINT_AS_FLT(Z), UINT_AS_FLT(W) ) + +#define ATTR2UIV( A, V ) ATTRUI( A, 2, (V)[0], (V)[1], 0, 1 ) +#define ATTR3UIV( A, V ) ATTRUI( A, 3, (V)[0], (V)[1], (V)[2], 1 ) +#define ATTR4UIV( A, V ) ATTRUI( A, 4, (V)[0], (V)[1], (V)[2], (V)[3] ) -#define ATTR1UI( A, X ) ATTR( A, 1, X, 0, 0, 1 ) -#define ATTR2UI( A, X, Y ) ATTR( A, 2, X, Y, 0, 1 ) -#define ATTR3UI( A, X, Y, Z ) ATTR( A, 3, X, Y, Z, 1 ) -#define ATTR4UI( A, X, Y, Z, W ) ATTR( A, 4, X, Y, Z, W ) +#define ATTR1UI( A, X ) ATTRUI( A, 1, X, 0, 0, 1 ) +#define ATTR2UI( A, X, Y ) ATTRUI( A, 2, X, Y, 0, 1 ) +#define ATTR3UI( A, X, Y, Z ) ATTRUI( A, 3, X, Y, Z, 1 ) +#define ATTR4UI( A, X, Y, Z, W ) ATTRUI( A, 4, X, Y, Z, W ) -#define MAT_ATTR( A, N, V ) ATTR( A, N, (V)[0], (V)[1], (V)[2], (V)[3] ) +#define MAT_ATTR( A, N, V ) ATTR( A, N, GL_FLOAT, (V)[0], (V)[1], (V)[2], (V)[3] ) static inline float conv_ui10_to_norm_float(unsigned ui10) { @@ -69,20 +77,20 @@ static inline float conv_ui2_to_norm_float(unsigned ui2) return ui2 / 3.0f; } -#define ATTRUI10_1( A, UI ) ATTR( A, 1, (UI) & 0x3ff, 0, 0, 1 ) -#define ATTRUI10_2( A, UI ) ATTR( A, 2, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, 0, 1 ) -#define ATTRUI10_3( A, UI ) ATTR( A, 3, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, 1 ) -#define ATTRUI10_4( A, UI ) ATTR( A, 4, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, ((UI) >> 30) & 0x3 ) +#define ATTRUI10_1( A, UI ) ATTR( A, 1, GL_FLOAT, (UI) & 0x3ff, 0, 0, 1 ) +#define ATTRUI10_2( A, UI ) ATTR( A, 2, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, 0, 1 ) +#define ATTRUI10_3( A, UI ) ATTR( A, 3, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, 1 ) +#define ATTRUI10_4( A, UI ) ATTR( A, 4, GL_FLOAT, (UI) & 0x3ff, ((UI) >> 10) & 0x3ff, ((UI) >> 20) & 0x3ff, ((UI) >> 30) & 0x3 ) -#define ATTRUI10N_1( A, UI ) ATTR( A, 1, conv_ui10_to_norm_float((UI) & 0x3ff), 0, 0, 1 ) -#define ATTRUI10N_2( A, UI ) ATTR( A, 2, \ +#define ATTRUI10N_1( A, UI ) ATTR( A, 1, GL_FLOAT, conv_ui10_to_norm_float((UI) & 0x3ff), 0, 0, 1 ) +#define ATTRUI10N_2( A, UI ) ATTR( A, 2, GL_FLOAT, \ conv_ui10_to_norm_float((UI) & 0x3ff), \ conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), 0, 1 ) -#define ATTRUI10N_3( A, UI ) ATTR( A, 3, \ +#define ATTRUI10N_3( A, UI ) ATTR( A, 3, GL_FLOAT, \ conv_ui10_to_norm_float((UI) & 0x3ff), \ conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), \ conv_ui10_to_norm_float(((UI) >> 20) & 0x3ff), 1 ) -#define ATTRUI10N_4( A, UI ) ATTR( A, 4, \ +#define ATTRUI10N_4( A, UI ) ATTR( A, 4, GL_FLOAT, \ conv_ui10_to_norm_float((UI) & 0x3ff), \ conv_ui10_to_norm_float(((UI) >> 10) & 0x3ff), \ conv_ui10_to_norm_float(((UI) >> 20) & 0x3ff), \ @@ -119,30 +127,30 @@ static inline float conv_i2_to_norm_float(int i2) return (float)val.x; } -#define ATTRI10_1( A, I10 ) ATTR( A, 1, conv_i10_to_i((I10) & 0x3ff), 0, 0, 1 ) -#define ATTRI10_2( A, I10 ) ATTR( A, 2, \ +#define ATTRI10_1( A, I10 ) ATTR( A, 1, GL_FLOAT, conv_i10_to_i((I10) & 0x3ff), 0, 0, 1 ) +#define ATTRI10_2( A, I10 ) ATTR( A, 2, GL_FLOAT, \ conv_i10_to_i((I10) & 0x3ff), \ conv_i10_to_i(((I10) >> 10) & 0x3ff), 0, 1 ) -#define ATTRI10_3( A, I10 ) ATTR( A, 3, \ +#define ATTRI10_3( A, I10 ) ATTR( A, 3, GL_FLOAT, \ conv_i10_to_i((I10) & 0x3ff), \ conv_i10_to_i(((I10) >> 10) & 0x3ff), \ conv_i10_to_i(((I10) >> 20) & 0x3ff), 1 ) -#define ATTRI10_4( A, I10 ) ATTR( A, 4, \ +#define ATTRI10_4( A, I10 ) ATTR( A, 4, GL_FLOAT, \ conv_i10_to_i((I10) & 0x3ff), \ conv_i10_to_i(((I10) >> 10) & 0x3ff), \ conv_i10_to_i(((I10) >> 20) & 0x3ff), \ conv_i2_to_i(((I10) >> 30) & 0x3)) -#define ATTRI10N_1( A, I10 ) ATTR( A, 1, conv_i10_to_norm_float((I10) & 0x3ff), 0, 0, 1 ) -#define ATTRI10N_2( A, I10 ) ATTR( A, 2, \ +#define ATTRI10N_1( A, I10 ) ATTR( A, 1, GL_FLOAT, conv_i10_to_norm_float((I10) & 0x3ff), 0, 0, 1 ) +#define ATTRI10N_2( A, I10 ) ATTR( A, 2, GL_FLOAT, \ conv_i10_to_norm_float((I10) & 0x3ff), \ conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), 0, 1 ) -#define ATTRI10N_3( A, I10 ) ATTR( A, 3, \ +#define ATTRI10N_3( A, I10 ) ATTR( A, 3, GL_FLOAT, \ conv_i10_to_norm_float((I10) & 0x3ff), \ conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), \ conv_i10_to_norm_float(((I10) >> 20) & 0x3ff), 1 ) -#define ATTRI10N_4( A, I10 ) ATTR( A, 4, \ +#define ATTRI10N_4( A, I10 ) ATTR( A, 4, GL_FLOAT, \ conv_i10_to_norm_float((I10) & 0x3ff), \ conv_i10_to_norm_float(((I10) >> 10) & 0x3ff), \ conv_i10_to_norm_float(((I10) >> 20) & 0x3ff), \ diff --git a/mesalib/src/mesa/vbo/vbo_context.h b/mesalib/src/mesa/vbo/vbo_context.h index c896f1196..1ff6ec000 100644 --- a/mesalib/src/mesa/vbo/vbo_context.h +++ b/mesalib/src/mesa/vbo/vbo_context.h @@ -147,4 +147,47 @@ vbo_draw_method(struct vbo_context *vbo, enum draw_method method) } } +/** + * Return if format is integer. The immediate mode commands only emit floats + * for non-integer types, thus everything else is integer. + */ +static inline GLboolean +vbo_attrtype_to_integer_flag(GLenum format) +{ + switch (format) { + case GL_FLOAT: + return GL_FALSE; + case GL_INT: + case GL_UNSIGNED_INT: + return GL_TRUE; + default: + ASSERT(0); + return GL_FALSE; + } +} + + +/** + * Return default component values for the given format. + * The return type is an array of floats, because that's how we declare + * the vertex storage despite the fact we sometimes store integers in there. + */ +static inline const GLfloat * +vbo_get_default_vals_as_float(GLenum format) +{ + static const GLfloat default_float[4] = { 0, 0, 0, 1 }; + static const GLint default_int[4] = { 0, 0, 0, 1 }; + + switch (format) { + case GL_FLOAT: + return default_float; + case GL_INT: + case GL_UNSIGNED_INT: + return (const GLfloat*)default_int; + default: + ASSERT(0); + return NULL; + } +} + #endif diff --git a/mesalib/src/mesa/vbo/vbo_exec.h b/mesalib/src/mesa/vbo/vbo_exec.h index ef57a8199..96cf4c82b 100644 --- a/mesalib/src/mesa/vbo/vbo_exec.h +++ b/mesalib/src/mesa/vbo/vbo_exec.h @@ -101,6 +101,7 @@ struct vbo_exec_context struct vbo_exec_copied_vtx copied; GLubyte attrsz[VBO_ATTRIB_MAX]; + GLenum attrtype[VBO_ATTRIB_MAX]; GLubyte active_sz[VBO_ATTRIB_MAX]; GLfloat *attrptr[VBO_ATTRIB_MAX]; diff --git a/mesalib/src/mesa/vbo/vbo_exec_api.c b/mesalib/src/mesa/vbo/vbo_exec_api.c index 2ddb71588..75e549fc4 100644 --- a/mesalib/src/mesa/vbo/vbo_exec_api.c +++ b/mesalib/src/mesa/vbo/vbo_exec_api.c @@ -157,11 +157,13 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec ) GLfloat *current = (GLfloat *)vbo->currval[i].Ptr; GLfloat tmp[4]; - COPY_CLEAN_4V(tmp, - exec->vtx.attrsz[i], - exec->vtx.attrptr[i]); + COPY_CLEAN_4V_TYPE_AS_FLOAT(tmp, + exec->vtx.attrsz[i], + exec->vtx.attrptr[i], + exec->vtx.attrtype[i]); - if (memcmp(current, tmp, sizeof(tmp)) != 0) { + if (exec->vtx.attrtype[i] != vbo->currval[i].Type || + memcmp(current, tmp, sizeof(tmp)) != 0) { memcpy(current, tmp, sizeof(tmp)); /* Given that we explicitly state size here, there is no need @@ -170,8 +172,10 @@ static void vbo_exec_copy_to_current( struct vbo_exec_context *exec ) * directly. */ vbo->currval[i].Size = exec->vtx.attrsz[i]; - assert(vbo->currval[i].Type == GL_FLOAT); vbo->currval[i]._ElementSize = vbo->currval[i].Size * sizeof(GLfloat); + vbo->currval[i].Type = exec->vtx.attrtype[i]; + vbo->currval[i].Integer = + vbo_attrtype_to_integer_flag(exec->vtx.attrtype[i]); /* This triggers rather too much recalculation of Mesa state * that doesn't get used (eg light positions). @@ -324,7 +328,9 @@ vbo_exec_wrap_upgrade_vertex(struct vbo_exec_context *exec, if (j == attr) { if (oldSize) { GLfloat tmp[4]; - COPY_CLEAN_4V(tmp, oldSize, data + old_offset); + COPY_CLEAN_4V_TYPE_AS_FLOAT(tmp, oldSize, + data + old_offset, + exec->vtx.attrtype[j]); COPY_SZ_4V(dest + new_offset, newSize, tmp); } else { GLfloat *current = (GLfloat *)vbo->currval[j].Ptr; @@ -365,8 +371,9 @@ vbo_exec_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint newSize) vbo_exec_wrap_upgrade_vertex( exec, attr, newSize ); } else if (newSize < exec->vtx.active_sz[attr]) { - static const GLfloat id[4] = { 0, 0, 0, 1 }; GLuint i; + const GLfloat *id = + vbo_get_default_vals_as_float(exec->vtx.attrtype[attr]); /* New size is smaller - just need to fill in some * zeros. Don't need to flush or wrap. @@ -390,7 +397,7 @@ vbo_exec_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint newSize) * This macro is used to implement all the glVertex, glColor, glTexCoord, * glVertexAttrib, etc functions. */ -#define ATTR( A, N, V0, V1, V2, V3 ) \ +#define ATTR( A, N, T, V0, V1, V2, V3 ) \ do { \ struct vbo_exec_context *exec = &vbo_context(ctx)->exec; \ \ @@ -406,6 +413,7 @@ do { \ if (N>1) dest[1] = V1; \ if (N>2) dest[2] = V2; \ if (N>3) dest[3] = V3; \ + exec->vtx.attrtype[A] = T; \ } \ \ if ((A) == 0) { \ @@ -1119,6 +1127,8 @@ void vbo_exec_vtx_init( struct vbo_exec_context *exec ) for (i = 0 ; i < VBO_ATTRIB_MAX ; i++) { ASSERT(i < Elements(exec->vtx.attrsz)); exec->vtx.attrsz[i] = 0; + ASSERT(i < Elements(exec->vtx.attrtype)); + exec->vtx.attrtype[i] = GL_FLOAT; ASSERT(i < Elements(exec->vtx.active_sz)); exec->vtx.active_sz[i] = 0; } @@ -1255,6 +1265,7 @@ static void reset_attrfv( struct vbo_exec_context *exec ) for (i = 0 ; i < VBO_ATTRIB_MAX ; i++) { exec->vtx.attrsz[i] = 0; + exec->vtx.attrtype[i] = GL_FLOAT; exec->vtx.active_sz[i] = 0; } @@ -1309,7 +1320,7 @@ VertexAttrib4f_nopos(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { GET_CURRENT_CONTEXT(ctx); if (index < MAX_VERTEX_GENERIC_ATTRIBS) - ATTR(VBO_ATTRIB_GENERIC0 + index, 4, x, y, z, w); + ATTR(VBO_ATTRIB_GENERIC0 + index, 4, GL_FLOAT, x, y, z, w); else ERROR(GL_INVALID_VALUE); } diff --git a/mesalib/src/mesa/vbo/vbo_exec_array.c b/mesalib/src/mesa/vbo/vbo_exec_array.c index d857ac3e5..4b2c5298d 100644 --- a/mesalib/src/mesa/vbo/vbo_exec_array.c +++ b/mesalib/src/mesa/vbo/vbo_exec_array.c @@ -779,7 +779,7 @@ vbo_validated_drawrangeelements(struct gl_context *ctx, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices, - GLint basevertex, GLint numInstances, + GLint basevertex, GLuint numInstances, GLuint baseInstance) { struct vbo_context *vbo = vbo_context(ctx); diff --git a/mesalib/src/mesa/vbo/vbo_exec_draw.c b/mesalib/src/mesa/vbo/vbo_exec_draw.c index 817af4dd5..9529ce069 100644 --- a/mesalib/src/mesa/vbo/vbo_exec_draw.c +++ b/mesalib/src/mesa/vbo/vbo_exec_draw.c @@ -207,9 +207,6 @@ vbo_exec_bind_arrays( struct gl_context *ctx ) assert(0); } - /* Make all active attributes (including edgeflag) available as - * arrays of floats. - */ for (attr = 0; attr < VERT_ATTRIB_MAX ; attr++) { const GLuint src = map[attr]; @@ -235,7 +232,9 @@ vbo_exec_bind_arrays( struct gl_context *ctx ) arrays[attr].Size = exec->vtx.attrsz[src]; arrays[attr].StrideB = exec->vtx.vertex_size * sizeof(GLfloat); arrays[attr].Stride = exec->vtx.vertex_size * sizeof(GLfloat); - arrays[attr].Type = GL_FLOAT; + arrays[attr].Type = exec->vtx.attrtype[src]; + arrays[attr].Integer = + vbo_attrtype_to_integer_flag(exec->vtx.attrtype[src]); arrays[attr].Format = GL_RGBA; arrays[attr].Enabled = 1; arrays[attr]._ElementSize = arrays[attr].Size * sizeof(GLfloat); diff --git a/mesalib/src/mesa/vbo/vbo_save.h b/mesalib/src/mesa/vbo/vbo_save.h index f33669670..750117b12 100644 --- a/mesalib/src/mesa/vbo/vbo_save.h +++ b/mesalib/src/mesa/vbo/vbo_save.h @@ -63,6 +63,7 @@ struct vbo_save_copied_vtx { */ struct vbo_save_vertex_list { GLubyte attrsz[VBO_ATTRIB_MAX]; + GLenum attrtype[VBO_ATTRIB_MAX]; GLuint vertex_size; /* Copy of the final vertex from node->vertex_store->bufferobj. @@ -127,6 +128,7 @@ struct vbo_save_context { const struct gl_client_array *inputs[VBO_ATTRIB_MAX]; GLubyte attrsz[VBO_ATTRIB_MAX]; + GLenum attrtype[VBO_ATTRIB_MAX]; GLubyte active_sz[VBO_ATTRIB_MAX]; GLuint vertex_size; diff --git a/mesalib/src/mesa/vbo/vbo_save_api.c b/mesalib/src/mesa/vbo/vbo_save_api.c index 89f09a8d8..75b8ca338 100644 --- a/mesalib/src/mesa/vbo/vbo_save_api.c +++ b/mesalib/src/mesa/vbo/vbo_save_api.c @@ -324,6 +324,7 @@ _save_compile_vertex_list(struct gl_context *ctx) /* Duplicate our template, increment refcounts to the storage structs: */ memcpy(node->attrsz, save->attrsz, sizeof(node->attrsz)); + memcpy(node->attrtype, save->attrtype, sizeof(node->attrtype)); node->vertex_size = save->vertex_size; node->buffer_offset = (save->buffer - save->vertex_store->buffer) * sizeof(GLfloat); @@ -510,7 +511,8 @@ _save_copy_to_current(struct gl_context *ctx) for (i = VBO_ATTRIB_POS + 1; i < VBO_ATTRIB_MAX; i++) { if (save->attrsz[i]) { save->currentsz[i][0] = save->attrsz[i]; - COPY_CLEAN_4V(save->current[i], save->attrsz[i], save->attrptr[i]); + COPY_CLEAN_4V_TYPE_AS_FLOAT(save->current[i], save->attrsz[i], + save->attrptr[i], save->attrtype[i]); } } } @@ -612,7 +614,8 @@ _save_upgrade_vertex(struct gl_context *ctx, GLuint attr, GLuint newsz) if (save->attrsz[j]) { if (j == attr) { if (oldsz) { - COPY_CLEAN_4V(dest, oldsz, data); + COPY_CLEAN_4V_TYPE_AS_FLOAT(dest, oldsz, data, + save->attrtype[j]); data += oldsz; dest += newsz; } @@ -649,8 +652,8 @@ save_fixup_vertex(struct gl_context *ctx, GLuint attr, GLuint sz) _save_upgrade_vertex(ctx, attr, sz); } else if (sz < save->active_sz[attr]) { - static GLfloat id[4] = { 0, 0, 0, 1 }; GLuint i; + const GLfloat *id = vbo_get_default_vals_as_float(save->attrtype[attr]); /* New size is equal or smaller - just need to fill in some * zeros. @@ -688,7 +691,7 @@ _save_reset_vertex(struct gl_context *ctx) * 3f version won't otherwise set color[3] to 1.0 -- this is the job * of the chooser function when switching between Color4f and Color3f. */ -#define ATTR(A, N, V0, V1, V2, V3) \ +#define ATTR(A, N, T, V0, V1, V2, V3) \ do { \ struct vbo_save_context *save = &vbo_context(ctx)->save; \ \ @@ -701,6 +704,7 @@ do { \ if (N>1) dest[1] = V1; \ if (N>2) dest[2] = V2; \ if (N>3) dest[3] = V3; \ + save->attrtype[A] = T; \ } \ \ if ((A) == 0) { \ diff --git a/mesalib/src/mesa/vbo/vbo_save_draw.c b/mesalib/src/mesa/vbo/vbo_save_draw.c index 09b8b8ab2..efb386e5c 100644 --- a/mesalib/src/mesa/vbo/vbo_save_draw.c +++ b/mesalib/src/mesa/vbo/vbo_save_draw.c @@ -79,16 +79,20 @@ _playback_copy_to_current(struct gl_context *ctx, GLfloat *current = (GLfloat *)vbo->currval[i].Ptr; GLfloat tmp[4]; - COPY_CLEAN_4V(tmp, - node->attrsz[i], - data); + COPY_CLEAN_4V_TYPE_AS_FLOAT(tmp, + node->attrsz[i], + data, + node->attrtype[i]); - if (memcmp(current, tmp, 4 * sizeof(GLfloat)) != 0) { + if (node->attrtype[i] != vbo->currval[i].Type || + memcmp(current, tmp, 4 * sizeof(GLfloat)) != 0) { memcpy(current, tmp, 4 * sizeof(GLfloat)); vbo->currval[i].Size = node->attrsz[i]; - assert(vbo->currval[i].Type == GL_FLOAT); vbo->currval[i]._ElementSize = vbo->currval[i].Size * sizeof(GLfloat); + vbo->currval[i].Type = node->attrtype[i]; + vbo->currval[i].Integer = + vbo_attrtype_to_integer_flag(node->attrtype[i]); if (i >= VBO_ATTRIB_FIRST_MATERIAL && i <= VBO_ATTRIB_LAST_MATERIAL) @@ -134,9 +138,11 @@ static void vbo_bind_vertex_list(struct gl_context *ctx, const GLuint *map; GLuint attr; GLubyte node_attrsz[VBO_ATTRIB_MAX]; /* copy of node->attrsz[] */ + GLenum node_attrtype[VBO_ATTRIB_MAX]; /* copy of node->attrtype[] */ GLbitfield64 varying_inputs = 0x0; memcpy(node_attrsz, node->attrsz, sizeof(node->attrsz)); + memcpy(node_attrtype, node->attrtype, sizeof(node->attrtype)); /* Install the default (ie Current) attributes first, then overlay * all active ones. @@ -170,6 +176,7 @@ static void vbo_bind_vertex_list(struct gl_context *ctx, (ctx->VertexProgram._Current->Base.InputsRead & VERT_BIT_GENERIC0)) { save->inputs[VERT_ATTRIB_GENERIC0] = save->inputs[0]; node_attrsz[VERT_ATTRIB_GENERIC0] = node_attrsz[0]; + node_attrtype[VERT_ATTRIB_GENERIC0] = node_attrtype[0]; node_attrsz[0] = 0; } break; @@ -188,7 +195,9 @@ static void vbo_bind_vertex_list(struct gl_context *ctx, arrays[attr].Size = node_attrsz[src]; arrays[attr].StrideB = node->vertex_size * sizeof(GLfloat); arrays[attr].Stride = node->vertex_size * sizeof(GLfloat); - arrays[attr].Type = GL_FLOAT; + arrays[attr].Type = node_attrtype[src]; + arrays[attr].Integer = + vbo_attrtype_to_integer_flag(node_attrtype[src]); arrays[attr].Format = GL_RGBA; arrays[attr].Enabled = 1; arrays[attr]._ElementSize = arrays[attr].Size * sizeof(GLfloat); diff --git a/xkbcomp/listing.c b/xkbcomp/listing.c index 479b47cc0..11de88a83 100644 --- a/xkbcomp/listing.c +++ b/xkbcomp/listing.c @@ -1,495 +1,495 @@ -/************************************************************ - Copyright 1996 by Silicon Graphics Computer Systems, Inc. - - Permission to use, copy, modify, and distribute this - software and its documentation for any purpose and without - fee is hereby granted, provided that the above copyright - notice appear in all copies and that both that copyright - notice and this permission notice appear in supporting - documentation, and that the name of Silicon Graphics not be - used in advertising or publicity pertaining to distribution - of the software without specific prior written permission. - Silicon Graphics makes no representation about the suitability - of this software for any purpose. It is provided "as is" - without any express or implied warranty. - - SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS - SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON - GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL - DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, - DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH - THE USE OR PERFORMANCE OF THIS SOFTWARE. - - ********************************************************/ -/*********************************************************** - -Copyright 1988, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -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 -OPEN GROUP 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. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - - -Copyright 1988 by Digital Equipment Corporation, Maynard, Massachusetts. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -******************************************************************/ - -#include -#include -#include -#include -#include - -#if defined(sgi) -#include -#endif - -#define DEBUG_VAR listingDebug -#include "xkbcomp.h" -#include - -#ifdef _POSIX_SOURCE -# include -#else -# define _POSIX_SOURCE -# include -# undef _POSIX_SOURCE -#endif - -#ifndef PATH_MAX -#ifdef WIN32 -#define PATH_MAX 512 -#else -#include -#endif -#ifndef PATH_MAX -#ifdef MAXPATHLEN -#define PATH_MAX MAXPATHLEN -#else -#define PATH_MAX 1024 -#endif -#endif -#endif - -#ifdef WIN32 -# include -# define FileName(file) file.cFileName -# undef TEXT -# undef ALTERNATE -#else -# include -# define FileName(file) file->d_name -#endif - -#include "xkbpath.h" -#include "parseutils.h" -#include "misc.h" -#include "tokens.h" -#include - -#define lowbit(x) ((x) & (-(x))) - -unsigned int listingDebug; - -static int szListing = 0; -static int nListed = 0; -static int nFilesListed = 0; - -typedef struct _Listing -{ - char *file; - char *map; -} Listing; - -static int szMapOnly; -static int nMapOnly; -static char **mapOnly; - -static Listing *list = NULL; - -/***====================================================================***/ - -int -AddMapOnly(char *map) -{ - if (nMapOnly >= szMapOnly) - { - if (szMapOnly < 1) - szMapOnly = 5; - else - szMapOnly *= 2; - mapOnly = uTypedRealloc(list, szMapOnly, char *); - if (!mapOnly) - { - WSGO("Couldn't allocate list of maps\n"); - return 0; - } - } - mapOnly[nMapOnly++] = map; - return 1; -} - -int -AddListing(char *file, char *map) -{ - if (nListed >= szListing) - { - if (szListing < 1) - szListing = 10; - else - szListing *= 2; - list = uTypedRealloc(list, szListing, Listing); - if (!list) - { - WSGO("Couldn't allocate list of files and maps\n"); - ACTION("Exiting\n"); - exit(1); - } - } - - list[nListed].file = file; - list[nListed].map = map; - nListed++; - if (file != NULL) - nFilesListed++; - return 1; -} - -/***====================================================================***/ - -static void -ListFile(FILE * outFile, char *fileName, XkbFile * map) -{ - register unsigned flags; - char *mapName; - - flags = map->flags; - if ((flags & XkbLC_Hidden) && (!(verboseLevel & WantHiddenMaps))) - return; - if ((flags & XkbLC_Partial) && (!(verboseLevel & WantPartialMaps))) - return; - if (verboseLevel & WantLongListing) - { - fprintf(outFile, (flags & XkbLC_Hidden) ? "h" : "-"); - fprintf(outFile, (flags & XkbLC_Default) ? "d" : "-"); - fprintf(outFile, (flags & XkbLC_Partial) ? "p" : "-"); - fprintf(outFile, "----- "); - if (map->type == XkmSymbolsIndex) - { - fprintf(outFile, (flags & XkbLC_AlphanumericKeys) ? "a" : "-"); - fprintf(outFile, (flags & XkbLC_ModifierKeys) ? "m" : "-"); - fprintf(outFile, (flags & XkbLC_KeypadKeys) ? "k" : "-"); - fprintf(outFile, (flags & XkbLC_FunctionKeys) ? "f" : "-"); - fprintf(outFile, (flags & XkbLC_AlternateGroup) ? "g" : "-"); - fprintf(outFile, "--- "); - } - else - fprintf(outFile, "-------- "); - } - mapName = map->name; - if ((!(verboseLevel & WantFullNames)) && ((flags & XkbLC_Default) != 0)) - mapName = NULL; - if (dirsToStrip > 0) - { - char *tmp, *last; - int i; - for (i = 0, tmp = last = fileName; (i < dirsToStrip) && tmp; i++) - { - last = tmp; - tmp = strchr(tmp, '/'); - if (tmp != NULL) - tmp++; - } - fileName = (tmp ? tmp : last); - } - if (mapName) - fprintf(outFile, "%s(%s)\n", fileName, mapName); - else - fprintf(outFile, "%s\n", fileName); - return; -} - -/***====================================================================***/ - -static int -AddDirectory(char *head, char *ptrn, char *rest, char *map) -{ -#ifdef WIN32 - HANDLE dirh; - WIN32_FIND_DATA file; -#else - DIR *dirp; - struct dirent *file; -#endif - int nMatch; - - if (map == NULL) - { - char *tmp = ptrn; - if ((rest == NULL) && (ptrn != NULL) && (strchr(ptrn, '/') == NULL)) - { - tmp = ptrn; - map = strchr(ptrn, '('); - } - else if ((rest == NULL) && (ptrn == NULL) && - (head != NULL) && (strchr(head, '/') == NULL)) - { - tmp = head; - map = strchr(head, '('); - } - if (map != NULL) - { - tmp = strchr(tmp, ')'); - if ((tmp == NULL) || (tmp[1] != '\0')) - { - ERROR1("File and map must have the format file(map)\n"); - return 0; - } - *map = '\0'; - map++; - *tmp = '\0'; - } - } -#ifdef WIN32 - if ((dirh = FindFirstFile("*.*", &file)) == INVALID_HANDLE_VALUE) - return 0; -#else - if ((dirp = opendir((head ? head : "."))) == NULL) - return 0; - nMatch = 0; -#endif -#ifdef WIN32 - do -#else - while ((file = readdir(dirp)) != NULL) -#endif - { - char *tmp, *filename; - struct stat sbuf; - - filename = FileName(file); - if (!filename || filename[0] == '.') - continue; - if (ptrn && (!XkbNameMatchesPattern(filename, ptrn))) - continue; - tmp = - (char *) uAlloc((head ? strlen(head) : 0) + strlen(filename) + 2); - if (!tmp) - continue; - sprintf(tmp, "%s%s%s", (head ? head : ""), (head ? "/" : ""), - filename); - if (stat(tmp, &sbuf) < 0) - { - uFree(tmp); - continue; - } - if (((rest != NULL) && (!S_ISDIR(sbuf.st_mode))) || - ((map != NULL) && (S_ISDIR(sbuf.st_mode)))) - { - uFree(tmp); - continue; - } - if (S_ISDIR(sbuf.st_mode)) - { - if ((rest != NULL) || (verboseLevel & ListRecursive)) - nMatch += AddDirectory(tmp, rest, NULL, map); - } - else - nMatch += AddListing(tmp, map); - } -#ifdef WIN32 - while (FindNextFile(dirh, &file)); -#endif - return nMatch; -} - -/***====================================================================***/ - -Bool -AddMatchingFiles(char *head_in) -{ - char *str, *head, *ptrn, *rest = NULL; - - if (head_in == NULL) - return 0; - ptrn = NULL; - for (str = head_in; (*str != '\0') && (*str != '?') && (*str != '*'); - str++) - { - if ((str != head_in) && (*str == '/')) - ptrn = str; - } - if (*str == '\0') - { /* no wildcards */ - head = head_in; - ptrn = NULL; - rest = NULL; - } - else if (ptrn == NULL) - { /* no slash before the first wildcard */ - head = NULL; - ptrn = head_in; - } - else - { /* slash followed by wildcard */ - head = head_in; - *ptrn = '\0'; - ptrn++; - } - if (ptrn) - { - rest = strchr(ptrn, '/'); - if (rest != NULL) - { - *rest = '\0'; - rest++; - } - } - if (((rest && ptrn) - && ((strchr(ptrn, '(') != NULL) || (strchr(ptrn, ')') != NULL))) - || (head - && ((strchr(head, '(') != NULL) || (strchr(head, ')') != NULL)))) - { - ERROR1("Files/maps to list must have the form file(map)\n"); - ACTION("Illegal specifier ignored\n"); - return 0; - } - return AddDirectory(head, ptrn, rest, NULL); -} - -/***====================================================================***/ - -static Bool -MapMatches(char *mapToConsider, char *ptrn) -{ - int i; - - if (ptrn != NULL) - return XkbNameMatchesPattern(mapToConsider, ptrn); - if (nMapOnly < 1) - return True; - for (i = 0; i < nMapOnly; i++) - { - if (XkbNameMatchesPattern(mapToConsider, mapOnly[i])) - return True; - } - return False; -} - -int -GenerateListing(char *out_name) -{ - int i; - FILE *inputFile, *outFile; - XkbFile *rtrn, *mapToUse; - unsigned oldWarningLevel; - char *mapName; - - if (nFilesListed < 1) - { - ERROR1("Must specify at least one file or pattern to list\n"); - return 0; - } - if ((!out_name) || ((out_name[0] == '-') && (out_name[1] == '\0'))) - outFile = stdout; - else if ((outFile = fopen(out_name, "w")) == NULL) - { - ERROR1("Cannot open \"%s\" to write keyboard description\n", - out_name); - ACTION("Exiting\n"); - return 0; - } -#ifdef DEBUG - if (warningLevel > 9) - fprintf(stderr, "should list:\n"); -#endif - for (i = 0; i < nListed; i++) - { -#ifdef DEBUG - if (warningLevel > 9) - { - fprintf(stderr, "%s(%s)\n", - (list[i].file ? list[i].file : "*"), - (list[i].map ? list[i].map : "*")); - } -#endif - oldWarningLevel = warningLevel; - warningLevel = 0; - if (list[i].file) - { - struct stat sbuf; - - if (stat(list[i].file, &sbuf) < 0) - { - if (oldWarningLevel > 5) - WARN1("Couldn't open \"%s\"\n", list[i].file); - continue; - } - if (S_ISDIR(sbuf.st_mode)) - { - if (verboseLevel & ListRecursive) - AddDirectory(list[i].file, NULL, NULL, NULL); - continue; - } - - inputFile = fopen(list[i].file, "r"); - if (!inputFile) - { - if (oldWarningLevel > 5) - WARN1("Couldn't open \"%s\"\n", list[i].file); - continue; - } - setScanState(list[i].file, 1); - if (XKBParseFile(inputFile, &rtrn) && (rtrn != NULL)) - { - mapName = list[i].map; - mapToUse = rtrn; - for (; mapToUse; mapToUse = (XkbFile *) mapToUse->common.next) - { - if (!MapMatches(mapToUse->name, mapName)) - continue; - ListFile(outFile, list[i].file, mapToUse); - } - } - fclose(inputFile); - } - warningLevel = oldWarningLevel; - } - return 1; -} +/************************************************************ + Copyright 1996 by Silicon Graphics Computer Systems, Inc. + + Permission to use, copy, modify, and distribute this + software and its documentation for any purpose and without + fee is hereby granted, provided that the above copyright + notice appear in all copies and that both that copyright + notice and this permission notice appear in supporting + documentation, and that the name of Silicon Graphics not be + used in advertising or publicity pertaining to distribution + of the software without specific prior written permission. + Silicon Graphics makes no representation about the suitability + of this software for any purpose. It is provided "as is" + without any express or implied warranty. + + SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON + GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL + DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, + DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH + THE USE OR PERFORMANCE OF THIS SOFTWARE. + + ********************************************************/ +/*********************************************************** + +Copyright 1988, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + + +Copyright 1988 by Digital Equipment Corporation, Maynard, Massachusetts. + + All Rights Reserved + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Digital not be +used in advertising or publicity pertaining to distribution of the +software without specific, written prior permission. + +DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR +ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE. + +******************************************************************/ + +#include +#include +#include +#include +#include + +#if defined(sgi) +#include +#endif + +#define DEBUG_VAR listingDebug +#include "xkbcomp.h" +#include + +#ifdef _POSIX_SOURCE +# include +#else +# define _POSIX_SOURCE +# include +# undef _POSIX_SOURCE +#endif + +#ifndef PATH_MAX +#ifdef WIN32 +#define PATH_MAX 512 +#else +#include +#endif +#ifndef PATH_MAX +#ifdef MAXPATHLEN +#define PATH_MAX MAXPATHLEN +#else +#define PATH_MAX 1024 +#endif +#endif +#endif + +#ifdef WIN32 +# include +# define FileName(file) file.cFileName +# undef TEXT +# undef ALTERNATE +#else +# include +# define FileName(file) file->d_name +#endif + +#include "xkbpath.h" +#include "parseutils.h" +#include "misc.h" +#include "tokens.h" +#include + +#define lowbit(x) ((x) & (-(x))) + +unsigned int listingDebug; + +static int szListing = 0; +static int nListed = 0; +static int nFilesListed = 0; + +typedef struct _Listing +{ + char *file; + char *map; +} Listing; + +static int szMapOnly; +static int nMapOnly; +static char **mapOnly; + +static Listing *list = NULL; + +/***====================================================================***/ + +int +AddMapOnly(char *map) +{ + if (nMapOnly >= szMapOnly) + { + if (szMapOnly < 1) + szMapOnly = 5; + else + szMapOnly *= 2; + mapOnly = uTypedRealloc(list, szMapOnly, char *); + if (!mapOnly) + { + WSGO("Couldn't allocate list of maps\n"); + return 0; + } + } + mapOnly[nMapOnly++] = map; + return 1; +} + +int +AddListing(char *file, char *map) +{ + if (nListed >= szListing) + { + if (szListing < 1) + szListing = 10; + else + szListing *= 2; + list = uTypedRealloc(list, szListing, Listing); + if (!list) + { + WSGO("Couldn't allocate list of files and maps\n"); + ACTION("Exiting\n"); + exit(1); + } + } + + list[nListed].file = file; + list[nListed].map = map; + nListed++; + if (file != NULL) + nFilesListed++; + return 1; +} + +/***====================================================================***/ + +static void +ListFile(FILE * outFile, char *fileName, XkbFile * map) +{ + register unsigned flags; + char *mapName; + + flags = map->flags; + if ((flags & XkbLC_Hidden) && (!(verboseLevel & WantHiddenMaps))) + return; + if ((flags & XkbLC_Partial) && (!(verboseLevel & WantPartialMaps))) + return; + if (verboseLevel & WantLongListing) + { + fprintf(outFile, (flags & XkbLC_Hidden) ? "h" : "-"); + fprintf(outFile, (flags & XkbLC_Default) ? "d" : "-"); + fprintf(outFile, (flags & XkbLC_Partial) ? "p" : "-"); + fprintf(outFile, "----- "); + if (map->type == XkmSymbolsIndex) + { + fprintf(outFile, (flags & XkbLC_AlphanumericKeys) ? "a" : "-"); + fprintf(outFile, (flags & XkbLC_ModifierKeys) ? "m" : "-"); + fprintf(outFile, (flags & XkbLC_KeypadKeys) ? "k" : "-"); + fprintf(outFile, (flags & XkbLC_FunctionKeys) ? "f" : "-"); + fprintf(outFile, (flags & XkbLC_AlternateGroup) ? "g" : "-"); + fprintf(outFile, "--- "); + } + else + fprintf(outFile, "-------- "); + } + mapName = map->name; + if ((!(verboseLevel & WantFullNames)) && ((flags & XkbLC_Default) != 0)) + mapName = NULL; + if (dirsToStrip > 0) + { + char *tmp, *last; + int i; + for (i = 0, tmp = last = fileName; (i < dirsToStrip) && tmp; i++) + { + last = tmp; + tmp = strchr(tmp, '/'); + if (tmp != NULL) + tmp++; + } + fileName = (tmp ? tmp : last); + } + if (mapName) + fprintf(outFile, "%s(%s)\n", fileName, mapName); + else + fprintf(outFile, "%s\n", fileName); + return; +} + +/***====================================================================***/ + +static int +AddDirectory(char *head, char *ptrn, char *rest, char *map) +{ +#ifdef WIN32 + HANDLE dirh; + WIN32_FIND_DATA file; +#else + DIR *dirp; + struct dirent *file; +#endif + int nMatch; + + if (map == NULL) + { + char *tmp = ptrn; + if ((rest == NULL) && (ptrn != NULL) && (strchr(ptrn, '/') == NULL)) + { + tmp = ptrn; + map = strchr(ptrn, '('); + } + else if ((rest == NULL) && (ptrn == NULL) && + (head != NULL) && (strchr(head, '/') == NULL)) + { + tmp = head; + map = strchr(head, '('); + } + if (map != NULL) + { + tmp = strchr(tmp, ')'); + if ((tmp == NULL) || (tmp[1] != '\0')) + { + ERROR1("File and map must have the format file(map)\n"); + return 0; + } + *map = '\0'; + map++; + *tmp = '\0'; + } + } +#ifdef WIN32 + if ((dirh = FindFirstFile("*.*", &file)) == INVALID_HANDLE_VALUE) + return 0; +#else + if ((dirp = opendir((head ? head : "."))) == NULL) + return 0; + nMatch = 0; +#endif +#ifdef WIN32 + do +#else + while ((file = readdir(dirp)) != NULL) +#endif + { + char *tmp, *filename; + struct stat sbuf; + + filename = FileName(file); + if (!filename || filename[0] == '.') + continue; + if (ptrn && (!XkbNameMatchesPattern(filename, ptrn))) + continue; + tmp = + (char *) uAlloc((head ? strlen(head) : 0) + strlen(filename) + 2); + if (!tmp) + continue; + sprintf(tmp, "%s%s%s", (head ? head : ""), (head ? "/" : ""), + filename); + if (stat(tmp, &sbuf) < 0) + { + uFree(tmp); + continue; + } + if (((rest != NULL) && (!S_ISDIR(sbuf.st_mode))) || + ((map != NULL) && (S_ISDIR(sbuf.st_mode)))) + { + uFree(tmp); + continue; + } + if (S_ISDIR(sbuf.st_mode)) + { + if ((rest != NULL) || (verboseLevel & ListRecursive)) + nMatch += AddDirectory(tmp, rest, NULL, map); + } + else + nMatch += AddListing(tmp, map); + } +#ifdef WIN32 + while (FindNextFile(dirh, &file)); +#endif + return nMatch; +} + +/***====================================================================***/ + +Bool +AddMatchingFiles(char *head_in) +{ + char *str, *head, *ptrn, *rest = NULL; + + if (head_in == NULL) + return 0; + ptrn = NULL; + for (str = head_in; (*str != '\0') && (*str != '?') && (*str != '*'); + str++) + { + if ((str != head_in) && (*str == '/')) + ptrn = str; + } + if (*str == '\0') + { /* no wildcards */ + head = head_in; + ptrn = NULL; + rest = NULL; + } + else if (ptrn == NULL) + { /* no slash before the first wildcard */ + head = NULL; + ptrn = head_in; + } + else + { /* slash followed by wildcard */ + head = head_in; + *ptrn = '\0'; + ptrn++; + } + if (ptrn) + { + rest = strchr(ptrn, '/'); + if (rest != NULL) + { + *rest = '\0'; + rest++; + } + } + if (((rest && ptrn) + && ((strchr(ptrn, '(') != NULL) || (strchr(ptrn, ')') != NULL))) + || (head + && ((strchr(head, '(') != NULL) || (strchr(head, ')') != NULL)))) + { + ERROR1("Files/maps to list must have the form file(map)\n"); + ACTION("Illegal specifier ignored\n"); + return 0; + } + return AddDirectory(head, ptrn, rest, NULL); +} + +/***====================================================================***/ + +static Bool +MapMatches(char *mapToConsider, char *ptrn) +{ + int i; + + if (ptrn != NULL) + return XkbNameMatchesPattern(mapToConsider, ptrn); + if (nMapOnly < 1) + return True; + for (i = 0; i < nMapOnly; i++) + { + if (XkbNameMatchesPattern(mapToConsider, mapOnly[i])) + return True; + } + return False; +} + +int +GenerateListing(char *out_name) +{ + int i; + FILE *inputFile, *outFile; + XkbFile *rtrn, *mapToUse; + unsigned oldWarningLevel; + char *mapName; + + if (nFilesListed < 1) + { + ERROR1("Must specify at least one file or pattern to list\n"); + return 0; + } + if ((!out_name) || ((out_name[0] == '-') && (out_name[1] == '\0'))) + outFile = stdout; + else if ((outFile = fopen(out_name, "w")) == NULL) + { + ERROR1("Cannot open \"%s\" to write keyboard description\n", + out_name); + ACTION("Exiting\n"); + return 0; + } +#ifdef DEBUG + if (warningLevel > 9) + fprintf(stderr, "should list:\n"); +#endif + for (i = 0; i < nListed; i++) + { +#ifdef DEBUG + if (warningLevel > 9) + { + fprintf(stderr, "%s(%s)\n", + (list[i].file ? list[i].file : "*"), + (list[i].map ? list[i].map : "*")); + } +#endif + oldWarningLevel = warningLevel; + warningLevel = 0; + if (list[i].file) + { + struct stat sbuf; + + if (stat(list[i].file, &sbuf) < 0) + { + if (oldWarningLevel > 5) + WARN1("Couldn't open \"%s\"\n", list[i].file); + continue; + } + if (S_ISDIR(sbuf.st_mode)) + { + if (verboseLevel & ListRecursive) + AddDirectory(list[i].file, NULL, NULL, NULL); + continue; + } + + inputFile = fopen(list[i].file, "r"); + if (!inputFile) + { + if (oldWarningLevel > 5) + WARN1("Couldn't open \"%s\"\n", list[i].file); + continue; + } + setScanState(list[i].file, 1); + if (XKBParseFile(inputFile, &rtrn) && (rtrn != NULL)) + { + mapName = list[i].map; + mapToUse = rtrn; + for (; mapToUse; mapToUse = (XkbFile *) mapToUse->common.next) + { + if (!MapMatches(mapToUse->name, mapName)) + continue; + ListFile(outFile, list[i].file, mapToUse); + } + } + fclose(inputFile); + } + warningLevel = oldWarningLevel; + } + return 1; +} diff --git a/xorg-server/Xext/panoramiX.c b/xorg-server/Xext/panoramiX.c index 1c7197d5d..be475f7f4 100644 --- a/xorg-server/Xext/panoramiX.c +++ b/xorg-server/Xext/panoramiX.c @@ -592,8 +592,6 @@ PanoramiXExtensionInit(void) } -extern Bool CreateConnectionBlock(void); - Bool PanoramiXCreateConnectionBlock(void) { diff --git a/xorg-server/Xext/shm.c b/xorg-server/Xext/shm.c index 3fa04b921..55960907b 100644 --- a/xorg-server/Xext/shm.c +++ b/xorg-server/Xext/shm.c @@ -135,11 +135,11 @@ static ShmFuncs fbFuncs = { fbShmCreatePixmap, NULL }; #define VERIFY_SHMSEG(shmseg,shmdesc,client) \ { \ - int rc; \ - rc = dixLookupResourceByType((pointer *)&(shmdesc), shmseg, ShmSegType, \ - client, DixReadAccess); \ - if (rc != Success) \ - return rc; \ + int tmprc; \ + tmprc = dixLookupResourceByType((pointer *)&(shmdesc), shmseg, ShmSegType, \ + client, DixReadAccess); \ + if (tmprc != Success) \ + return tmprc; \ } #define VERIFY_SHMPTR(shmseg,offset,needwrite,shmdesc,client) \ diff --git a/xorg-server/Xext/xace.c b/xorg-server/Xext/xace.c index b2e7ddaf0..026d3c5cf 100644 --- a/xorg-server/Xext/xace.c +++ b/xorg-server/Xext/xace.c @@ -47,18 +47,18 @@ XaceHookDispatch(ClientPtr client, int major) if (major < 128) { /* Call the core dispatch hook */ - XaceCoreDispatchRec rec = { client, Success /* default allow */ }; - CallCallbacks(&XaceHooks[XACE_CORE_DISPATCH], &rec); - return rec.status; + XaceCoreDispatchRec drec = { client, Success /* default allow */ }; + CallCallbacks(&XaceHooks[XACE_CORE_DISPATCH], &drec); + return drec.status; } else { /* Call the extension dispatch hook */ ExtensionEntry *ext = GetExtensionEntry(major); - XaceExtAccessRec rec = { client, ext, DixUseAccess, Success }; + XaceExtAccessRec erec = { client, ext, DixUseAccess, Success }; if (ext) - CallCallbacks(&XaceHooks[XACE_EXT_DISPATCH], &rec); + CallCallbacks(&XaceHooks[XACE_EXT_DISPATCH], &erec); /* On error, pretend extension doesn't exist */ - return (rec.status == Success) ? Success : BadRequest; + return (erec.status == Success) ? Success : BadRequest; } } diff --git a/xorg-server/Xext/xf86bigfont.c b/xorg-server/Xext/xf86bigfont.c index faf81f7dc..46b3242d1 100644 --- a/xorg-server/Xext/xf86bigfont.c +++ b/xorg-server/Xext/xf86bigfont.c @@ -296,8 +296,6 @@ ProcXF86BigfontQueryVersion(ClientPtr client) #endif }; if (client->swapped) { - char tmp; - swaps(&reply.sequenceNumber); swapl(&reply.length); swaps(&reply.majorVersion); @@ -313,8 +311,6 @@ ProcXF86BigfontQueryVersion(ClientPtr client) static void swapCharInfo(xCharInfo * pCI) { - char tmp; - swaps(&pCI->leftSideBearing); swaps(&pCI->rightSideBearing); swaps(&pCI->characterWidth); @@ -585,8 +581,6 @@ ProcXF86BigfontQueryFont(ClientPtr client) reply->shmid = shmid; reply->shmsegoffset = 0; if (client->swapped) { - char tmp; - swaps(&reply->sequenceNumber); swapl(&reply->length); swapCharInfo(&reply->minBounds); @@ -613,8 +607,6 @@ ProcXF86BigfontQueryFont(ClientPtr client) prFP->name = pFP->name; prFP->value = pFP->value; if (client->swapped) { - char tmp; - swapl(&prFP->name); swapl(&prFP->value); } @@ -636,8 +628,6 @@ ProcXF86BigfontQueryFont(ClientPtr client) for (j = 0; j < nCharInfos; j++, ps++) { *ps = pIndex2UniqIndex[j]; if (client->swapped) { - char tmp; - swaps(ps); } } @@ -673,7 +663,6 @@ static int SProcXF86BigfontQueryVersion(ClientPtr client) { REQUEST(xXF86BigfontQueryVersionReq); - char tmp; swaps(&stuff->length); return ProcXF86BigfontQueryVersion(client); @@ -683,7 +672,6 @@ static int SProcXF86BigfontQueryFont(ClientPtr client) { REQUEST(xXF86BigfontQueryFontReq); - char tmp; swaps(&stuff->length); REQUEST_SIZE_MATCH(xXF86BigfontQueryFontReq); diff --git a/xorg-server/Xext/xres.c b/xorg-server/Xext/xres.c index 7d21ad7e9..445abcab8 100644 --- a/xorg-server/Xext/xres.c +++ b/xorg-server/Xext/xres.c @@ -190,8 +190,6 @@ DestroyConstructResourceBytesCtx(ConstructResourceBytesCtx *ctx) ht_destroy(ctx->visitedResources); } -extern void ResExtensionInit(void); - static int ProcXResQueryVersion(ClientPtr client) { diff --git a/xorg-server/Xext/xtest.c b/xorg-server/Xext/xtest.c index c593372e7..2abdc7f58 100644 --- a/xorg-server/Xext/xtest.c +++ b/xorg-server/Xext/xtest.c @@ -57,8 +57,6 @@ #include "extinit.h" -extern int DeviceValuator; - /* XTest events are sent during request processing and may be interruped by * a SIGIO. We need a separate event list to avoid events overwriting each * other's memory */ diff --git a/xorg-server/Xi/chgdctl.c b/xorg-server/Xi/chgdctl.c index 7daf58461..31d3a57f3 100644 --- a/xorg-server/Xi/chgdctl.c +++ b/xorg-server/Xi/chgdctl.c @@ -187,7 +187,10 @@ ProcXChangeDeviceControl(ClientPtr client) case DEVICE_ENABLE: e = (xDeviceEnableCtl *) &stuff[1]; - status = ChangeDeviceControl(client, dev, (xDeviceCtl *) e); + if (IsXTestDevice(dev, NULL)) + status = !Success; + else + status = ChangeDeviceControl(client, dev, (xDeviceCtl *) e); if (status == Success) { if (e->enable) diff --git a/xorg-server/Xi/exevents.c b/xorg-server/Xi/exevents.c index 4cbeb3796..4248b9a86 100644 --- a/xorg-server/Xi/exevents.c +++ b/xorg-server/Xi/exevents.c @@ -1559,6 +1559,7 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) uint32_t touchid; int type = ev->any.type; int emulate_pointer = ! !(ev->device_event.flags & TOUCH_POINTER_EMULATED); + DeviceIntPtr kbd; if (!t) return; @@ -1568,9 +1569,6 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) else touchid = ev->device_event.touchid; - if (emulate_pointer) - UpdateDeviceState(dev, &ev->device_event); - if (type == ET_TouchBegin) { ti = TouchBeginTouch(dev, ev->device_event.sourceid, touchid, emulate_pointer); @@ -1598,7 +1596,7 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) if (!ti) { DebugF("[Xi] %s: Failed to create new dix record for explicitly " "grabbed touchpoint %d\n", - dev->name, type, touchid); + dev->name, touchid); return; } @@ -1617,9 +1615,14 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) * events which _only_ emulate motion just work normally */ if (emulate_pointer && ev->any.type != ET_TouchUpdate) DeliverEmulatedMotionEvent(dev, ti, ev); + if (emulate_pointer && IsMaster(dev)) CheckMotion(&ev->device_event, dev); + kbd = GetMaster(dev, KEYBOARD_OR_FLOAT); + event_set_state(NULL, kbd, &ev->device_event); + ev->device_event.corestate = event_get_corestate(NULL, kbd); + /* Make sure we have a valid window trace for event delivery; must be * called after event type mutation. Touch end events are always processed * in order to end touch records. */ @@ -1641,6 +1644,9 @@ ProcessTouchEvent(InternalEvent *ev, DeviceIntPtr dev) if (ev->any.type == ET_TouchEnd) TouchEndTouch(dev, ti); } + + if (emulate_pointer) + UpdateDeviceState(dev, &ev->device_event); } /** diff --git a/xorg-server/configure.ac b/xorg-server/configure.ac index 86153ec81..38ac240df 100644 --- a/xorg-server/configure.ac +++ b/xorg-server/configure.ac @@ -1360,7 +1360,7 @@ CORE_INCS='-I$(top_srcdir)/include -I$(top_builddir)/include' # SHA1 hashing AC_ARG_WITH([sha1], - [AS_HELP_STRING([--with-sha1=libc|libmd|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI], + [AS_HELP_STRING([--with-sha1=libc|libmd|libnettle|libgcrypt|libcrypto|libsha1|CommonCrypto|CryptoAPI], [choose SHA1 implementation])]) AC_CHECK_FUNC([SHA1Init], [HAVE_SHA1_IN_LIBC=yes]) if test "x$with_sha1" = x && test "x$HAVE_SHA1_IN_LIBC" = xyes; then @@ -1423,6 +1423,18 @@ if test "x$with_sha1" = xlibsha1; then [Use libsha1 for SHA1]) SHA1_LIBS=-lsha1 fi +AC_CHECK_LIB([nettle], [nettle_sha1_init], [HAVE_LIBNETTLE=yes]) +if test "x$with_sha1" = x && test "x$HAVE_LIBNETTLE" = xyes; then + with_sha1=libnettle +fi +if test "x$with_sha1" = xlibnettle && test "x$HAVE_LIBNETTLE" != xyes; then + AC_MSG_ERROR([libnettle requested but not found]) +fi +if test "x$with_sha1" = xlibnettle; then + AC_DEFINE([HAVE_SHA1_IN_LIBNETTLE], [1], + [Use libnettle SHA1 functions]) + SHA1_LIBS=-lnettle +fi AC_CHECK_LIB([gcrypt], [gcry_md_open], [HAVE_LIBGCRYPT=yes]) if test "x$with_sha1" = x && test "x$HAVE_LIBGCRYPT" = xyes; then with_sha1=libgcrypt diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c index fd4916a3a..613323fa2 100644 --- a/xorg-server/dix/devices.c +++ b/xorg-server/dix/devices.c @@ -145,9 +145,11 @@ DeviceSetProperty(DeviceIntPtr dev, Atom property, XIPropertyValuePtr prop, if (prop->format != 8 || prop->type != XA_INTEGER || prop->size != 1) return BadValue; - /* Don't allow disabling of VCP/VCK */ - if ((dev == inputInfo.pointer ||dev == - inputInfo.keyboard) &&!(*(CARD8 *) prop->data)) + /* Don't allow disabling of VCP/VCK or XTest devices */ + if ((dev == inputInfo.pointer || + dev == inputInfo.keyboard || + IsXTestDevice(dev, NULL)) + &&!(*(CARD8 *) prop->data)) return BadAccess; if (!checkonly) { diff --git a/xorg-server/dix/dixfonts.c b/xorg-server/dix/dixfonts.c index ad218604d..feb765d1c 100644 --- a/xorg-server/dix/dixfonts.c +++ b/xorg-server/dix/dixfonts.c @@ -1823,12 +1823,14 @@ InitFonts(void) register_fpe_functions(); } +_X_EXPORT int GetDefaultPointSize(void) { return 120; } +_X_EXPORT FontResolutionPtr GetClientResolutions(int *num) { @@ -1861,6 +1863,7 @@ GetClientResolutions(int *num) * should be called (only once!) by each type of fpe when initialized */ +_X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func, InitFpeFunc init_func, @@ -1932,24 +1935,28 @@ find_old_font(XID id) return (FontPtr) pFont; } +_X_EXPORT Font GetNewFontClientID(void) { return FakeClientID(0); } +_X_EXPORT int StoreFontClientFont(FontPtr pfont, Font id) { return AddResource(id, RT_NONE, (pointer) pfont); } +_X_EXPORT void DeleteFontClientID(Font id) { FreeResource(id, RT_NONE); } +_X_EXPORT int client_auth_generation(ClientPtr client) { @@ -1959,6 +1966,7 @@ client_auth_generation(ClientPtr client) static int fs_handlers_installed = 0; static unsigned int last_server_gen; +_X_EXPORT int init_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler) { @@ -1977,6 +1985,7 @@ init_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler) return Successful; } +_X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe, BlockHandlerProcPtr block_handler, Bool all) diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c index ddb5b343d..e790bfc20 100644 --- a/xorg-server/dix/events.c +++ b/xorg-server/dix/events.c @@ -2027,19 +2027,19 @@ DeliverToWindowOwner(DeviceIntPtr dev, WindowPtr win, */ static Bool GetClientsForDelivery(DeviceIntPtr dev, WindowPtr win, - xEvent *events, Mask filter, InputClients ** clients) + xEvent *events, Mask filter, InputClients ** iclients) { int rc = 0; if (core_get_type(events) != 0) - *clients = (InputClients *) wOtherClients(win); + *iclients = (InputClients *) wOtherClients(win); else if (xi2_get_type(events) != 0) { OtherInputMasks *inputMasks = wOtherInputMasks(win); /* Has any client selected for the event? */ if (!WindowXI2MaskIsset(dev, win, events)) goto out; - *clients = inputMasks->inputClients; + *iclients = inputMasks->inputClients; } else { OtherInputMasks *inputMasks = wOtherInputMasks(win); @@ -2048,7 +2048,7 @@ GetClientsForDelivery(DeviceIntPtr dev, WindowPtr win, if (!inputMasks || !(inputMasks->inputEvents[dev->id] & filter)) goto out; - *clients = inputMasks->inputClients; + *iclients = inputMasks->inputClients; } rc = 1; @@ -2110,12 +2110,12 @@ DeliverEventToWindowMask(DeviceIntPtr dev, WindowPtr win, xEvent *events, int count, Mask filter, GrabPtr grab, ClientPtr *client_return, Mask *mask_return) { - InputClients *clients; + InputClients *iclients; - if (!GetClientsForDelivery(dev, win, events, filter, &clients)) + if (!GetClientsForDelivery(dev, win, events, filter, &iclients)) return EVENT_SKIP; - return DeliverEventToInputClients(dev, clients, win, events, count, filter, + return DeliverEventToInputClients(dev, iclients, win, events, count, filter, grab, client_return, mask_return); } @@ -4417,7 +4417,7 @@ int EventSuppressForWindow(WindowPtr pWin, ClientPtr client, Mask mask, Bool *checkOptional) { - int i, free; + int i, freed; if (mask & ~PropagateMask) { client->errorValue = mask; @@ -4428,14 +4428,14 @@ EventSuppressForWindow(WindowPtr pWin, ClientPtr client, if (!mask) i = 0; else { - for (i = DNPMCOUNT, free = 0; --i > 0;) { + for (i = DNPMCOUNT, freed = 0; --i > 0;) { if (!DontPropagateRefCnts[i]) - free = i; + freed = i; else if (mask == DontPropagateMasks[i]) break; } - if (!i && free) { - i = free; + if (!i && freed) { + i = freed; DontPropagateMasks[i] = mask; } } diff --git a/xorg-server/fb/fbblt.c b/xorg-server/fb/fbblt.c index 17bd6986b..72a05f61a 100644 --- a/xorg-server/fb/fbblt.c +++ b/xorg-server/fb/fbblt.c @@ -73,21 +73,21 @@ fbBlt(FbBits * srcLine, if (alu == GXcopy && pm == FB_ALLONES && !careful && !(srcX & 7) && !(dstX & 7) && !(width & 7)) { int i; - CARD8 *src = (CARD8 *) srcLine; - CARD8 *dst = (CARD8 *) dstLine; + CARD8 *tmpsrc = (CARD8 *) srcLine; + CARD8 *tmpdst = (CARD8 *) dstLine; srcStride *= sizeof(FbBits); dstStride *= sizeof(FbBits); width >>= 3; - src += (srcX >> 3); - dst += (dstX >> 3); + tmpsrc += (srcX >> 3); + tmpdst += (dstX >> 3); if (!upsidedown) for (i = 0; i < height; i++) - MEMCPY_WRAPPED(dst + i * dstStride, src + i * srcStride, width); + MEMCPY_WRAPPED(tmpdst + i * dstStride, tmpsrc + i * srcStride, width); else for (i = height - 1; i >= 0; i--) - MEMCPY_WRAPPED(dst + i * dstStride, src + i * srcStride, width); + MEMCPY_WRAPPED(tmpdst + i * dstStride, tmpsrc + i * srcStride, width); return; } diff --git a/xorg-server/fb/fbbltone.c b/xorg-server/fb/fbbltone.c index eb7cf9483..bfcb5a263 100644 --- a/xorg-server/fb/fbbltone.c +++ b/xorg-server/fb/fbbltone.c @@ -739,12 +739,12 @@ fbBltPlane(FbBits * src, pm = fbReplicatePixel(planeMask, srcBpp); if (srcBpp == 24) { - int w = 24; + int tmpw = 24; rot0 = FbFirst24Rot(srcX); - if (srcX + w > FB_UNIT) - w = FB_UNIT - srcX; - srcMaskFirst = FbRot24(pm, rot0) & FbBitsMask(srcX, w); + if (srcX + tmpw > FB_UNIT) + tmpw = FB_UNIT - srcX; + srcMaskFirst = FbRot24(pm, rot0) & FbBitsMask(srcX, tmpw); } else { rot0 = 0; diff --git a/xorg-server/hw/xfree86/os-support/bus/nobus.c b/xorg-server/hw/xfree86/os-support/bus/nobus.c index dca58fee2..dc36ecd0a 100644 --- a/xorg-server/hw/xfree86/os-support/bus/nobus.c +++ b/xorg-server/hw/xfree86/os-support/bus/nobus.c @@ -1,5 +1,5 @@ static void -__noop_to_appease_ar__() +__noop_to_appease_ar__(void) { return; } diff --git a/xorg-server/hw/xfree86/os-support/shared/agp_noop.c b/xorg-server/hw/xfree86/os-support/shared/agp_noop.c index 9c6ed4b8d..da486c051 100644 --- a/xorg-server/hw/xfree86/os-support/shared/agp_noop.c +++ b/xorg-server/hw/xfree86/os-support/shared/agp_noop.c @@ -47,7 +47,7 @@ xf86GARTCloseScreen(int screenNum) } Bool -xf86AgpGARTSupported() +xf86AgpGARTSupported(void) { return FALSE; } diff --git a/xorg-server/hw/xfree86/os-support/shared/ioperm_noop.c b/xorg-server/hw/xfree86/os-support/shared/ioperm_noop.c index 30688c0b5..eeacee9cc 100644 --- a/xorg-server/hw/xfree86/os-support/shared/ioperm_noop.c +++ b/xorg-server/hw/xfree86/os-support/shared/ioperm_noop.c @@ -36,13 +36,13 @@ #include "xf86_OSlib.h" Bool -xf86EnableIO() +xf86EnableIO(void) { return TRUE; } void -xf86DisableIO() +xf86DisableIO(void) { return; } diff --git a/xorg-server/hw/xfree86/os-support/stub/stub_init.c b/xorg-server/hw/xfree86/os-support/stub/stub_init.c index 629675d68..d3e0c3f29 100644 --- a/xorg-server/hw/xfree86/os-support/stub/stub_init.c +++ b/xorg-server/hw/xfree86/os-support/stub/stub_init.c @@ -5,12 +5,12 @@ #include "xf86_OSlib.h" void -xf86OpenConsole() +xf86OpenConsole(void) { } void -xf86CloseConsole() +xf86CloseConsole(void) { } @@ -21,6 +21,6 @@ xf86ProcessArgument(int argc, char *argv[], int i) } void -xf86UseMsg() +xf86UseMsg(void) { } diff --git a/xorg-server/hw/xfree86/sdksyms.sh b/xorg-server/hw/xfree86/sdksyms.sh index fa1989379..48b48b5db 100644 --- a/xorg-server/hw/xfree86/sdksyms.sh +++ b/xorg-server/hw/xfree86/sdksyms.sh @@ -259,6 +259,7 @@ cat > sdksyms.c << EOF #include "dixevents.h" #include "dixfont.h" #include "dixfontstr.h" +#include "dixfontstubs.h" #include "dixgrabs.h" #include "dixstruct.h" #include "exevents.h" diff --git a/xorg-server/hw/xwin/Makefile.am b/xorg-server/hw/xwin/Makefile.am index 99dc55631..3fcaf9d0b 100644 --- a/xorg-server/hw/xwin/Makefile.am +++ b/xorg-server/hw/xwin/Makefile.am @@ -147,6 +147,8 @@ XWin_SOURCES = $(SRCS) INCLUDES = -I$(top_srcdir)/miext/rootless +XWIN_SYS_LIBS += -ldxguid + XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) XWin_LDADD = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_GLX_LINK_FLAGS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS) XWin_LDFLAGS = -mwindows -static diff --git a/xorg-server/hw/xwin/winms.h b/xorg-server/hw/xwin/winms.h index 4355baeb8..5282fc982 100644 --- a/xorg-server/hw/xwin/winms.h +++ b/xorg-server/hw/xwin/winms.h @@ -42,7 +42,11 @@ #include #include +#pragma push_macro("Status") +#undef Status +#define Status wStatus #include "ddraw.h" +#pragma pop_macro("Status") #undef CreateWindow diff --git a/xorg-server/hw/xwin/winmultiwindowwm.c b/xorg-server/hw/xwin/winmultiwindowwm.c index ac9d57976..42925e36d 100644 --- a/xorg-server/hw/xwin/winmultiwindowwm.c +++ b/xorg-server/hw/xwin/winmultiwindowwm.c @@ -55,8 +55,6 @@ #include /* Local headers */ -#include "objbase.h" -#include "ddraw.h" #include "winwindow.h" #include "winprefs.h" #include "window.h" diff --git a/xorg-server/hw/xwin/winshaddd.c b/xorg-server/hw/xwin/winshaddd.c index 4c77cc05c..3afc57cd0 100644 --- a/xorg-server/hw/xwin/winshaddd.c +++ b/xorg-server/hw/xwin/winshaddd.c @@ -36,24 +36,6 @@ #endif #include "win.h" -/* - * FIXME: Headers are broken, DEFINE_GUID doesn't work correctly, - * so we have to redefine it here. - */ -#ifdef DEFINE_GUID -#undef DEFINE_GUID -#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif /* DEFINE_GUID */ - -/* - * FIXME: Headers are broken, IID_IDirectDraw2 has to be defined - * here manually. Should be handled by ddraw.h - */ -#ifndef IID_IDirectDraw2 -DEFINE_GUID(IID_IDirectDraw2, 0xB3A6F3E0, 0x2B43, 0x11CF, 0xA2, 0xDE, 0x00, - 0xAA, 0x00, 0xB9, 0x33, 0x56); -#endif /* IID_IDirectDraw2 */ - /* * Local prototypes */ diff --git a/xorg-server/hw/xwin/winshadddnl.c b/xorg-server/hw/xwin/winshadddnl.c index c0879752a..e7306151e 100644 --- a/xorg-server/hw/xwin/winshadddnl.c +++ b/xorg-server/hw/xwin/winshadddnl.c @@ -36,24 +36,6 @@ #endif #include "win.h" -/* - * FIXME: Headers are broken, DEFINE_GUID doesn't work correctly, - * so we have to redefine it here. - */ -#ifdef DEFINE_GUID -#undef DEFINE_GUID -#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}} -#endif /* DEFINE_GUID */ - -/* - * FIXME: Headers are broken, IID_IDirectDraw4 has to be defined - * here manually. Should be handled by ddraw.h - */ -#ifndef IID_IDirectDraw4 -DEFINE_GUID(IID_IDirectDraw4, 0x9c59509a, 0x39bd, 0x11d1, 0x8c, 0x4a, 0x00, - 0xc0, 0x4f, 0xd9, 0x30, 0xc5); -#endif /* IID_IDirectDraw4 */ - #define FAIL_MSG_MAX_BLT 10 /* @@ -526,50 +508,6 @@ winFreeFBShadowDDNL(ScreenPtr pScreen) pScreenInfo->pfb = NULL; } -#if defined(XWIN_MULTIWINDOW) || defined(XWIN_MULTIWINDOWEXTWM) -/* - * Create a DirectDraw surface for the new multi-window window - */ - -static - Bool -winFinishCreateWindowsWindowDDNL(WindowPtr pWin) -{ - winWindowPriv(pWin); - winPrivScreenPtr pScreenPriv = pWinPriv->pScreenPriv; - HRESULT ddrval = DD_OK; - DDSURFACEDESC2 ddsd; - int iWidth, iHeight; - int iX, iY; - - winDebug("winFinishCreateWindowsWindowDDNL!\n\n"); - - iX = pWin->drawable.x + GetSystemMetrics(SM_XVIRTUALSCREEN); - iY = pWin->drawable.y + GetSystemMetrics(SM_YVIRTUALSCREEN); - - iWidth = pWin->drawable.width; - iHeight = pWin->drawable.height; - - /* Describe the primary surface */ - ZeroMemory(&ddsd, sizeof(ddsd)); - ddsd.dwSize = sizeof(ddsd); - ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT; - ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; - ddsd.dwHeight = iHeight; - ddsd.dwWidth = iWidth; - - /* Create the primary surface */ - ddrval = IDirectDraw4_CreateSurface(pScreenPriv->pdd4, - &ddsd, &pWinPriv->pddsPrimary4, NULL); - if (FAILED(ddrval)) { - ErrorF("winFinishCreateWindowsWindowDDNL - Could not create primary " - "surface: %08x\n", (unsigned int) ddrval); - return FALSE; - } - return TRUE; -} -#endif - /* * Transfer the damaged regions of the shadow framebuffer to the display. */ @@ -1278,7 +1216,7 @@ winSetEngineFunctionsShadowDDNL(ScreenPtr pScreen) pScreenPriv->pwinReleasePrimarySurface = winReleasePrimarySurfaceShadowDDNL; #ifdef XWIN_MULTIWINDOW pScreenPriv->pwinFinishCreateWindowsWindow - = winFinishCreateWindowsWindowDDNL; + = (winFinishCreateWindowsWindowProcPtr) (void (*)(void)) NoopDDA; #endif return TRUE; diff --git a/xorg-server/hw/xwin/winwindow.h b/xorg-server/hw/xwin/winwindow.h index a5919ee4d..49a720a67 100644 --- a/xorg-server/hw/xwin/winwindow.h +++ b/xorg-server/hw/xwin/winwindow.h @@ -81,15 +81,6 @@ typedef struct { #ifdef XWIN_GLX_WINDOWS Bool fWglUsed; #endif - - /* Privates used by primary fb DirectDraw server */ - LPDDSURFACEDESC pddsdPrimary; - - /* Privates used by shadow fb DirectDraw Nonlocking server */ - LPDIRECTDRAWSURFACE4 pddsPrimary4; - - /* Privates used by both shadow fb DirectDraw servers */ - LPDIRECTDRAWCLIPPER pddcPrimary; } winPrivWinRec, *winPrivWinPtr; #ifdef XWIN_MULTIWINDOW diff --git a/xorg-server/include/Makefile.am b/xorg-server/include/Makefile.am index 33116f284..5cdea1d15 100644 --- a/xorg-server/include/Makefile.am +++ b/xorg-server/include/Makefile.am @@ -69,6 +69,6 @@ AM_CFLAGS = $(DIX_CFLAGS) EXTRA_DIST = \ dix-config-apple-verbatim.h \ - eventconvert.h eventstr.h inpututils.h \ + dixfontstubs.h eventconvert.h eventstr.h inpututils.h \ protocol-versions.h \ xsha1.h diff --git a/xorg-server/include/dix-config.h.in b/xorg-server/include/dix-config.h.in index 578f249b3..b270a3238 100644 --- a/xorg-server/include/dix-config.h.in +++ b/xorg-server/include/dix-config.h.in @@ -157,6 +157,9 @@ /* Define to use libgcrypt SHA1 functions */ #undef HAVE_SHA1_IN_LIBGCRYPT +/* Define to use libnettle SHA1 functions */ +#undef HAVE_SHA1_IN_LIBNETTLE + /* Define to use libsha1 for SHA1 */ #undef HAVE_SHA1_IN_LIBSHA1 diff --git a/xorg-server/include/dix.h b/xorg-server/include/dix.h index 74123b51b..171e56e11 100644 --- a/xorg-server/include/dix.h +++ b/xorg-server/include/dix.h @@ -88,12 +88,12 @@ SOFTWARE. #define VALIDATE_DRAWABLE_AND_GC(drawID, pDraw, mode)\ {\ - int rc = dixLookupDrawable(&(pDraw), drawID, client, M_ANY, mode);\ - if (rc != Success)\ - return rc;\ - rc = dixLookupGC(&(pGC), stuff->gc, client, DixUseAccess);\ - if (rc != Success)\ - return rc;\ + int tmprc = dixLookupDrawable(&(pDraw), drawID, client, M_ANY, mode);\ + if (tmprc != Success)\ + return tmprc;\ + tmprc = dixLookupGC(&(pGC), stuff->gc, client, DixUseAccess);\ + if (tmprc != Success)\ + return tmprc;\ if ((pGC->depth != pDraw->depth) || (pGC->pScreen != pDraw->pScreen))\ return BadMatch;\ }\ diff --git a/xorg-server/include/dixfont.h b/xorg-server/include/dixfont.h index 3d09eb5ae..0a5f105c0 100644 --- a/xorg-server/include/dixfont.h +++ b/xorg-server/include/dixfont.h @@ -28,6 +28,7 @@ SOFTWARE. #include #include "closure.h" #include +#include #define NullDIXFontProp ((DIXFontPropPtr)0) @@ -143,42 +144,4 @@ extern _X_EXPORT void SetGlyphCachingMode(int /*newmode */ ); extern _X_EXPORT void register_fpe_functions(void); -/* - * libXfont stubs. - */ -extern _X_EXPORT int client_auth_generation(ClientPtr client); - -extern _X_EXPORT void DeleteFontClientID(Font id); - -extern _X_EXPORT FontResolutionPtr GetClientResolutions(int *num); - -extern _X_EXPORT int GetDefaultPointSize(void); - -extern _X_EXPORT Font GetNewFontClientID(void); - -extern _X_EXPORT int init_fs_handlers(FontPathElementPtr fpe, - BlockHandlerProcPtr block_handler); - -extern _X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func, - InitFpeFunc init_func, - FreeFpeFunc free_func, - ResetFpeFunc reset_func, - OpenFontFunc open_func, - CloseFontFunc close_func, - ListFontsFunc list_func, - StartLfwiFunc start_lfwi_func, - NextLfwiFunc next_lfwi_func, - WakeupFpeFunc wakeup_func, - ClientDiedFunc client_died, - LoadGlyphsFunc load_glyphs, - StartLaFunc start_list_alias_func, - NextLaFunc next_list_alias_func, - SetPathFunc set_path_func); - -extern _X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe, - BlockHandlerProcPtr blockHandler, - Bool all); - -extern _X_EXPORT int StoreFontClientFont(FontPtr pfont, Font id); - #endif /* DIXFONT_H */ diff --git a/xorg-server/include/dixfontstubs.h b/xorg-server/include/dixfontstubs.h new file mode 100644 index 000000000..0454ffa6c --- /dev/null +++ b/xorg-server/include/dixfontstubs.h @@ -0,0 +1,45 @@ +#ifndef DIXFONTSTUBS_H +#define DIXFONTSTUBS_H 1 + +/* + * libXfont stubs replacements + * This header exists solely for the purpose of sdksyms generation; + * source code should #include "dixfonts.h" instead, which pulls in these + * declarations from + */ +extern _X_EXPORT int client_auth_generation(ClientPtr client); + +extern _X_EXPORT void DeleteFontClientID(Font id); + +extern _X_EXPORT FontResolutionPtr GetClientResolutions(int *num); + +extern _X_EXPORT int GetDefaultPointSize(void); + +extern _X_EXPORT Font GetNewFontClientID(void); + +extern _X_EXPORT int init_fs_handlers(FontPathElementPtr fpe, + BlockHandlerProcPtr block_handler); + +extern _X_EXPORT int RegisterFPEFunctions(NameCheckFunc name_func, + InitFpeFunc init_func, + FreeFpeFunc free_func, + ResetFpeFunc reset_func, + OpenFontFunc open_func, + CloseFontFunc close_func, + ListFontsFunc list_func, + StartLfwiFunc start_lfwi_func, + NextLfwiFunc next_lfwi_func, + WakeupFpeFunc wakeup_func, + ClientDiedFunc client_died, + LoadGlyphsFunc load_glyphs, + StartLaFunc start_list_alias_func, + NextLaFunc next_list_alias_func, + SetPathFunc set_path_func); + +extern _X_EXPORT void remove_fs_handlers(FontPathElementPtr fpe, + BlockHandlerProcPtr blockHandler, + Bool all); + +extern _X_EXPORT int StoreFontClientFont(FontPtr pfont, Font id); + +#endif diff --git a/xorg-server/mi/mibitblt.c b/xorg-server/mi/mibitblt.c index b9873c16d..b0d14ae55 100644 --- a/xorg-server/mi/mibitblt.c +++ b/xorg-server/mi/mibitblt.c @@ -614,7 +614,7 @@ miGetImage(DrawablePtr pDraw, int sx, int sy, int w, int h, if (format == ZPixmap) { if ((((1LL << depth) - 1) & planeMask) != (1LL << depth) - 1) { ChangeGCVal gcv; - xPoint pt; + xPoint xpt; pGC = GetScratchGC(depth, pDraw->pScreen); if (!pGC) @@ -629,9 +629,9 @@ miGetImage(DrawablePtr pDraw, int sx, int sy, int w, int h, * Clear the pixmap before doing anything else */ ValidateGC((DrawablePtr) pPixmap, pGC); - pt.x = pt.y = 0; + xpt.x = xpt.y = 0; width = w; - (*pGC->ops->FillSpans) ((DrawablePtr) pPixmap, pGC, 1, &pt, &width, + (*pGC->ops->FillSpans) ((DrawablePtr) pPixmap, pGC, 1, &xpt, &width, TRUE); /* alu is already GXCopy */ diff --git a/xorg-server/mi/mispans.c b/xorg-server/mi/mispans.c index 0f89880e2..11c8a43d0 100644 --- a/xorg-server/mi/mispans.c +++ b/xorg-server/mi/mispans.c @@ -453,8 +453,6 @@ miFillUniqueSpanGroup(DrawablePtr pDraw, GCPtr pGC, SpanGroup * spanGroup) (int *) realloc(newspans->widths, ysizes[index] * sizeof(int)); if (!newpoints || !newwidths) { - int i; - for (i = 0; i < ylength; i++) { free(yspans[i].points); free(yspans[i].widths); @@ -485,8 +483,6 @@ miFillUniqueSpanGroup(DrawablePtr pDraw, GCPtr pGC, SpanGroup * spanGroup) points = malloc(count * sizeof(DDXPointRec)); widths = malloc(count * sizeof(int)); if (!points || !widths) { - int i; - for (i = 0; i < ylength; i++) { free(yspans[i].points); free(yspans[i].widths); diff --git a/xorg-server/os/xsha1.c b/xorg-server/os/xsha1.c index fa66c7a06..24c0aa284 100644 --- a/xorg-server/os/xsha1.c +++ b/xorg-server/os/xsha1.c @@ -116,6 +116,36 @@ x_sha1_final(void *ctx, unsigned char result[20]) return 1; } +#elif defined(HAVE_SHA1_IN_LIBNETTLE) /* Use libnettle for SHA1 */ + +#include + +void * +x_sha1_init(void) +{ + struct sha1_ctx *ctx = malloc(sizeof(*ctx)); + + if (!ctx) + return NULL; + sha1_init(ctx); + return ctx; +} + +int +x_sha1_update(void *ctx, void *data, int size) +{ + sha1_update(ctx, size, data); + return 1; +} + +int +x_sha1_final(void *ctx, unsigned char result[20]) +{ + sha1_digest(ctx, 20, result); + free(ctx); + return 1; +} + #elif defined(HAVE_SHA1_IN_LIBGCRYPT) /* Use libgcrypt for SHA1 */ #include diff --git a/xorg-server/randr/randrstr.h b/xorg-server/randr/randrstr.h index 212b0a9be..a16302f4d 100644 --- a/xorg-server/randr/randrstr.h +++ b/xorg-server/randr/randrstr.h @@ -932,6 +932,14 @@ RRChangeProviderProperty(RRProviderPtr provider, Atom property, Atom type, int format, int mode, unsigned long len, pointer value, Bool sendevent, Bool pending); +extern _X_EXPORT int + RRConfigureProviderProperty(RRProviderPtr provider, Atom property, + Bool pending, Bool range, Bool immutable, + int num_values, INT32 *values); + +extern _X_EXPORT Bool + RRPostProviderPendingProperties(RRProviderPtr provider); + extern _X_EXPORT int ProcRRGetProviderProperty(ClientPtr client); diff --git a/xorg-server/render/picturestr.h b/xorg-server/render/picturestr.h index dc00f41ff..5644f28cf 100644 --- a/xorg-server/render/picturestr.h +++ b/xorg-server/render/picturestr.h @@ -363,10 +363,10 @@ extern _X_EXPORT RESTYPE GlyphSetType; #define SetPictureWindow(w,p) dixSetPrivate(&(w)->devPrivates, PictureWindowPrivateKey, p) #define VERIFY_PICTURE(pPicture, pid, client, mode) {\ - int rc = dixLookupResourceByType((pointer)&(pPicture), pid,\ - PictureType, client, mode);\ - if (rc != Success)\ - return rc;\ + int tmprc = dixLookupResourceByType((pointer)&(pPicture), pid,\ + PictureType, client, mode);\ + if (tmprc != Success)\ + return tmprc;\ } #define VERIFY_ALPHA(pPicture, pid, client, mode) {\ diff --git a/xorg-server/xfixes/cursor.c b/xorg-server/xfixes/cursor.c index 4eee59246..7c223ddc5 100644 --- a/xorg-server/xfixes/cursor.c +++ b/xorg-server/xfixes/cursor.c @@ -56,6 +56,7 @@ #include "windowstr.h" #include "xace.h" #include "list.h" +#include "exglobals.h" static RESTYPE CursorClientType; static RESTYPE CursorHideCountType; @@ -118,6 +119,8 @@ struct PointerBarrierClient { ScreenPtr screen; struct PointerBarrier barrier; struct xorg_list entry; + int num_devices; + int *device_ids; /* num_devices */ }; /* @@ -196,7 +199,7 @@ CursorCloseScreen(ScreenPtr pScreen) Bool ret; _X_UNUSED CloseScreenProcPtr close_proc; _X_UNUSED DisplayCursorProcPtr display_proc; - ConstrainCursorHarderProcPtr constrain_proc; + _X_UNUSED ConstrainCursorHarderProcPtr constrain_proc; Unwrap(cs, pScreen, CloseScreen, close_proc); Unwrap(cs, pScreen, DisplayCursor, display_proc); @@ -1132,6 +1135,31 @@ barrier_is_blocking(const struct PointerBarrier * barrier, return rc; } +static BOOL +barrier_blocks_device(struct PointerBarrierClient *client, + DeviceIntPtr dev) +{ + int i; + int master_id; + + /* Clients with no devices are treated as + * if they specified XIAllDevices. */ + if (client->num_devices == 0) + return TRUE; + + master_id = GetMaster(dev, POINTER_OR_FLOAT)->id; + + for (i = 0; i < client->num_devices; i++) { + int device_id = client->device_ids[i]; + if (device_id == XIAllDevices || + device_id == XIAllMasterDevices || + device_id == master_id) + return TRUE; + } + + return FALSE; +} + /** * Find the nearest barrier that is blocking movement from x1/y1 to x2/y2. * @@ -1143,7 +1171,8 @@ barrier_is_blocking(const struct PointerBarrier * barrier, * @return The barrier nearest to the movement origin that blocks this movement. */ static struct PointerBarrier * -barrier_find_nearest(CursorScreenPtr cs, int dir, +barrier_find_nearest(CursorScreenPtr cs, DeviceIntPtr dev, + int dir, int x1, int y1, int x2, int y2) { struct PointerBarrierClient *c; @@ -1157,6 +1186,9 @@ barrier_find_nearest(CursorScreenPtr cs, int dir, if (!barrier_is_blocking_direction(b, dir)) continue; + if (!barrier_blocks_device(c, dev)) + continue; + if (barrier_is_blocking(b, x1, y1, x2, y2, &distance)) { if (min_distance > distance) { min_distance = distance; @@ -1204,6 +1236,7 @@ CursorConstrainCursorHarder(DeviceIntPtr dev, ScreenPtr screen, int mode, mode == Relative) { int ox, oy; int dir; + int i; struct PointerBarrier *nearest = NULL; /* where are we coming from */ @@ -1218,8 +1251,12 @@ CursorConstrainCursorHarder(DeviceIntPtr dev, ScreenPtr screen, int mode, */ dir = barrier_get_direction(ox, oy, *x, *y); - nearest = barrier_find_nearest(cs, dir, ox, oy, *x, *y); - if (nearest) { +#define MAX_BARRIERS 2 + for (i = 0; i < MAX_BARRIERS; i++) { + nearest = barrier_find_nearest(cs, dev, dir, ox, oy, *x, *y); + if (!nearest) + break; + barrier_clamp_to_barrier(nearest, dir, x, y); if (barrier_is_vertical(nearest)) { @@ -1230,11 +1267,6 @@ CursorConstrainCursorHarder(DeviceIntPtr dev, ScreenPtr screen, int mode, dir &= ~(BarrierNegativeY | BarrierPositiveY); oy = *y; } - - nearest = barrier_find_nearest(cs, dir, ox, oy, *x, *y); - if (nearest) { - barrier_clamp_to_barrier(nearest, dir, x, y); - } } } @@ -1245,28 +1277,67 @@ CursorConstrainCursorHarder(DeviceIntPtr dev, ScreenPtr screen, int mode, } } -static struct PointerBarrierClient * +static int CreatePointerBarrierClient(ScreenPtr screen, ClientPtr client, - xXFixesCreatePointerBarrierReq * stuff) + xXFixesCreatePointerBarrierReq * stuff, + PointerBarrierClientPtr *client_out) { CursorScreenPtr cs = GetCursorScreen(screen); - struct PointerBarrierClient *ret = malloc(sizeof(*ret)); - - if (ret) { - ret->screen = screen; - ret->barrier.x1 = min(stuff->x1, stuff->x2); - ret->barrier.x2 = max(stuff->x1, stuff->x2); - ret->barrier.y1 = min(stuff->y1, stuff->y2); - ret->barrier.y2 = max(stuff->y1, stuff->y2); - ret->barrier.directions = stuff->directions & 0x0f; - if (barrier_is_horizontal(&ret->barrier)) - ret->barrier.directions &= ~(BarrierPositiveX | BarrierNegativeX); - if (barrier_is_vertical(&ret->barrier)) - ret->barrier.directions &= ~(BarrierPositiveY | BarrierNegativeY); - xorg_list_add(&ret->entry, &cs->barriers); + int err; + int size; + int i; + CARD16 *in_devices; + struct PointerBarrierClient *ret; + + size = sizeof(*ret) + sizeof(int) * stuff->num_devices; + ret = malloc(size); + + *client_out = NULL; + + if (!ret) { + return BadAlloc; } - return ret; + ret->screen = screen; + ret->num_devices = stuff->num_devices; + + in_devices = (CARD16 *) &stuff[1]; + for (i = 0; i < stuff->num_devices; i++) { + int device_id = in_devices[i]; + DeviceIntPtr device; + + if ((err = dixLookupDevice (&device, device_id, + client, DixReadAccess))) { + client->errorValue = device_id; + goto error; + } + + if (!IsMaster (device)) { + client->errorValue = device_id; + err = BadDevice; + goto error; + } + + ret->device_ids[i] = device_id; + } + + ret->barrier.x1 = min(stuff->x1, stuff->x2); + ret->barrier.x2 = max(stuff->x1, stuff->x2); + ret->barrier.y1 = min(stuff->y1, stuff->y2); + ret->barrier.y2 = max(stuff->y1, stuff->y2); + ret->barrier.directions = stuff->directions & 0x0f; + if (barrier_is_horizontal(&ret->barrier)) + ret->barrier.directions &= ~(BarrierPositiveX | BarrierNegativeX); + if (barrier_is_vertical(&ret->barrier)) + ret->barrier.directions &= ~(BarrierPositiveY | BarrierNegativeY); + xorg_list_add(&ret->entry, &cs->barriers); + + *client_out = ret; + return Success; + + error: + free(ret); + return err; } int @@ -1279,7 +1350,7 @@ ProcXFixesCreatePointerBarrier(ClientPtr client) REQUEST(xXFixesCreatePointerBarrierReq); - REQUEST_SIZE_MATCH(xXFixesCreatePointerBarrierReq); + REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, pad_to_int32(stuff->num_devices)); LEGAL_NEW_RESOURCE(stuff->barrier, client); err = dixLookupWindow(&pWin, stuff->window, client, DixReadAccess); @@ -1288,10 +1359,6 @@ ProcXFixesCreatePointerBarrier(ClientPtr client) return err; } - /* This sure does need fixing. */ - if (stuff->num_devices) - return BadImplementation; - b.x1 = stuff->x1; b.x2 = stuff->x2; b.y1 = stuff->y1; @@ -1304,9 +1371,9 @@ ProcXFixesCreatePointerBarrier(ClientPtr client) if (barrier_is_horizontal(&b) && barrier_is_vertical(&b)) return BadValue; - if (!(barrier = CreatePointerBarrierClient(pWin->drawable.pScreen, - client, stuff))) - return BadAlloc; + if ((err = CreatePointerBarrierClient(pWin->drawable.pScreen, + client, stuff, &barrier))) + return err; if (!AddResource(stuff->barrier, PointerBarrierType, &barrier->barrier)) return BadAlloc; @@ -1318,9 +1385,13 @@ int SProcXFixesCreatePointerBarrier(ClientPtr client) { REQUEST(xXFixesCreatePointerBarrierReq); + int i; + CARD16 *in_devices = (CARD16 *) &stuff[1]; swaps(&stuff->length); - REQUEST_SIZE_MATCH(xXFixesCreatePointerBarrierReq); + swaps(&stuff->num_devices); + REQUEST_FIXED_SIZE(xXFixesCreatePointerBarrierReq, pad_to_int32(stuff->num_devices)); + swapl(&stuff->barrier); swapl(&stuff->window); swaps(&stuff->x1); @@ -1328,6 +1399,10 @@ SProcXFixesCreatePointerBarrier(ClientPtr client) swaps(&stuff->x2); swaps(&stuff->y2); swapl(&stuff->directions); + for (i = 0; i < stuff->num_devices; i++) { + swaps(in_devices + i); + } + return ProcXFixesVector[stuff->xfixesReqType] (client); } diff --git a/xorg-server/xkb/ddxList.c b/xorg-server/xkb/ddxList.c index 79f46379c..729c5aecf 100644 --- a/xorg-server/xkb/ddxList.c +++ b/xorg-server/xkb/ddxList.c @@ -131,8 +131,6 @@ XkbDDXListComponent(DeviceIntPtr dev, file = list->pattern[what]; map = strrchr(file, '('); if (map != NULL) { - char *tmp; - map++; tmp = strrchr(map, ')'); if ((tmp == NULL) || (tmp[1] != '\0')) { diff --git a/xorg-server/xkb/maprules.c b/xorg-server/xkb/maprules.c index c6900eccb..5462763d1 100644 --- a/xorg-server/xkb/maprules.c +++ b/xorg-server/xkb/maprules.c @@ -864,6 +864,7 @@ XkbRF_GetComponents(XkbRF_RulesPtr rules, XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Append); XkbRF_ApplyPartialMatches(rules, names); XkbRF_CheckApplyRules(rules, &mdefs, names, XkbRF_Option); + XkbRF_ApplyPartialMatches(rules, names); if (names->keycodes) names->keycodes = XkbRF_SubstituteVars(names->keycodes, &mdefs); diff --git a/xorg-server/xkb/xkb.c b/xorg-server/xkb/xkb.c index 4440a98c1..efb178c7c 100644 --- a/xorg-server/xkb/xkb.c +++ b/xorg-server/xkb/xkb.c @@ -57,10 +57,10 @@ static RESTYPE RT_XKBCLIENT; #define CHK_DEVICE(dev, id, client, access_mode, lf) {\ int why;\ - int rc = lf(&(dev), id, client, access_mode, &why);\ - if (rc != Success) {\ + int tmprc = lf(&(dev), id, client, access_mode, &why);\ + if (tmprc != Success) {\ client->errorValue = _XkbErrCode2(why, id);\ - return rc;\ + return tmprc;\ }\ } @@ -1026,22 +1026,22 @@ XkbWriteKeyTypes(XkbDescPtr xkb, buf = (char *) &wire[1]; if (wire->nMapEntries > 0) { - xkbKTMapEntryWireDesc *wire; + xkbKTMapEntryWireDesc *ewire; XkbKTMapEntryPtr entry; - wire = (xkbKTMapEntryWireDesc *) buf; + ewire = (xkbKTMapEntryWireDesc *) buf; entry = type->map; - for (n = 0; n < type->map_count; n++, wire++, entry++) { - wire->active = entry->active; - wire->mask = entry->mods.mask; - wire->level = entry->level; - wire->realMods = entry->mods.real_mods; - wire->virtualMods = entry->mods.vmods; + for (n = 0; n < type->map_count; n++, ewire++, entry++) { + ewire->active = entry->active; + ewire->mask = entry->mods.mask; + ewire->level = entry->level; + ewire->realMods = entry->mods.real_mods; + ewire->virtualMods = entry->mods.vmods; if (client->swapped) { - swaps(&wire->virtualMods); + swaps(&ewire->virtualMods); } } - buf = (char *) wire; + buf = (char *) ewire; if (type->preserve != NULL) { xkbModsWireDesc *pwire; XkbModsPtr preserve; @@ -2903,7 +2903,6 @@ _XkbSetCompatMap(ClientPtr client, DeviceIntPtr dev, } if (req->groups != 0) { - unsigned i, bit; xkbModsWireDesc *wire = (xkbModsWireDesc *) data; for (i = 0, bit = 1; i < XkbNumKbdGroups; i++, bit <<= 1) { diff --git a/xorg-server/xkb/xkbPrKeyEv.c b/xorg-server/xkb/xkbPrKeyEv.c index 32411838d..b24fd6cb7 100644 --- a/xorg-server/xkb/xkbPrKeyEv.c +++ b/xorg-server/xkb/xkbPrKeyEv.c @@ -104,13 +104,13 @@ XkbProcessKeyboardEvent(DeviceEvent *event, DeviceIntPtr keybd) return; } if (rg->currentDown != 0) { - int key = event->detail.key; + int tmpkey = event->detail.key; event->type = ET_KeyRelease; event->detail.key = rg->currentDown; XkbHandleActions(keybd, keybd, event); event->type = ET_KeyPress; - event->detail.key = key; + event->detail.key = tmpkey; } rg->currentDown = key; } diff --git a/xorg-server/xkb/xkbtext.c b/xorg-server/xkb/xkbtext.c index f66a08f75..fdf1d1790 100644 --- a/xorg-server/xkb/xkbtext.c +++ b/xorg-server/xkb/xkbtext.c @@ -1266,7 +1266,6 @@ XkbBehaviorText(XkbDescPtr xkb, XkbBehavior * behavior, unsigned format) } else if (type == XkbKB_RadioGroup) { int g; - char *tmp; g = ((behavior->data) & (~XkbKB_RGAllowNone)) + 1; if (XkbKB_RGAllowNone & behavior->data) { diff --git a/xorg-server/xkb/xkmread.c b/xorg-server/xkb/xkmread.c index 45da965dc..258bb91b5 100644 --- a/xorg-server/xkb/xkmread.c +++ b/xorg-server/xkb/xkmread.c @@ -772,8 +772,6 @@ ReadXkmSymbols(FILE * file, XkbDescPtr xkb) memset((char *) typeName, 0, XkbNumKbdGroups * sizeof(Atom)); memset((char *) type, 0, XkbNumKbdGroups * sizeof(XkbKeyTypePtr)); if (wireMap.flags & XkmKeyHasTypes) { - register int g; - for (g = 0; g < XkbNumKbdGroups; g++) { if ((wireMap.flags & (1 << g)) && ((tmp = XkmGetCountedString(file, buf, 100)) > 0)) { diff --git a/xorg-server/xorg-server.m4 b/xorg-server/xorg-server.m4 index 80d6da01e..18255b91a 100644 --- a/xorg-server/xorg-server.m4 +++ b/xorg-server/xorg-server.m4 @@ -1,49 +1,49 @@ -dnl Copyright 2005 Red Hat, Inc -dnl -dnl Permission to use, copy, modify, distribute, and sell this software and its -dnl documentation for any purpose is hereby granted without fee, provided that -dnl the above copyright notice appear in all copies and that both that -dnl copyright notice and this permission notice appear in supporting -dnl documentation. -dnl -dnl The above copyright notice and this permission notice shall be included -dnl in all copies or substantial portions of the Software. -dnl -dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR -dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -dnl OTHER DEALINGS IN THE SOFTWARE. -dnl -dnl Except as contained in this notice, the name of the copyright holders shall -dnl not be used in advertising or otherwise to promote the sale, use or -dnl other dealings in this Software without prior written authorization -dnl from the copyright holders. -dnl - -# XORG_DRIVER_CHECK_EXT() -# -------------------------- -# Checks for the $1 define in xorg-server.h (from the sdk). If it -# is defined, then add $1 to $REQUIRED_MODULES. - -AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ - AC_REQUIRE([PKG_PROG_PKG_CONFIG]) - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include "xorg-server.h" -#if !defined $1 -#error $1 not defined -#endif - ]])], - [_EXT_CHECK=yes], - [_EXT_CHECK=no]) - CFLAGS="$SAVE_CFLAGS" - AC_MSG_CHECKING([if $1 is defined]) - AC_MSG_RESULT([$_EXT_CHECK]) - if test "$_EXT_CHECK" != no; then - REQUIRED_MODULES="$REQUIRED_MODULES $2" - fi -]) +dnl Copyright 2005 Red Hat, Inc +dnl +dnl Permission to use, copy, modify, distribute, and sell this software and its +dnl documentation for any purpose is hereby granted without fee, provided that +dnl the above copyright notice appear in all copies and that both that +dnl copyright notice and this permission notice appear in supporting +dnl documentation. +dnl +dnl The above copyright notice and this permission notice shall be included +dnl in all copies or substantial portions of the Software. +dnl +dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +dnl IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR +dnl OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +dnl ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +dnl OTHER DEALINGS IN THE SOFTWARE. +dnl +dnl Except as contained in this notice, the name of the copyright holders shall +dnl not be used in advertising or otherwise to promote the sale, use or +dnl other dealings in this Software without prior written authorization +dnl from the copyright holders. +dnl + +# XORG_DRIVER_CHECK_EXT(MACRO, PROTO) +# -------------------------- +# Checks for the MACRO define in xorg-server.h (from the sdk). If it +# is defined, then add the given PROTO to $REQUIRED_MODULES. + +AC_DEFUN([XORG_DRIVER_CHECK_EXT],[ + AC_REQUIRE([PKG_PROG_PKG_CONFIG]) + SAVE_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -I`$PKG_CONFIG --variable=sdkdir xorg-server`" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +#include "xorg-server.h" +#if !defined $1 +#error $1 not defined +#endif + ]])], + [_EXT_CHECK=yes], + [_EXT_CHECK=no]) + CFLAGS="$SAVE_CFLAGS" + AC_MSG_CHECKING([if $1 is defined]) + AC_MSG_RESULT([$_EXT_CHECK]) + if test "$_EXT_CHECK" != no; then + REQUIRED_MODULES="$REQUIRED_MODULES $2" + fi +]) -- cgit v1.2.3