DispatcherGlobal added for global (GLX/WGL/EGL) API dispatch layering.

Work-in-progress: apitrace dispatch layer for Regal, not enabled yet.
Added All.sln for VC10 purposes.
This commit is contained in:
Nigel Stewart 2013-06-05 23:06:03 -05:00
parent 1105d274ad
commit 0c089bf5bc
105 changed files with 99787 additions and 38692 deletions

View file

@ -37,6 +37,7 @@ include build/regaltest.inc
include build/zlib.inc
include build/libpng.inc
include build/snappy.inc
include build/apitrace.inc
include build/glu.inc
include build/glut.inc
@ -220,11 +221,64 @@ tmp/$(SYSTEM)/snappy/static/%.o: src/snappy/%.c
tmp/$(SYSTEM)/snappy/static/%.o: src/snappy/%.cc
@mkdir -p $(dir $@)
$(LOG_CC)$(CCACHE) $(CXX) $(SNAPPY.CFLAGS) $(CXXFLAGS) $(PICFLAG) -o $@ -c $<
$(LOG_CC)$(CCACHE) $(CXX) $(SNAPPY.CFLAGS) $(CFLAGS) $(CXXFLAGS) $(PICFLAG) -o $@ -c $<
lib/$(SYSTEM)/$(SNAPPY.STATIC): $(SNAPPY.OBJS)
@mkdir -p $(dir $@)
$(LOG_AR)$(CCACHE) $(AR) cr $@ $(SNAPPY.OBJS)
#
# apitrace
#
APITRACE.SRCS := $(APITRACE.CXX)
APITRACE.SRCS := $(filter %.c,$(APITRACE.SRCS)) $(filter %.cc,$(APITRACE.SRCS)) $(filter %.cpp,$(APITRACE.SRCS))
APITRACE.SRCS.NAMES := $(notdir $(APITRACE.SRCS))
APITRACE.OBJS := $(addprefix tmp/$(SYSTEM)/apitrace/static/,$(APITRACE.SRCS.NAMES))
APITRACE.OBJS := $(APITRACE.OBJS:.c=.o) $(APITRACE.OBJS:.cc=.o) $(APITRACE.OBJS:.cpp=.o)
APITRACE.OBJS := $(filter %.o,$(APITRACE.OBJS))
APITRACE.DEPS := $(APITRACE.OBJS:.o=.d)
APITRACE.CFLAGS := -Isrc/apitrace/common -Isrc/apitrace/gen/dispatch -Isrc/apitrace/dispatch -Isrc/apitrace/helpers -Isrc/apitrace/wrappers -Isrc/apitrace -Isrc/regal -Isrc/snappy -Isrc/zlib/include -Isrc/zlib/src -Isrc/boost
APITRACE.STATIC := libapitrace.a
APITRACE.CFLAGS += -DREGAL_PLUGIN_MODE=1
ifeq ($(MODE),release)
APITRACE.CFLAGS += -DNDEBUG
APITRACE.CFLAGS += -DREGAL_NO_ASSERT=1
endif
-include $(APITRACE.DEPS)
apitrace.lib: lib/$(SYSTEM)/$(APITRACE.STATIC)
tmp/$(SYSTEM)/apitrace/static/%.o: src/apitrace/common/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(APITRACE.CFLAGS) $(CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/apitrace/static/%.o: src/apitrace/gen/wrapper/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(APITRACE.CFLAGS) $(CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/apitrace/static/%.o: src/apitrace/dispatch/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(APITRACE.CFLAGS) $(CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/apitrace/static/%.o: src/apitrace/helpers/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(APITRACE.CFLAGS) $(CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/apitrace/static/%.o: src/apitrace/gen/wrappers/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(APITRACE.CFLAGS) $(CFLAGS) $(PICFLAG) -o $@ -c $<
tmp/$(SYSTEM)/apitrace/static/%.o: src/apitrace/wrappers/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(APITRACE.CFLAGS) $(CFLAGS) $(PICFLAG) -o $@ -c $<
lib/$(SYSTEM)/$(APITRACE.STATIC): $(APITRACE.OBJS)
@mkdir -p $(dir $@)
$(LOG_AR)$(CCACHE) $(AR) cr $@ $(APITRACE.OBJS)
ifneq ($(RANLIB),)
$(LOG_RANLIB)$(RANLIB) $@
endif
@ -327,7 +381,9 @@ LIB.SDEPS := $(LIBS.SOBJS:.o=.d)
-include $(LIB.DEPS) $(LIB.SDEPS)
LIB.LIBS += -Llib/$(SYSTEM) -lpng -lz
LIB.LIBS += -Llib/$(SYSTEM)
# LIB.LIBS += -lapitrace -lsnappy
LIB.LIBS += -lpng -lz $(LDFLAGS.X11)
ifneq ($(filter darwin%,$(SYSTEM)),)
LIB.LDFLAGS += -Wl,-reexport-lGLU -L/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries
@ -773,5 +829,6 @@ clobber:
.PHONY: export test all
.PHONY: regal.lib regal.bin
.PHONY: apitrace.lib
.PHONY: zlib.lib libpng.lib snappy.lib glew.lib glu.lib glut.lib
.PHONY: clean clobber

View file

@ -17,9 +17,52 @@ regal_cflags := -DANDROID=1 -DREGAL_NO_PNG=1 -Werror
regal_path := $(LOCAL_PATH)/../../../..
include $(regal_path)/build/zlib.inc
include $(regal_path)/build/snappy.inc
include $(regal_path)/build/apitrace.inc
include $(regal_path)/build/regal.inc
# src_files should not include LOCAL_PATH
#
# zlib
#
zlib_src_files := $(patsubst %,$(regal_path)/%,$(ZLIB.C))
zlib_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(zlib_src_files))
zlib_c_includes := $(regal_path)/src/zlib/include
zlib_c_includes := $(patsubst $(LOCAL_PATH)/../%,%,$(zlib_c_includes))
zlib_export_c_includes := $(regal_path)/include
#
# snappy
#
snappy_src_files := $(patsubst %,$(regal_path)/%,$(SNAPPY.CXX))
snappy_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(snappy_src_files))
snappy_c_includes := $(regal_path)/src/snappy
snappy_c_includes := $(patsubst $(LOCAL_PATH)/../%,%,$(snappy_c_includes))
snappy_export_c_includes := $(regal_path)/include
#
# apitrace
#
apitrace_src_files := $(patsubst %,$(regal_path)/%,$(APITRACE.CXX))
apitrace_src_files := $(subst glproc_gl,glproc_egl,$(apitrace_src_files))
apitrace_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(apitrace_src_files))
apitrace_c_includes := $(regal_path)/include $(regal_path)/src/squish $(regal_path)/src/apitrace/common $(regal_path)/src/mongoose $(regal_path)/src/apitrace/gen/dispatch $(regal_path)/src/apitrace/dispatch $(regal_path)/src/apitrace/helpers $(regal_path)/src/apitrace/wrappers $(regal_path)/src/apitrace $(regal_path)/src/zlib/include $(regal_path)/src/snappy
apitrace_c_includes := $(patsubst $(LOCAL_PATH)/../%,%,$(apitrace_c_includes))
apitrace_export_c_includes := $(regal_path)/include
#
# regal
#
regal_src_files := $(patsubst %,$(regal_path)/%,$(REGAL.CXX))
regal_src_files += $(regal_path)/src/mongoose/mongoose.c $(regal_path)/src/md5/src/md5.c $(regal_path)/src/jsonsl/jsonsl.c
regal_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(regal_src_files))
@ -49,6 +92,36 @@ else # REGAL_FORCE_REBUILD == true
$(call ndk_log,Rebuilding Regal libraries from sources)
include $(CLEAR_VARS)
LOCAL_MODULE := zlib
LOCAL_SRC_FILES := $(zlib_src_files)
LOCAL_CFLAGS := $(regal_cflags) -DHAVE_UNISTD_H=1
LOCAL_C_INCLUDES := $(zlib_c_includes)
LOCAL_EXPORT_C_INCLUDES := $(zlib_export_c_includes)
LOCAL_EXPORT_LDLIBS :=
LOCAL_ARM_MODE := arm
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := snappy
LOCAL_SRC_FILES := $(snappy_src_files)
LOCAL_CFLAGS := $(regal_cflags) -DHAVE_UNISTD_H=1
LOCAL_C_INCLUDES := $(snappy_c_includes)
LOCAL_EXPORT_C_INCLUDES := $(snappy_export_c_includes)
LOCAL_EXPORT_LDLIBS :=
LOCAL_ARM_MODE := arm
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := apitrace
LOCAL_SRC_FILES := $(apitrace_src_files)
LOCAL_CFLAGS := $(regal_cflags) -DREGAL_PLUGIN_MODE=1
LOCAL_C_INCLUDES := $(apitrace_c_includes)
LOCAL_EXPORT_C_INCLUDES := $(apitrace_export_c_includes)
LOCAL_EXPORT_LDLIBS :=
LOCAL_ARM_MODE := arm
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := Regal_static
LOCAL_SRC_FILES := $(regal_src_files)
@ -65,6 +138,7 @@ LOCAL_SRC_FILES := $(regal_src_files)
LOCAL_CFLAGS := $(regal_cflags)
LOCAL_C_INCLUDES := $(regal_c_includes)
LOCAL_EXPORT_C_INCLUDES := $(regal_export_c_includes)
LOCAL_STATIC_LIBRARIES := apitrace zlib snappy
LOCAL_LDLIBS := -llog
LOCAL_EXPORT_LDLIBS := -llog
LOCAL_ARM_MODE := arm

View file

@ -1,4 +1,4 @@
APP_MODULES := Regal_static Regal
APP_STL := stlport_static
APP_STL := gnustl_shared

36
build/apitrace.inc Normal file
View file

@ -0,0 +1,36 @@
# apitrace.inc
#
# Generic gnumake .inc for building apitrace support into Regal
#
# apitrace sources
APITRACE.CXX += src/apitrace/common/os_posix.cpp
APITRACE.CXX += src/apitrace/common/trace_callset.cpp
APITRACE.CXX += src/apitrace/common/trace_dump.cpp
APITRACE.CXX += src/apitrace/common/trace_file_read.cpp
APITRACE.CXX += src/apitrace/common/trace_file_snappy.cpp
APITRACE.CXX += src/apitrace/common/trace_file_write.cpp
APITRACE.CXX += src/apitrace/common/trace_file_zlib.cpp
APITRACE.CXX += src/apitrace/common/trace_file.cpp
APITRACE.CXX += src/apitrace/common/trace_loader.cpp
APITRACE.CXX += src/apitrace/common/trace_model.cpp
APITRACE.CXX += src/apitrace/common/trace_option.cpp
APITRACE.CXX += src/apitrace/common/trace_parser_flags.cpp
APITRACE.CXX += src/apitrace/common/trace_parser.cpp
APITRACE.CXX += src/apitrace/common/trace_profiler.cpp
APITRACE.CXX += src/apitrace/common/trace_writer_local.cpp
APITRACE.CXX += src/apitrace/common/trace_writer_model.cpp
APITRACE.CXX += src/apitrace/common/trace_writer.cpp
APITRACE.CXX += src/apitrace/dispatch/glproc_egl.cpp
APITRACE.CXX += src/apitrace/dispatch/glproc_gl.cpp
APITRACE.CXX += src/apitrace/gen/wrappers/regaltrace.cpp
APITRACE.CXX += src/apitrace/helpers/eglsize.cpp
APITRACE.CXX += src/apitrace/wrappers/glcaps.cpp
APITRACE.CXX += src/apitrace/wrappers/gltrace_state.cpp
APITRACE.CXX += src/apitrace/wrappers/trace.cpp
# APITRACE.CXX += src/apitrace/thirdparty/snappy/snappy-c.cc
# APITRACE.CXX += src/apitrace/thirdparty/snappy/snappy-sinksource.cpp
# APITRACE.CXX += src/apitrace/thirdparty/snappy/snappy.cc

202
build/freetype.inc Normal file
View file

@ -0,0 +1,202 @@
# freetype.inc
#
# Generic gnumake .inc for building freetype support into Regal
# http://www.freetype.org/
#
# freetype sources
FREETYPE.C += src/freetype/src/raster/rastpic.c
FREETYPE.C += src/freetype/src/raster/ftrend1.c
FREETYPE.C += src/freetype/src/raster/ftraster.c
FREETYPE.C += src/freetype/src/raster/raster.c
FREETYPE.C += src/freetype/src/cache/ftcache.c
# FREETYPE.C += src/freetype/src/cache/ftcbasic.c
# FREETYPE.C += src/freetype/src/cache/ftcmanag.c
# FREETYPE.C += src/freetype/src/cache/ftcsbits.c
# FREETYPE.C += src/freetype/src/cache/ftcglyph.c
# FREETYPE.C += src/freetype/src/cache/ftcmru.c
# FREETYPE.C += src/freetype/src/cache/ftccache.c
# FREETYPE.C += src/freetype/src/cache/ftcimage.c
# FREETYPE.C += src/freetype/src/cache/ftccmap.c
FREETYPE.C += src/freetype/src/sfnt/sfdriver.c
FREETYPE.C += src/freetype/src/sfnt/ttload.c
FREETYPE.C += src/freetype/src/sfnt/ttbdf.c
FREETYPE.C += src/freetype/src/sfnt/sfntpic.c
FREETYPE.C += src/freetype/src/sfnt/ttkern.c
FREETYPE.C += src/freetype/src/sfnt/sfobjs.c
#FREETYPE.C += src/freetype/src/sfnt/ttsbit0.c
FREETYPE.C += src/freetype/src/sfnt/ttmtx.c
FREETYPE.C += src/freetype/src/sfnt/ttcmap.c
FREETYPE.C += src/freetype/src/sfnt/ttsbit.c
FREETYPE.C += src/freetype/src/sfnt/sfnt.c
FREETYPE.C += src/freetype/src/sfnt/ttpost.c
FREETYPE.C += src/freetype/src/gxvalid/gxvcommn.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmort2.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmorx5.c
FREETYPE.C += src/freetype/src/gxvalid/gxvfgen.c
FREETYPE.C += src/freetype/src/gxvalid/gxvopbd.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmorx2.c
FREETYPE.C += src/freetype/src/gxvalid/gxvalid.c
FREETYPE.C += src/freetype/src/gxvalid/gxvfeat.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmorx0.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmort5.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmorx4.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmorx.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmort4.c
FREETYPE.C += src/freetype/src/gxvalid/gxvbsln.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmort1.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmod.c
FREETYPE.C += src/freetype/src/gxvalid/gxvtrak.c
FREETYPE.C += src/freetype/src/gxvalid/gxvlcar.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmort.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmorx1.c
FREETYPE.C += src/freetype/src/gxvalid/gxvprop.c
FREETYPE.C += src/freetype/src/gxvalid/gxvmort0.c
FREETYPE.C += src/freetype/src/gxvalid/gxvjust.c
FREETYPE.C += src/freetype/src/gxvalid/gxvkern.c
FREETYPE.C += src/freetype/src/type42/type42.c
FREETYPE.C += src/freetype/src/type42/t42objs.c
FREETYPE.C += src/freetype/src/type42/t42parse.c
FREETYPE.C += src/freetype/src/type42/t42drivr.c
FREETYPE.C += src/freetype/src/type1/type1.c
FREETYPE.C += src/freetype/src/type1/t1load.c
FREETYPE.C += src/freetype/src/type1/t1objs.c
FREETYPE.C += src/freetype/src/type1/t1driver.c
FREETYPE.C += src/freetype/src/type1/t1gload.c
FREETYPE.C += src/freetype/src/type1/t1parse.c
FREETYPE.C += src/freetype/src/type1/t1afm.c
FREETYPE.C += src/freetype/src/pcf/pcfread.c
FREETYPE.C += src/freetype/src/pcf/pcfutil.c
FREETYPE.C += src/freetype/src/pcf/pcfdrivr.c
FREETYPE.C += src/freetype/src/pcf/pcf.c
# FREETYPE.C += src/freetype/src/gzip/inflate.c
# FREETYPE.C += src/freetype/src/gzip/inftrees.c
FREETYPE.C += src/freetype/src/gzip/ftgzip.c
# FREETYPE.C += src/freetype/src/gzip/infcodes.c
# FREETYPE.C += src/freetype/src/gzip/infblock.c
# FREETYPE.C += src/freetype/src/gzip/infutil.c
# FREETYPE.C += src/freetype/src/gzip/adler32.c
# FREETYPE.C += src/freetype/src/gzip/zutil.c
FREETYPE.C += src/freetype/src/otvalid/otvgsub.c
FREETYPE.C += src/freetype/src/otvalid/otvalid.c
FREETYPE.C += src/freetype/src/otvalid/otvgpos.c
FREETYPE.C += src/freetype/src/otvalid/otvgdef.c
FREETYPE.C += src/freetype/src/otvalid/otvcommn.c
FREETYPE.C += src/freetype/src/otvalid/otvjstf.c
FREETYPE.C += src/freetype/src/otvalid/otvbase.c
FREETYPE.C += src/freetype/src/otvalid/otvmod.c
FREETYPE.C += src/freetype/src/otvalid/otvmath.c
FREETYPE.C += src/freetype/src/pfr/pfr.c
FREETYPE.C += src/freetype/src/pfr/pfrcmap.c
FREETYPE.C += src/freetype/src/pfr/pfrobjs.c
FREETYPE.C += src/freetype/src/pfr/pfrdrivr.c
FREETYPE.C += src/freetype/src/pfr/pfrsbit.c
FREETYPE.C += src/freetype/src/pfr/pfrload.c
FREETYPE.C += src/freetype/src/pfr/pfrgload.c
FREETYPE.C += src/freetype/src/base/ftoutln.c
FREETYPE.C += src/freetype/src/base/ftsnames.c
FREETYPE.C += src/freetype/src/base/ftrfork.c
FREETYPE.C += src/freetype/src/base/ftmm.c
FREETYPE.C += src/freetype/src/base/ftstream.c
FREETYPE.C += src/freetype/src/base/ftinit.c
FREETYPE.C += src/freetype/src/base/ftgxval.c
FREETYPE.C += src/freetype/src/base/ftlcdfil.c
FREETYPE.C += src/freetype/src/base/ftpatent.c
FREETYPE.C += src/freetype/src/base/ftutil.c
FREETYPE.C += src/freetype/src/base/basepic.c
FREETYPE.C += src/freetype/src/base/ftsynth.c
FREETYPE.C += src/freetype/src/base/ftgasp.c
FREETYPE.C += src/freetype/src/base/ftbitmap.c
FREETYPE.C += src/freetype/src/base/fttrigon.c
FREETYPE.C += src/freetype/src/base/ftdebug.c
FREETYPE.C += src/freetype/src/base/ftpfr.c
FREETYPE.C += src/freetype/src/base/ftwinfnt.c
FREETYPE.C += src/freetype/src/base/ftapi.c
FREETYPE.C += src/freetype/src/base/ftbbox.c
FREETYPE.C += src/freetype/src/base/ftxf86.c
#FREETYPE.C += src/freetype/src/base/ftbase.c
FREETYPE.C += src/freetype/src/base/ftfstype.c
FREETYPE.C += src/freetype/src/base/ftstroke.c
FREETYPE.C += src/freetype/src/base/ftsystem.c
FREETYPE.C += src/freetype/src/base/ftcid.c
FREETYPE.C += src/freetype/src/base/ftcalc.c
FREETYPE.C += src/freetype/src/base/ftobjs.c
FREETYPE.C += src/freetype/src/base/ftadvanc.c
FREETYPE.C += src/freetype/src/base/fttype1.c
FREETYPE.C += src/freetype/src/base/ftpic.c
FREETYPE.C += src/freetype/src/base/ftglyph.c
FREETYPE.C += src/freetype/src/base/ftbdf.c
FREETYPE.C += src/freetype/src/base/ftgloadr.c
FREETYPE.C += src/freetype/src/base/ftotval.c
FREETYPE.C += src/freetype/src/base/ftdbgmem.c
FREETYPE.C += src/freetype/src/psnames/psmodule.c
FREETYPE.C += src/freetype/src/psnames/pspic.c
FREETYPE.C += src/freetype/src/psnames/psnames.c
FREETYPE.C += src/freetype/src/cff/cffgload.c
FREETYPE.C += src/freetype/src/cff/cffparse.c
FREETYPE.C += src/freetype/src/cff/cffdrivr.c
FREETYPE.C += src/freetype/src/cff/cffpic.c
#FREETYPE.C += src/freetype/src/cff/cff.c
FREETYPE.C += src/freetype/src/cff/cffcmap.c
FREETYPE.C += src/freetype/src/cff/cffload.c
FREETYPE.C += src/freetype/src/cff/cffobjs.c
FREETYPE.C += src/freetype/src/truetype/ttgxvar.c
FREETYPE.C += src/freetype/src/truetype/ttinterp.c
FREETYPE.C += src/freetype/src/truetype/ttobjs.c
FREETYPE.C += src/freetype/src/truetype/truetype.c
FREETYPE.C += src/freetype/src/truetype/ttpic.c
FREETYPE.C += src/freetype/src/truetype/ttdriver.c
FREETYPE.C += src/freetype/src/truetype/ttpload.c
FREETYPE.C += src/freetype/src/truetype/ttgload.c
#FREETYPE.C += src/freetype/src/pshinter/pshmod.c
FREETYPE.C += src/freetype/src/pshinter/pshinter.c
FREETYPE.C += src/freetype/src/pshinter/pshrec.c
FREETYPE.C += src/freetype/src/pshinter/pshglob.c
FREETYPE.C += src/freetype/src/pshinter/pshalgo.c
FREETYPE.C += src/freetype/src/pshinter/pshpic.c
# FREETYPE.C += src/freetype/src/smooth/ftgrays.c
# FREETYPE.C += src/freetype/src/smooth/ftspic.c
FREETYPE.C += src/freetype/src/smooth/smooth.c
# FREETYPE.C += src/freetype/src/smooth/ftsmooth.c
FREETYPE.C += src/freetype/src/cid/cidload.c
FREETYPE.C += src/freetype/src/cid/type1cid.c
FREETYPE.C += src/freetype/src/cid/cidriver.c
FREETYPE.C += src/freetype/src/cid/cidparse.c
FREETYPE.C += src/freetype/src/cid/cidgload.c
FREETYPE.C += src/freetype/src/cid/cidobjs.c
FREETYPE.C += src/freetype/src/winfonts/winfnt.c
# FREETYPE.C += src/freetype/src/tools/ftrandom/ftrandom.c
# FREETYPE.C += src/freetype/src/tools/test_bbox.c
# FREETYPE.C += src/freetype/src/tools/test_trig.c
# FREETYPE.C += src/freetype/src/tools/test_afm.c
# FREETYPE.C += src/freetype/src/tools/apinames.c
FREETYPE.C += src/freetype/src/psaux/afmparse.c
FREETYPE.C += src/freetype/src/psaux/psaux.c
FREETYPE.C += src/freetype/src/psaux/t1cmap.c
FREETYPE.C += src/freetype/src/psaux/psobjs.c
FREETYPE.C += src/freetype/src/psaux/psconv.c
FREETYPE.C += src/freetype/src/psaux/psauxmod.c
FREETYPE.C += src/freetype/src/psaux/t1decode.c
FREETYPE.C += src/freetype/src/lzw/ftzopen.c
FREETYPE.C += src/freetype/src/lzw/ftlzw.c
FREETYPE.C += src/freetype/src/bdf/bdfdrivr.c
FREETYPE.C += src/freetype/src/bdf/bdf.c
FREETYPE.C += src/freetype/src/bdf/bdflib.c
# FREETYPE.C += src/freetype/src/autofit/afcjk.c
# FREETYPE.C += src/freetype/src/autofit/aflatin2.c
# FREETYPE.C += src/freetype/src/autofit/aflatin.c
# FREETYPE.C += src/freetype/src/autofit/afwarp.c
# FREETYPE.C += src/freetype/src/autofit/afangles.c
# FREETYPE.C += src/freetype/src/autofit/afpic.c
# FREETYPE.C += src/freetype/src/autofit/afhints.c
FREETYPE.C += src/freetype/src/autofit/autofit.c
# FREETYPE.C += src/freetype/src/autofit/afglobal.c
# FREETYPE.C += src/freetype/src/autofit/afloader.c
# FREETYPE.C += src/freetype/src/autofit/afdummy.c
# FREETYPE.C += src/freetype/src/autofit/afindic.c
# FREETYPE.C += src/freetype/src/autofit/afmodule.c
FREETYPE.H :=
FREETYPE.H.OTHER :=

View file

@ -102,6 +102,15 @@
BCBEC6F9167AD69D00B38E16 /* RegalSharedPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBEC6F1167AD69D00B38E16 /* RegalSharedPtr.h */; };
BCBEC6FA167AD69D00B38E16 /* RegalSo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC6F2167AD69D00B38E16 /* RegalSo.cpp */; };
BCBEC6FB167AD69D00B38E16 /* RegalSo.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBEC6F3167AD69D00B38E16 /* RegalSo.h */; };
BCBF184A175EBB3000CB653A /* RegalDispatcherGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1841175EBB3000CB653A /* RegalDispatcherGL.cpp */; };
BCBF184B175EBB3000CB653A /* RegalDispatcherGL.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1842175EBB3000CB653A /* RegalDispatcherGL.h */; };
BCBF184C175EBB3000CB653A /* RegalDispatcherGlobal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1843175EBB3000CB653A /* RegalDispatcherGlobal.cpp */; };
BCBF184D175EBB3000CB653A /* RegalDispatcherGlobal.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1844175EBB3000CB653A /* RegalDispatcherGlobal.h */; };
BCBF184E175EBB3000CB653A /* RegalDispatchStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1845175EBB3000CB653A /* RegalDispatchStatistics.cpp */; };
BCBF184F175EBB3000CB653A /* RegalDispatchTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1846175EBB3000CB653A /* RegalDispatchTrace.cpp */; };
BCBF1850175EBB3000CB653A /* RegalPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1847175EBB3000CB653A /* RegalPlugin.cpp */; };
BCBF1851175EBB3000CB653A /* RegalStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1848175EBB3000CB653A /* RegalStatistics.cpp */; };
BCBF1852175EBB3000CB653A /* RegalStatistics.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1849175EBB3000CB653A /* RegalStatistics.h */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@ -204,6 +213,15 @@
BCBEC6F1167AD69D00B38E16 /* RegalSharedPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalSharedPtr.h; path = ../../../src/regal/RegalSharedPtr.h; sourceTree = "<group>"; };
BCBEC6F2167AD69D00B38E16 /* RegalSo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalSo.cpp; path = ../../../src/regal/RegalSo.cpp; sourceTree = "<group>"; };
BCBEC6F3167AD69D00B38E16 /* RegalSo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalSo.h; path = ../../../src/regal/RegalSo.h; sourceTree = "<group>"; };
BCBF1841175EBB3000CB653A /* RegalDispatcherGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatcherGL.cpp; path = ../../../src/regal/RegalDispatcherGL.cpp; sourceTree = "<group>"; };
BCBF1842175EBB3000CB653A /* RegalDispatcherGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDispatcherGL.h; path = ../../../src/regal/RegalDispatcherGL.h; sourceTree = "<group>"; };
BCBF1843175EBB3000CB653A /* RegalDispatcherGlobal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatcherGlobal.cpp; path = ../../../src/regal/RegalDispatcherGlobal.cpp; sourceTree = "<group>"; };
BCBF1844175EBB3000CB653A /* RegalDispatcherGlobal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDispatcherGlobal.h; path = ../../../src/regal/RegalDispatcherGlobal.h; sourceTree = "<group>"; };
BCBF1845175EBB3000CB653A /* RegalDispatchStatistics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchStatistics.cpp; path = ../../../src/regal/RegalDispatchStatistics.cpp; sourceTree = "<group>"; };
BCBF1846175EBB3000CB653A /* RegalDispatchTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchTrace.cpp; path = ../../../src/regal/RegalDispatchTrace.cpp; sourceTree = "<group>"; };
BCBF1847175EBB3000CB653A /* RegalPlugin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalPlugin.cpp; path = ../../../src/regal/RegalPlugin.cpp; sourceTree = "<group>"; };
BCBF1848175EBB3000CB653A /* RegalStatistics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalStatistics.cpp; path = ../../../src/regal/RegalStatistics.cpp; sourceTree = "<group>"; };
BCBF1849175EBB3000CB653A /* RegalStatistics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalStatistics.h; path = ../../../src/regal/RegalStatistics.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -246,32 +264,11 @@
43FC5F4A15C4617A00D0177C /* Regal */ = {
isa = PBXGroup;
children = (
BC59F9CA174809EE004BC2AC /* RegalBaseVertex.h */,
BC59F9CB174809EE004BC2AC /* RegalMutex.h */,
BC59F9CC174809EE004BC2AC /* RegalPpca.cpp */,
BC59F9CD174809EE004BC2AC /* RegalPpca.h */,
BC59F9CE174809EE004BC2AC /* RegalRect.h */,
BC59F9CF174809EE004BC2AC /* RegalTexC.h */,
BC59F9D0174809EE004BC2AC /* RegalTexSto.h */,
BC59F9D1174809EE004BC2AC /* RegalThread.h */,
BC59F9D2174809EE004BC2AC /* RegalTimer.h */,
BC59F9D3174809EE004BC2AC /* RegalMac.h */,
BC59F9D4174809EE004BC2AC /* RegalPixelConversions.h */,
BC59F9D5174809EE004BC2AC /* RegalScopedPtr.h */,
BC59F9D6174809EE004BC2AC /* RegalXfer.h */,
BC59F9D7174809EE004BC2AC /* RegalFloat4.h */,
BC59F9D8174809EE004BC2AC /* RegalPixelConversions.cpp */,
BC59F9D9174809EE004BC2AC /* RegalTexC.cpp */,
BC59F9DA174809EE004BC2AC /* RegalXfer.cpp */,
43FC5F4B15C4619B00D0177C /* linear.h */,
BC020956160D1C65003FAB99 /* md5 */,
43FC5FA515C461A100D0177C /* mongoose */,
43EFD6F415EAADAC004080CE /* RegalDispatcher.cpp */,
43EFD6F515EAADAC004080CE /* RegalDispatcher.h */,
43EFD6F615EAADAC004080CE /* RegalDispatchStaticEGL.cpp */,
43EFD6F715EAADAC004080CE /* RegalDispatchStaticES2.cpp */,
43EFD6F815EAADAC004080CE /* RegalSystem.h */,
43FC5F4B15C4619B00D0177C /* linear.h */,
43FC5F4C15C4619B00D0177C /* Regal.cpp */,
BC59F9CA174809EE004BC2AC /* RegalBaseVertex.h */,
43FC5F4D15C4619B00D0177C /* RegalBin.h */,
BC94B98D16DFDD6D00116D55 /* RegalBreak.cpp */,
BC94B98E16DFDD6D00116D55 /* RegalBreak.h */,
@ -291,23 +288,34 @@
BCBEC6E8167AD66F00B38E16 /* RegalDispatchCode.cpp */,
43FC5F5615C4619B00D0177C /* RegalDispatchDebug.cpp */,
43FC5F5715C4619B00D0177C /* RegalDispatchEmu.cpp */,
43EFD6F415EAADAC004080CE /* RegalDispatcher.cpp */,
43EFD6F515EAADAC004080CE /* RegalDispatcher.h */,
BCBF1841175EBB3000CB653A /* RegalDispatcherGL.cpp */,
BCBF1842175EBB3000CB653A /* RegalDispatcherGL.h */,
BCBF1843175EBB3000CB653A /* RegalDispatcherGlobal.cpp */,
BCBF1844175EBB3000CB653A /* RegalDispatcherGlobal.h */,
43FC5F5815C4619B00D0177C /* RegalDispatchError.cpp */,
43FC5F5915C4619B00D0177C /* RegalDispatchError.h */,
BC6C912915EE3DC60056E4F7 /* RegalDispatchGlobal.cpp */,
43FC5F5A15C4619B00D0177C /* RegalDispatchLoader.cpp */,
43FC5F5B15C4619B00D0177C /* RegalDispatchLog.cpp */,
BC921A5C15D5624600E52C91 /* RegalDispatchMissing.cpp */,
BC921A5D15D5624600E52C91 /* RegalDispatchPpapi.cpp */,
43FC5F5B15C4619B00D0177C /* RegalDispatchLog.cpp */,
43EFD6F615EAADAC004080CE /* RegalDispatchStaticEGL.cpp */,
43EFD6F715EAADAC004080CE /* RegalDispatchStaticES2.cpp */,
BCBF1845175EBB3000CB653A /* RegalDispatchStatistics.cpp */,
BCBF1846175EBB3000CB653A /* RegalDispatchTrace.cpp */,
43FC5F5D15C4619B00D0177C /* RegalDllMain.cpp */,
43FC5F5E15C4619B00D0177C /* RegalDsa.h */,
BC640CA216554AA4007DEF69 /* RegalFrame.cpp */,
BC640CA316554AA4007DEF69 /* RegalFrame.h */,
43FC5F5F15C4619B00D0177C /* RegalEmu.h */,
4366EEEA15C9B54E00211205 /* RegalEnum.h */,
4366EEEB15C9B54E00211205 /* RegalFavicon.cpp */,
4366EEEC15C9B54E00211205 /* RegalFavicon.h */,
BC94B99116DFDDA000116D55 /* RegalFilt.cpp */,
BC94B99216DFDDA000116D55 /* RegalFilt.h */,
BC59F9D7174809EE004BC2AC /* RegalFloat4.h */,
BC640CA216554AA4007DEF69 /* RegalFrame.cpp */,
BC640CA316554AA4007DEF69 /* RegalFrame.h */,
43FC5F6015C4619B00D0177C /* RegalHelper.cpp */,
43FC5F6115C4619B00D0177C /* RegalHelper.h */,
43FC5F6215C4619B00D0177C /* RegalHttp.cpp */,
@ -324,25 +332,44 @@
43FC5F6A15C4619B00D0177C /* RegalLookup.cpp */,
43FC5F6B15C4619B00D0177C /* RegalLookup.h */,
4366EEED15C9B54E00211205 /* RegalMac.cpp */,
43FC5F6C15C4619B00D0177C /* RegalMarker.h */,
BC59F9D3174809EE004BC2AC /* RegalMac.h */,
BC020946160D1919003FAB99 /* RegalMarker.cpp */,
43FC5F6C15C4619B00D0177C /* RegalMarker.h */,
BC59F9CB174809EE004BC2AC /* RegalMutex.h */,
43FC5F6D15C4619B00D0177C /* RegalObj.h */,
BC59F9D8174809EE004BC2AC /* RegalPixelConversions.cpp */,
BC59F9D4174809EE004BC2AC /* RegalPixelConversions.h */,
BCBF1847175EBB3000CB653A /* RegalPlugin.cpp */,
43FC5F6E15C4619B00D0177C /* RegalPpa.h */,
43FC5F6F15C4619B00D0177C /* RegalPpc.h */,
BC59F9CC174809EE004BC2AC /* RegalPpca.cpp */,
BC59F9CD174809EE004BC2AC /* RegalPpca.h */,
43FC5F7015C4619B00D0177C /* RegalPrecompile.h */,
43FC5F7115C4619B00D0177C /* RegalPrivate.h */,
BCBEC6EC167AD69D00B38E16 /* RegalPush.h */,
BC59F9CE174809EE004BC2AC /* RegalRect.h */,
BC59F9D5174809EE004BC2AC /* RegalScopedPtr.h */,
BCBEC6EF167AD69D00B38E16 /* RegalSharedList.h */,
BCBEC6F0167AD69D00B38E16 /* RegalSharedMap.h */,
BCBEC6F1167AD69D00B38E16 /* RegalSharedPtr.h */,
BCBEC6F2167AD69D00B38E16 /* RegalSo.cpp */,
BCBEC6F3167AD69D00B38E16 /* RegalSo.h */,
43FC5F7215C4619B00D0177C /* RegalState.h */,
BCBF1848175EBB3000CB653A /* RegalStatistics.cpp */,
BCBF1849175EBB3000CB653A /* RegalStatistics.h */,
43EFD6F815EAADAC004080CE /* RegalSystem.h */,
BC59F9D9174809EE004BC2AC /* RegalTexC.cpp */,
BC59F9CF174809EE004BC2AC /* RegalTexC.h */,
BC59F9D0174809EE004BC2AC /* RegalTexSto.h */,
BC59F9D1174809EE004BC2AC /* RegalThread.h */,
BC59F9D2174809EE004BC2AC /* RegalTimer.h */,
43FC5F7315C4619B00D0177C /* RegalToken.cpp */,
43FC5F7415C4619B00D0177C /* RegalToken.h */,
43FC5F7515C4619B00D0177C /* RegalUtil.cpp */,
43FC5F7615C4619B00D0177C /* RegalUtil.h */,
43FC5F7715C4619B00D0177C /* RegalVao.h */,
BC59F9DA174809EE004BC2AC /* RegalXfer.cpp */,
BC59F9D6174809EE004BC2AC /* RegalXfer.h */,
);
name = Regal;
sourceTree = "<group>";
@ -423,6 +450,9 @@
BC59F9E6174809EE004BC2AC /* RegalScopedPtr.h in Headers */,
BC59F9E7174809EE004BC2AC /* RegalXfer.h in Headers */,
BC59F9E8174809EE004BC2AC /* RegalFloat4.h in Headers */,
BCBF184B175EBB3000CB653A /* RegalDispatcherGL.h in Headers */,
BCBF184D175EBB3000CB653A /* RegalDispatcherGlobal.h in Headers */,
BCBF1852175EBB3000CB653A /* RegalStatistics.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -518,6 +548,12 @@
BC59F9E9174809EE004BC2AC /* RegalPixelConversions.cpp in Sources */,
BC59F9EA174809EE004BC2AC /* RegalTexC.cpp in Sources */,
BC59F9EB174809EE004BC2AC /* RegalXfer.cpp in Sources */,
BCBF184A175EBB3000CB653A /* RegalDispatcherGL.cpp in Sources */,
BCBF184C175EBB3000CB653A /* RegalDispatcherGlobal.cpp in Sources */,
BCBF184E175EBB3000CB653A /* RegalDispatchStatistics.cpp in Sources */,
BCBF184F175EBB3000CB653A /* RegalDispatchTrace.cpp in Sources */,
BCBF1850175EBB3000CB653A /* RegalPlugin.cpp in Sources */,
BCBF1851175EBB3000CB653A /* RegalStatistics.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View file

@ -97,6 +97,20 @@
BCBEC70E167AD72700B38E16 /* RegalSo.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBEC706167AD72700B38E16 /* RegalSo.h */; };
BCBEC712167AD74400B38E16 /* RegalDispatchCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC710167AD74400B38E16 /* RegalDispatchCache.cpp */; };
BCBEC713167AD74400B38E16 /* RegalDispatchCode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBEC711167AD74400B38E16 /* RegalDispatchCode.cpp */; };
BCBF1827175EB40600CB653A /* RegalDispatcherGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1823175EB40600CB653A /* RegalDispatcherGL.cpp */; };
BCBF1828175EB40600CB653A /* RegalDispatcherGL.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1824175EB40600CB653A /* RegalDispatcherGL.h */; };
BCBF1829175EB40600CB653A /* RegalDispatcherGlobal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1825175EB40600CB653A /* RegalDispatcherGlobal.cpp */; };
BCBF182A175EB40600CB653A /* RegalDispatcherGlobal.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1826175EB40600CB653A /* RegalDispatcherGlobal.h */; };
BCBF182D175EB46800CB653A /* RegalStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF182B175EB46800CB653A /* RegalStatistics.cpp */; };
BCBF182E175EB46800CB653A /* RegalStatistics.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF182C175EB46800CB653A /* RegalStatistics.h */; };
BCBF1837175EB49D00CB653A /* RegalBaseVertex.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF182F175EB49D00CB653A /* RegalBaseVertex.h */; };
BCBF1838175EB49D00CB653A /* RegalClientState.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1830175EB49D00CB653A /* RegalClientState.h */; };
BCBF1839175EB49D00CB653A /* RegalDispatchStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1831175EB49D00CB653A /* RegalDispatchStatistics.cpp */; };
BCBF183A175EB49D00CB653A /* RegalDispatchTrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1832175EB49D00CB653A /* RegalDispatchTrace.cpp */; };
BCBF183B175EB49D00CB653A /* RegalFloat4.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1833175EB49D00CB653A /* RegalFloat4.h */; };
BCBF183C175EB49D00CB653A /* RegalMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1834175EB49D00CB653A /* RegalMutex.h */; };
BCBF183D175EB49D00CB653A /* RegalPlugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBF1835175EB49D00CB653A /* RegalPlugin.cpp */; };
BCBF183E175EB49D00CB653A /* RegalRect.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBF1836175EB49D00CB653A /* RegalRect.h */; };
BCF889A715E079C20093B7D5 /* RegalDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A515E079C20093B7D5 /* RegalDispatcher.cpp */; };
BCF889A815E079C20093B7D5 /* RegalDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF889A615E079C20093B7D5 /* RegalDispatcher.h */; };
BCF889AA15E079D80093B7D5 /* RegalDispatchStaticES2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCF889A915E079D80093B7D5 /* RegalDispatchStaticES2.cpp */; };
@ -196,6 +210,20 @@
BCBEC706167AD72700B38E16 /* RegalSo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalSo.h; path = ../../../src/regal/RegalSo.h; sourceTree = "<group>"; };
BCBEC710167AD74400B38E16 /* RegalDispatchCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchCache.cpp; path = ../../../src/regal/RegalDispatchCache.cpp; sourceTree = "<group>"; };
BCBEC711167AD74400B38E16 /* RegalDispatchCode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchCode.cpp; path = ../../../src/regal/RegalDispatchCode.cpp; sourceTree = "<group>"; };
BCBF1823175EB40600CB653A /* RegalDispatcherGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatcherGL.cpp; path = ../../../src/regal/RegalDispatcherGL.cpp; sourceTree = "<group>"; };
BCBF1824175EB40600CB653A /* RegalDispatcherGL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDispatcherGL.h; path = ../../../src/regal/RegalDispatcherGL.h; sourceTree = "<group>"; };
BCBF1825175EB40600CB653A /* RegalDispatcherGlobal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatcherGlobal.cpp; path = ../../../src/regal/RegalDispatcherGlobal.cpp; sourceTree = "<group>"; };
BCBF1826175EB40600CB653A /* RegalDispatcherGlobal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDispatcherGlobal.h; path = ../../../src/regal/RegalDispatcherGlobal.h; sourceTree = "<group>"; };
BCBF182B175EB46800CB653A /* RegalStatistics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalStatistics.cpp; path = ../../../src/regal/RegalStatistics.cpp; sourceTree = "<group>"; };
BCBF182C175EB46800CB653A /* RegalStatistics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalStatistics.h; path = ../../../src/regal/RegalStatistics.h; sourceTree = "<group>"; };
BCBF182F175EB49D00CB653A /* RegalBaseVertex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalBaseVertex.h; path = ../../../src/regal/RegalBaseVertex.h; sourceTree = "<group>"; };
BCBF1830175EB49D00CB653A /* RegalClientState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalClientState.h; path = ../../../src/regal/RegalClientState.h; sourceTree = "<group>"; };
BCBF1831175EB49D00CB653A /* RegalDispatchStatistics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchStatistics.cpp; path = ../../../src/regal/RegalDispatchStatistics.cpp; sourceTree = "<group>"; };
BCBF1832175EB49D00CB653A /* RegalDispatchTrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchTrace.cpp; path = ../../../src/regal/RegalDispatchTrace.cpp; sourceTree = "<group>"; };
BCBF1833175EB49D00CB653A /* RegalFloat4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalFloat4.h; path = ../../../src/regal/RegalFloat4.h; sourceTree = "<group>"; };
BCBF1834175EB49D00CB653A /* RegalMutex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalMutex.h; path = ../../../src/regal/RegalMutex.h; sourceTree = "<group>"; };
BCBF1835175EB49D00CB653A /* RegalPlugin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalPlugin.cpp; path = ../../../src/regal/RegalPlugin.cpp; sourceTree = "<group>"; };
BCBF1836175EB49D00CB653A /* RegalRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalRect.h; path = ../../../src/regal/RegalRect.h; sourceTree = "<group>"; };
BCF889A515E079C20093B7D5 /* RegalDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatcher.cpp; path = ../../../src/regal/RegalDispatcher.cpp; sourceTree = "<group>"; };
BCF889A615E079C20093B7D5 /* RegalDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDispatcher.h; path = ../../../src/regal/RegalDispatcher.h; sourceTree = "<group>"; };
BCF889A915E079D80093B7D5 /* RegalDispatchStaticES2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalDispatchStaticES2.cpp; path = ../../../src/regal/RegalDispatchStaticES2.cpp; sourceTree = "<group>"; };
@ -224,8 +252,8 @@
43A6C1BB15C48CD90063667E = {
isa = PBXGroup;
children = (
43A6C1D015C48CFA0063667E /* Regal */,
43A6C1C715C48CD90063667E /* Products */,
43A6C1D015C48CFA0063667E /* Regal */,
);
sourceTree = "<group>";
};
@ -246,6 +274,7 @@
43A6C22C15C48D2D0063667E /* mongoose */,
43A6C1D315C48D1F0063667E /* Regal.cpp */,
438D2C3616DE6699005E03F6 /* Regal.h */,
BCBF182F175EB49D00CB653A /* RegalBaseVertex.h */,
43A6C1D415C48D1F0063667E /* RegalBin.h */,
BC94B98916DFDC6200116D55 /* RegalBreak.cpp */,
BC94B98A16DFDC6200116D55 /* RegalBreak.h */,
@ -253,6 +282,7 @@
BC3209D916F3A28900D1A9E0 /* RegalCacheShader.h */,
BC3209DA16F3A28900D1A9E0 /* RegalCacheTexture.cpp */,
BC3209DB16F3A28900D1A9E0 /* RegalCacheTexture.h */,
BCBF1830175EB49D00CB653A /* RegalClientState.h */,
43A6C1D515C48D1F0063667E /* RegalConfig.cpp */,
43A6C1D615C48D1F0063667E /* RegalConfig.h */,
43A6C1D715C48D1F0063667E /* RegalContext.cpp */,
@ -267,6 +297,10 @@
43A6C1DE15C48D1F0063667E /* RegalDispatchEmu.cpp */,
BCF889A515E079C20093B7D5 /* RegalDispatcher.cpp */,
BCF889A615E079C20093B7D5 /* RegalDispatcher.h */,
BCBF1823175EB40600CB653A /* RegalDispatcherGL.cpp */,
BCBF1824175EB40600CB653A /* RegalDispatcherGL.h */,
BCBF1825175EB40600CB653A /* RegalDispatcherGlobal.cpp */,
BCBF1826175EB40600CB653A /* RegalDispatcherGlobal.h */,
43A6C1DF15C48D1F0063667E /* RegalDispatchError.cpp */,
43A6C1E015C48D1F0063667E /* RegalDispatchError.h */,
BC6C911C15EE3CDF0056E4F7 /* RegalDispatchGlobal.cpp */,
@ -275,6 +309,8 @@
BC456F1015D55F8E0080B420 /* RegalDispatchMissing.cpp */,
BC456F1115D55F8E0080B420 /* RegalDispatchPpapi.cpp */,
BCF889A915E079D80093B7D5 /* RegalDispatchStaticES2.cpp */,
BCBF1831175EB49D00CB653A /* RegalDispatchStatistics.cpp */,
BCBF1832175EB49D00CB653A /* RegalDispatchTrace.cpp */,
43A6C1E415C48D1F0063667E /* RegalDllMain.cpp */,
43A6C1E515C48D1F0063667E /* RegalDsa.h */,
43A6C1E615C48D200063667E /* RegalEmu.h */,
@ -283,6 +319,7 @@
431D3C0B15C9B6F0009DD04F /* RegalFavicon.h */,
BC94B99516DFDF1F00116D55 /* RegalFilt.cpp */,
BC94B99616DFDF1F00116D55 /* RegalFilt.h */,
BCBF1833175EB49D00CB653A /* RegalFloat4.h */,
BC640C9A16554A52007DEF69 /* RegalFrame.cpp */,
BC640C9B16554A52007DEF69 /* RegalFrame.h */,
43A6C1E715C48D200063667E /* RegalHelper.cpp */,
@ -294,8 +331,8 @@
43A6C1ED15C48D200063667E /* RegalInit.cpp */,
43A6C1EE15C48D200063667E /* RegalInit.h */,
438D2C1F16DE668A005E03F6 /* RegalJson.cpp */,
436E18CA17020027005BE93E /* RegalJson.inl */,
BC60A6B117032F1A0055437B /* RegalJson.h */,
436E18CA17020027005BE93E /* RegalJson.inl */,
43A6C1EF15C48D200063667E /* RegalLog.cpp */,
43A6C1F015C48D200063667E /* RegalLog.h */,
43A6C1F115C48D200063667E /* RegalLookup.cpp */,
@ -304,10 +341,12 @@
430443F216F1658F0078C0F9 /* RegalMac.h */,
BC02094D160D1BA3003FAB99 /* RegalMarker.cpp */,
43A6C1F315C48D200063667E /* RegalMarker.h */,
BCBF1834175EB49D00CB653A /* RegalMutex.h */,
43A6C1F415C48D200063667E /* RegalObj.h */,
438D2C2116DE668A005E03F6 /* RegalPixelConversions.cpp */,
438D2C2216DE668A005E03F6 /* RegalPixelConversions.h */,
438D2C2316DE668A005E03F6 /* RegalPixelConversions.inl */,
BCBF1835175EB49D00CB653A /* RegalPlugin.cpp */,
43A6C1F515C48D200063667E /* RegalPpa.h */,
43A6C1F615C48D200063667E /* RegalPpc.h */,
438D2C2416DE668A005E03F6 /* RegalPpca.cpp */,
@ -315,6 +354,7 @@
43A6C1F715C48D200063667E /* RegalPrecompile.h */,
43A6C1F815C48D200063667E /* RegalPrivate.h */,
BCBEC6FF167AD72700B38E16 /* RegalPush.h */,
BCBF1836175EB49D00CB653A /* RegalRect.h */,
430443F316F1658F0078C0F9 /* RegalScopedPtr.h */,
BCBEC702167AD72700B38E16 /* RegalSharedList.h */,
BCBEC703167AD72700B38E16 /* RegalSharedMap.h */,
@ -322,6 +362,8 @@
BCBEC705167AD72700B38E16 /* RegalSo.cpp */,
BCBEC706167AD72700B38E16 /* RegalSo.h */,
43A6C1F915C48D200063667E /* RegalState.h */,
BCBF182B175EB46800CB653A /* RegalStatistics.cpp */,
BCBF182C175EB46800CB653A /* RegalStatistics.h */,
438D2C2616DE668A005E03F6 /* RegalSystem.h */,
438D2C2716DE668A005E03F6 /* RegalTexC.cpp */,
438D2C2816DE668A005E03F6 /* RegalTexC.h */,
@ -412,6 +454,14 @@
BC3209DF16F3A28900D1A9E0 /* RegalCacheTexture.h in Headers */,
436E18CF17020093005BE93E /* jsonsl.h in Headers */,
BC60A6B217032F1A0055437B /* RegalJson.h in Headers */,
BCBF1828175EB40600CB653A /* RegalDispatcherGL.h in Headers */,
BCBF182A175EB40600CB653A /* RegalDispatcherGlobal.h in Headers */,
BCBF182E175EB46800CB653A /* RegalStatistics.h in Headers */,
BCBF1837175EB49D00CB653A /* RegalBaseVertex.h in Headers */,
BCBF1838175EB49D00CB653A /* RegalClientState.h in Headers */,
BCBF183B175EB49D00CB653A /* RegalFloat4.h in Headers */,
BCBF183C175EB49D00CB653A /* RegalMutex.h in Headers */,
BCBF183E175EB49D00CB653A /* RegalRect.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -508,6 +558,12 @@
BC3209DC16F3A28900D1A9E0 /* RegalCacheShader.cpp in Sources */,
BC3209DE16F3A28900D1A9E0 /* RegalCacheTexture.cpp in Sources */,
436E18CE17020093005BE93E /* jsonsl.c in Sources */,
BCBF1827175EB40600CB653A /* RegalDispatcherGL.cpp in Sources */,
BCBF1829175EB40600CB653A /* RegalDispatcherGlobal.cpp in Sources */,
BCBF182D175EB46800CB653A /* RegalStatistics.cpp in Sources */,
BCBF1839175EB49D00CB653A /* RegalDispatchStatistics.cpp in Sources */,
BCBF183A175EB49D00CB653A /* RegalDispatchTrace.cpp in Sources */,
BCBF183D175EB49D00CB653A /* RegalPlugin.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View file

@ -26,6 +26,8 @@ REGAL.CXX += src/regal/RegalPlugin.cpp
REGAL.CXX += src/regal/RegalToken.cpp
REGAL.CXX += src/regal/RegalDispatchGlobal.cpp
REGAL.CXX += src/regal/RegalDispatcher.cpp
REGAL.CXX += src/regal/RegalDispatcherGL.cpp
REGAL.CXX += src/regal/RegalDispatcherGlobal.cpp
REGAL.CXX += src/regal/RegalDispatchEmu.cpp
REGAL.CXX += src/regal/RegalDispatchLog.cpp
REGAL.CXX += src/regal/RegalDispatchCode.cpp
@ -37,6 +39,7 @@ REGAL.CXX += src/regal/RegalDispatchPpapi.cpp
REGAL.CXX += src/regal/RegalDispatchStatistics.cpp
REGAL.CXX += src/regal/RegalDispatchStaticES2.cpp
REGAL.CXX += src/regal/RegalDispatchStaticEGL.cpp
REGAL.CXX += src/regal/RegalDispatchTrace.cpp
REGAL.CXX += src/regal/RegalDispatchMissing.cpp
REGAL.CXX += src/regal/RegalPixelConversions.cpp
REGAL.CXX += src/regal/RegalHttp.cpp
@ -63,6 +66,8 @@ REGAL.H += src/regal/RegalDebugInfo.h
REGAL.H += src/regal/RegalDispatch.h
REGAL.H += src/regal/RegalDispatchError.h
REGAL.H += src/regal/RegalDispatcher.h
REGAL.H += src/regal/RegalDispatcherGL.h
REGAL.H += src/regal/RegalDispatcherGlobal.h
REGAL.H += src/regal/RegalDsa.h
REGAL.H += src/regal/RegalEmu.h
REGAL.H += src/regal/RegalEnum.h

View file

@ -0,0 +1,356 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regal", "Regal.vcxproj", "{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}"
ProjectSection(ProjectDependencies) = postProject
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regallib", "Regallib.vcxproj", "{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalm", "Regalm.vcxproj", "{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}"
ProjectSection(ProjectDependencies) = postProject
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalmlib", "Regalmlib.vcxproj", "{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "mongooselib", "mongooselib.vcxproj", "{256E64B8-F766-061C-45F8-25B51B7CA24E}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "md5lib", "md5lib.vcxproj", "{EF516F6A-1965-7089-C2CA-65778D394F08}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "zlib", "zlib.vcxproj", "{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pnglib", "pnglib.vcxproj", "{9C419167-D705-A241-8927-763A6F9A5016}"
ProjectSection(ProjectDependencies) = postProject
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "squishlib", "squishlib.vcxproj", "{27193EF0-3CCB-8553-C48A-271082615A64}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalglu", "Regalglu.vcxproj", "{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}"
ProjectSection(ProjectDependencies) = postProject
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {6B2786AC-DF6B-8B13-DE42-875D8D9194D9}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalglulib", "Regalglulib.vcxproj", "{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalglut", "Regalglut.vcxproj", "{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}"
ProjectSection(ProjectDependencies) = postProject
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {6B2786AC-DF6B-8B13-DE42-875D8D9194D9}
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32} = {2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalglutlib", "Regalglutlib.vcxproj", "{476C0BD6-57F1-93F9-0E06-2E90D934A88F}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalglew", "Regalglew.vcxproj", "{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}"
ProjectSection(ProjectDependencies) = postProject
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {6B2786AC-DF6B-8B13-DE42-875D8D9194D9}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalglewlib", "Regalglewlib.vcxproj", "{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "z", "z.vcxproj", "{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "png", "png.vcxproj", "{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}"
ProjectSection(ProjectDependencies) = postProject
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7} = {C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus", "dreamtorus.vcxproj", "{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}"
ProjectSection(ProjectDependencies) = postProject
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {6B2786AC-DF6B-8B13-DE42-875D8D9194D9}
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32} = {2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E} = {D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "tiger", "tiger.vcxproj", "{CC6D2AA2-765F-3405-4DF6-DC537EE16992}"
ProjectSection(ProjectDependencies) = postProject
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {6B2786AC-DF6B-8B13-DE42-875D8D9194D9}
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32} = {2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E} = {D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F} = {D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus_static", "dreamtorus_static.vcxproj", "{4279720C-503C-C9A3-8714-4E88F1D2B1E0}"
ProjectSection(ProjectDependencies) = postProject
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18} = {863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA} = {70EF5244-5141-EC9E-11A6-7B6DD126FFFA}
{476C0BD6-57F1-93F9-0E06-2E90D934A88F} = {476C0BD6-57F1-93F9-0E06-2E90D934A88F}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus_win32", "dreamtorus_win32.vcxproj", "{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}"
ProjectSection(ProjectDependencies) = postProject
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {6B2786AC-DF6B-8B13-DE42-875D8D9194D9}
EndProjectSection
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Regal", "Regal", "{E5C5BB03-8E38-94D5-C4F7-7A59153EF8F2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{FF7C0FCD-6A31-E735-A61C-001F75426961}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}.Debug|Win32.Build.0 = Debug|Win32
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}.Debug|Win32.ActiveCfg = Debug|Win32
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}.Debug|x64.Build.0 = Debug|x64
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}.Debug|x64.ActiveCfg = Debug|x64
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}.Release|Win32.Build.0 = Release|Win32
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}.Release|Win32.ActiveCfg = Release|Win32
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}.Release|x64.Build.0 = Release|x64
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9}.Release|x64.ActiveCfg = Release|x64
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}.Debug|Win32.Build.0 = Debug|Win32
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}.Debug|Win32.ActiveCfg = Debug|Win32
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}.Debug|x64.Build.0 = Debug|x64
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}.Debug|x64.ActiveCfg = Debug|x64
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}.Release|Win32.Build.0 = Release|Win32
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}.Release|Win32.ActiveCfg = Release|Win32
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}.Release|x64.Build.0 = Release|x64
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}.Release|x64.ActiveCfg = Release|x64
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}.Debug|Win32.Build.0 = Debug|Win32
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}.Debug|Win32.ActiveCfg = Debug|Win32
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}.Debug|x64.Build.0 = Debug|x64
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}.Debug|x64.ActiveCfg = Debug|x64
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}.Release|Win32.Build.0 = Release|Win32
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}.Release|Win32.ActiveCfg = Release|Win32
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}.Release|x64.Build.0 = Release|x64
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C}.Release|x64.ActiveCfg = Release|x64
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}.Debug|Win32.Build.0 = Debug|Win32
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}.Debug|Win32.ActiveCfg = Debug|Win32
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}.Debug|x64.Build.0 = Debug|x64
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}.Debug|x64.ActiveCfg = Debug|x64
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}.Release|Win32.Build.0 = Release|Win32
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}.Release|Win32.ActiveCfg = Release|Win32
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}.Release|x64.Build.0 = Release|x64
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}.Release|x64.ActiveCfg = Release|x64
{256E64B8-F766-061C-45F8-25B51B7CA24E}.Debug|Win32.Build.0 = Debug|Win32
{256E64B8-F766-061C-45F8-25B51B7CA24E}.Debug|Win32.ActiveCfg = Debug|Win32
{256E64B8-F766-061C-45F8-25B51B7CA24E}.Debug|x64.Build.0 = Debug|x64
{256E64B8-F766-061C-45F8-25B51B7CA24E}.Debug|x64.ActiveCfg = Debug|x64
{256E64B8-F766-061C-45F8-25B51B7CA24E}.Release|Win32.Build.0 = Release|Win32
{256E64B8-F766-061C-45F8-25B51B7CA24E}.Release|Win32.ActiveCfg = Release|Win32
{256E64B8-F766-061C-45F8-25B51B7CA24E}.Release|x64.Build.0 = Release|x64
{256E64B8-F766-061C-45F8-25B51B7CA24E}.Release|x64.ActiveCfg = Release|x64
{EF516F6A-1965-7089-C2CA-65778D394F08}.Debug|Win32.Build.0 = Debug|Win32
{EF516F6A-1965-7089-C2CA-65778D394F08}.Debug|Win32.ActiveCfg = Debug|Win32
{EF516F6A-1965-7089-C2CA-65778D394F08}.Debug|x64.Build.0 = Debug|x64
{EF516F6A-1965-7089-C2CA-65778D394F08}.Debug|x64.ActiveCfg = Debug|x64
{EF516F6A-1965-7089-C2CA-65778D394F08}.Release|Win32.Build.0 = Release|Win32
{EF516F6A-1965-7089-C2CA-65778D394F08}.Release|Win32.ActiveCfg = Release|Win32
{EF516F6A-1965-7089-C2CA-65778D394F08}.Release|x64.Build.0 = Release|x64
{EF516F6A-1965-7089-C2CA-65778D394F08}.Release|x64.ActiveCfg = Release|x64
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}.Debug|Win32.Build.0 = Debug|Win32
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}.Debug|Win32.ActiveCfg = Debug|Win32
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}.Debug|x64.Build.0 = Debug|x64
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}.Debug|x64.ActiveCfg = Debug|x64
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}.Release|Win32.Build.0 = Release|Win32
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}.Release|Win32.ActiveCfg = Release|Win32
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}.Release|x64.Build.0 = Release|x64
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}.Release|x64.ActiveCfg = Release|x64
{9C419167-D705-A241-8927-763A6F9A5016}.Debug|Win32.Build.0 = Debug|Win32
{9C419167-D705-A241-8927-763A6F9A5016}.Debug|Win32.ActiveCfg = Debug|Win32
{9C419167-D705-A241-8927-763A6F9A5016}.Debug|x64.Build.0 = Debug|x64
{9C419167-D705-A241-8927-763A6F9A5016}.Debug|x64.ActiveCfg = Debug|x64
{9C419167-D705-A241-8927-763A6F9A5016}.Release|Win32.Build.0 = Release|Win32
{9C419167-D705-A241-8927-763A6F9A5016}.Release|Win32.ActiveCfg = Release|Win32
{9C419167-D705-A241-8927-763A6F9A5016}.Release|x64.Build.0 = Release|x64
{9C419167-D705-A241-8927-763A6F9A5016}.Release|x64.ActiveCfg = Release|x64
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.Build.0 = Debug|Win32
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|Win32.ActiveCfg = Debug|Win32
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|x64.Build.0 = Debug|x64
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Debug|x64.ActiveCfg = Debug|x64
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Release|Win32.Build.0 = Release|Win32
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Release|Win32.ActiveCfg = Release|Win32
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Release|x64.Build.0 = Release|x64
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}.Release|x64.ActiveCfg = Release|x64
{27193EF0-3CCB-8553-C48A-271082615A64}.Debug|Win32.Build.0 = Debug|Win32
{27193EF0-3CCB-8553-C48A-271082615A64}.Debug|Win32.ActiveCfg = Debug|Win32
{27193EF0-3CCB-8553-C48A-271082615A64}.Debug|x64.Build.0 = Debug|x64
{27193EF0-3CCB-8553-C48A-271082615A64}.Debug|x64.ActiveCfg = Debug|x64
{27193EF0-3CCB-8553-C48A-271082615A64}.Release|Win32.Build.0 = Release|Win32
{27193EF0-3CCB-8553-C48A-271082615A64}.Release|Win32.ActiveCfg = Release|Win32
{27193EF0-3CCB-8553-C48A-271082615A64}.Release|x64.Build.0 = Release|x64
{27193EF0-3CCB-8553-C48A-271082615A64}.Release|x64.ActiveCfg = Release|x64
{E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.Build.0 = Debug|Win32
{E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|Win32.ActiveCfg = Debug|Win32
{E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|x64.Build.0 = Debug|x64
{E3BB0211-87AF-58EF-3C65-999758F666FD}.Debug|x64.ActiveCfg = Debug|x64
{E3BB0211-87AF-58EF-3C65-999758F666FD}.Release|Win32.Build.0 = Release|Win32
{E3BB0211-87AF-58EF-3C65-999758F666FD}.Release|Win32.ActiveCfg = Release|Win32
{E3BB0211-87AF-58EF-3C65-999758F666FD}.Release|x64.Build.0 = Release|x64
{E3BB0211-87AF-58EF-3C65-999758F666FD}.Release|x64.ActiveCfg = Release|x64
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}.Debug|Win32.Build.0 = Debug|Win32
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}.Debug|Win32.ActiveCfg = Debug|Win32
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}.Debug|x64.Build.0 = Debug|x64
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}.Debug|x64.ActiveCfg = Debug|x64
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}.Release|Win32.Build.0 = Release|Win32
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}.Release|Win32.ActiveCfg = Release|Win32
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}.Release|x64.Build.0 = Release|x64
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32}.Release|x64.ActiveCfg = Release|x64
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}.Debug|Win32.Build.0 = Debug|Win32
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}.Debug|Win32.ActiveCfg = Debug|Win32
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}.Debug|x64.Build.0 = Debug|x64
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}.Debug|x64.ActiveCfg = Debug|x64
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}.Release|Win32.Build.0 = Release|Win32
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}.Release|Win32.ActiveCfg = Release|Win32
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}.Release|x64.Build.0 = Release|x64
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA}.Release|x64.ActiveCfg = Release|x64
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}.Debug|Win32.Build.0 = Debug|Win32
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}.Debug|Win32.ActiveCfg = Debug|Win32
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}.Debug|x64.Build.0 = Debug|x64
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}.Debug|x64.ActiveCfg = Debug|x64
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}.Release|Win32.Build.0 = Release|Win32
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}.Release|Win32.ActiveCfg = Release|Win32
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}.Release|x64.Build.0 = Release|x64
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}.Release|x64.ActiveCfg = Release|x64
{476C0BD6-57F1-93F9-0E06-2E90D934A88F}.Debug|Win32.Build.0 = Debug|Win32
{476C0BD6-57F1-93F9-0E06-2E90D934A88F}.Debug|Win32.ActiveCfg = Debug|Win32
{476C0BD6-57F1-93F9-0E06-2E90D934A88F}.Debug|x64.Build.0 = Debug|x64
{476C0BD6-57F1-93F9-0E06-2E90D934A88F}.Debug|x64.ActiveCfg = Debug|x64
{476C0BD6-57F1-93F9-0E06-2E90D934A88F}.Release|Win32.Build.0 = Release|Win32
{476C0BD6-57F1-93F9-0E06-2E90D934A88F}.Release|Win32.ActiveCfg = Release|Win32
{476C0BD6-57F1-93F9-0E06-2E90D934A88F}.Release|x64.Build.0 = Release|x64
{476C0BD6-57F1-93F9-0E06-2E90D934A88F}.Release|x64.ActiveCfg = Release|x64
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}.Debug|Win32.Build.0 = Debug|Win32
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}.Debug|Win32.ActiveCfg = Debug|Win32
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}.Debug|x64.Build.0 = Debug|x64
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}.Debug|x64.ActiveCfg = Debug|x64
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}.Release|Win32.Build.0 = Release|Win32
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}.Release|Win32.ActiveCfg = Release|Win32
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}.Release|x64.Build.0 = Release|x64
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F}.Release|x64.ActiveCfg = Release|x64
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}.Debug|Win32.Build.0 = Debug|Win32
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}.Debug|Win32.ActiveCfg = Debug|Win32
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}.Debug|x64.Build.0 = Debug|x64
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}.Debug|x64.ActiveCfg = Debug|x64
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}.Release|Win32.Build.0 = Release|Win32
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}.Release|Win32.ActiveCfg = Release|Win32
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}.Release|x64.Build.0 = Release|x64
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C}.Release|x64.ActiveCfg = Release|x64
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}.Debug|Win32.Build.0 = Debug|Win32
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}.Debug|Win32.ActiveCfg = Debug|Win32
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}.Debug|x64.Build.0 = Debug|x64
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}.Debug|x64.ActiveCfg = Debug|x64
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}.Release|Win32.Build.0 = Release|Win32
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}.Release|Win32.ActiveCfg = Release|Win32
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}.Release|x64.Build.0 = Release|x64
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}.Release|x64.ActiveCfg = Release|x64
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Debug|Win32.Build.0 = Debug|Win32
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Debug|Win32.ActiveCfg = Debug|Win32
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Debug|x64.Build.0 = Debug|x64
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Debug|x64.ActiveCfg = Debug|x64
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Release|Win32.Build.0 = Release|Win32
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Release|Win32.ActiveCfg = Release|Win32
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Release|x64.Build.0 = Release|x64
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3}.Release|x64.ActiveCfg = Release|x64
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Debug|Win32.Build.0 = Debug|Win32
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Debug|Win32.ActiveCfg = Debug|Win32
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Debug|x64.Build.0 = Debug|x64
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Debug|x64.ActiveCfg = Debug|x64
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|Win32.Build.0 = Release|Win32
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|Win32.ActiveCfg = Release|Win32
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|x64.Build.0 = Release|x64
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658}.Release|x64.ActiveCfg = Release|x64
{CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|Win32.Build.0 = Debug|Win32
{CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|Win32.ActiveCfg = Debug|Win32
{CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|x64.Build.0 = Debug|x64
{CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Debug|x64.ActiveCfg = Debug|x64
{CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Release|Win32.Build.0 = Release|Win32
{CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Release|Win32.ActiveCfg = Release|Win32
{CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Release|x64.Build.0 = Release|x64
{CC6D2AA2-765F-3405-4DF6-DC537EE16992}.Release|x64.ActiveCfg = Release|x64
{4279720C-503C-C9A3-8714-4E88F1D2B1E0}.Debug|Win32.Build.0 = Debug|Win32
{4279720C-503C-C9A3-8714-4E88F1D2B1E0}.Debug|Win32.ActiveCfg = Debug|Win32
{4279720C-503C-C9A3-8714-4E88F1D2B1E0}.Debug|x64.Build.0 = Debug|x64
{4279720C-503C-C9A3-8714-4E88F1D2B1E0}.Debug|x64.ActiveCfg = Debug|x64
{4279720C-503C-C9A3-8714-4E88F1D2B1E0}.Release|Win32.Build.0 = Release|Win32
{4279720C-503C-C9A3-8714-4E88F1D2B1E0}.Release|Win32.ActiveCfg = Release|Win32
{4279720C-503C-C9A3-8714-4E88F1D2B1E0}.Release|x64.Build.0 = Release|x64
{4279720C-503C-C9A3-8714-4E88F1D2B1E0}.Release|x64.ActiveCfg = Release|x64
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}.Debug|Win32.Build.0 = Debug|Win32
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}.Debug|Win32.ActiveCfg = Debug|Win32
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}.Debug|x64.Build.0 = Debug|x64
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}.Debug|x64.ActiveCfg = Debug|x64
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}.Release|Win32.Build.0 = Release|Win32
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}.Release|Win32.ActiveCfg = Release|Win32
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}.Release|x64.Build.0 = Release|x64
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1}.Release|x64.ActiveCfg = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{6B2786AC-DF6B-8B13-DE42-875D8D9194D9} = {E5C5BB03-8E38-94D5-C4F7-7A59153EF8F2}
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18} = {E5C5BB03-8E38-94D5-C4F7-7A59153EF8F2}
{687DE0BC-8B42-53E9-FB1A-C750ED5CD57C} = {E5C5BB03-8E38-94D5-C4F7-7A59153EF8F2}
{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0} = {E5C5BB03-8E38-94D5-C4F7-7A59153EF8F2}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{9C419167-D705-A241-8927-763A6F9A5016} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{27193EF0-3CCB-8553-C48A-271082615A64} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{2CD8FF4D-DAF2-3CA0-CBBB-8A3F7C33CA32} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{70EF5244-5141-EC9E-11A6-7B6DD126FFFA} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{476C0BD6-57F1-93F9-0E06-2E90D934A88F} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{D1938AE0-79B3-AD55-63D0-0BCD9BC8B13F} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{EB036E23-0C3C-CD7C-5456-A9C5E6209A4C} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{6446D860-DBBF-E540-E9E2-CBAB5F98F1E3} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{55D3AA5A-E8FE-2AC9-A665-77FC920A8658} = {FF7C0FCD-6A31-E735-A61C-001F75426961}
{CC6D2AA2-765F-3405-4DF6-DC537EE16992} = {FF7C0FCD-6A31-E735-A61C-001F75426961}
{4279720C-503C-C9A3-8714-4E88F1D2B1E0} = {FF7C0FCD-6A31-E735-A61C-001F75426961}
{DB51380C-CDCA-2EE5-24C3-7307B6C32AE1} = {FF7C0FCD-6A31-E735-A61C-001F75426961}
EndGlobalSection
EndGlobal

View file

@ -60,4 +60,6 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
EndGlobalSection
EndGlobal

View file

@ -195,4 +195,6 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
EndGlobalSection
EndGlobal

View file

@ -8,42 +8,6 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regal", "Regal.vcxproj", "{
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regallib", "Regallib.vcxproj", "{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}"
@ -57,21 +21,6 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalm", "Regalm.vcxproj",
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalmlib", "Regalmlib.vcxproj", "{5C0D9EFE-80E2-1DA1-7A53-D640CAE643C0}"
@ -207,4 +156,6 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
EndGlobalSection
EndGlobal

View file

@ -95,7 +95,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;squishlib.lib;snappylib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>mongooselib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>../../../../src/regal/Regal.def</ModuleDefinitionFile>
@ -135,7 +135,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;squishlib.lib;snappylib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>mongooselib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>../../../../src/regal/Regal.def</ModuleDefinitionFile>
@ -172,7 +172,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;squishlib.lib;snappylib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>mongooselib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>../../../../src/regal/Regal.def</ModuleDefinitionFile>
@ -211,7 +211,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;squishlib.lib;snappylib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>mongooselib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>../../../../src/regal/Regal.def</ModuleDefinitionFile>
@ -260,8 +260,13 @@
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStaticEGL.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStaticES2.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStatistics.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchTrace.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcher.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcher.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcherGL.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcherGL.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcherGlobal.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcherGlobal.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDllMain.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDsa.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalEmu.h" />

View file

@ -39,12 +39,8 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regaltest", "Regaltest.vcxp
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{8772AF49-E799-D743-4AED-682CB7047DB9} = {8772AF49-E799-D743-4AED-682CB7047DB9}
{863337BC-C6F9-E4E8-C27D-2D6BAFF72E18} = {863337BC-C6F9-E4E8-C27D-2D6BAFF72E18}
{256E64B8-F766-061C-45F8-25B51B7CA24E} = {256E64B8-F766-061C-45F8-25B51B7CA24E}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
{8772AF49-E799-D743-4AED-682CB7047DB9} = {8772AF49-E799-D743-4AED-682CB7047DB9}
EndProjectSection
EndProject
@ -132,4 +128,6 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
EndGlobalSection
EndGlobal

View file

@ -69,10 +69,10 @@
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\Regalglewlib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\Regalglewlib\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">regalglewlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">regalglewlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">regalglewlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">regalglewlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">rglewlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">rglewlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">rglewlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">rglewlib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@ -87,7 +87,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Release\Win32\Regalglewlib\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\Regalglewlib\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\regalglewlib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Release\Win32\rglewlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -99,10 +99,10 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\regalglewlib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release\Win32\rglewlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\regalglewlib.lib</ImportLibrary>
<ImportLibrary>Release\Win32\rglewlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -126,7 +126,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Release\x64\Regalglewlib\</AssemblerListingLocation>
<ObjectFileName>Release\x64\Regalglewlib\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\regalglewlib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Release\x64\rglewlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -139,9 +139,9 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\regalglewlib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release\x64\rglewlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\regalglewlib.lib</ImportLibrary>
<ImportLibrary>Release\x64\rglewlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -163,7 +163,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\Regalglewlib\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\Regalglewlib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\regalglewlib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Debug\Win32\rglewlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
@ -177,10 +177,10 @@
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\regalglewlib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Debug\Win32\rglewlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\regalglewlib.lib</ImportLibrary>
<ImportLibrary>Debug\Win32\rglewlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -202,7 +202,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\Regalglewlib\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\Regalglewlib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\regalglewlib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Debug\x64\rglewlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -216,9 +216,9 @@
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\regalglewlib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Debug\x64\rglewlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\regalglewlib.lib</ImportLibrary>
<ImportLibrary>Debug\x64\rglewlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>

View file

@ -69,10 +69,10 @@
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\Regalglulib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\Regalglulib\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">regalglulib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">regalglulib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">regalglulib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">regalglulib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">rglulib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">rglulib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">rglulib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">rglulib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@ -87,7 +87,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Release\Win32\Regalglulib\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\Regalglulib\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\regalglulib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Release\Win32\rglulib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -99,10 +99,10 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\regalglulib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release\Win32\rglulib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\regalglulib.lib</ImportLibrary>
<ImportLibrary>Release\Win32\rglulib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -126,7 +126,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Release\x64\Regalglulib\</AssemblerListingLocation>
<ObjectFileName>Release\x64\Regalglulib\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\regalglulib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Release\x64\rglulib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -139,9 +139,9 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\regalglulib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release\x64\rglulib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\regalglulib.lib</ImportLibrary>
<ImportLibrary>Release\x64\rglulib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -163,7 +163,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\Regalglulib\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\Regalglulib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\regalglulib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Debug\Win32\rglulib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
@ -177,10 +177,10 @@
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\regalglulib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Debug\Win32\rglulib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\regalglulib.lib</ImportLibrary>
<ImportLibrary>Debug\Win32\rglulib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -202,7 +202,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\Regalglulib\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\Regalglulib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\regalglulib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Debug\x64\rglulib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -216,9 +216,9 @@
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\regalglulib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Debug\x64\rglulib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\regalglulib.lib</ImportLibrary>
<ImportLibrary>Debug\x64\rglulib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>

View file

@ -95,7 +95,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>gdi32.lib;winmm.lib;regal32.lib;rglu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>regal32.lib;rglu32.lib;gdi32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>../../../../src/glut/src/glut.def</ModuleDefinitionFile>
@ -135,7 +135,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>gdi32.lib;winmm.lib;regal32.lib;rglu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>regal32.lib;rglu32.lib;gdi32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>../../../../src/glut/src/glut.def</ModuleDefinitionFile>
@ -172,7 +172,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>gdi32.lib;winmm.lib;regal32.lib;rglu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>regal32.lib;rglu32.lib;gdi32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>../../../../src/glut/src/glut.def</ModuleDefinitionFile>
@ -211,7 +211,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>gdi32.lib;winmm.lib;regal32.lib;rglu32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>regal32.lib;rglu32.lib;gdi32.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile>../../../../src/glut/src/glut.def</ModuleDefinitionFile>

View file

@ -69,10 +69,10 @@
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\Regalglutlib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\Regalglutlib\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">regalglutlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">regalglutlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">regalglutlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">regalglutlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">rglutlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">rglutlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">rglutlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">rglutlib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
@ -87,7 +87,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Release\Win32\Regalglutlib\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\Regalglutlib\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\regalglutlib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Release\Win32\rglutlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -99,10 +99,10 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\regalglutlib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release\Win32\rglutlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\regalglutlib.lib</ImportLibrary>
<ImportLibrary>Release\Win32\rglutlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -126,7 +126,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Release\x64\Regalglutlib\</AssemblerListingLocation>
<ObjectFileName>Release\x64\Regalglutlib\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\regalglutlib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Release\x64\rglutlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -139,9 +139,9 @@
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\regalglutlib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Release\x64\rglutlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\regalglutlib.lib</ImportLibrary>
<ImportLibrary>Release\x64\rglutlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -163,7 +163,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\Regalglutlib\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\Regalglutlib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\regalglutlib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Debug\Win32\rglutlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
@ -177,10 +177,10 @@
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\regalglutlib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Debug\Win32\rglutlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\regalglutlib.lib</ImportLibrary>
<ImportLibrary>Debug\Win32\rglutlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
@ -202,7 +202,7 @@
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\Regalglutlib\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\Regalglutlib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\regalglutlib.pdb</ProgramDataBaseFileName>
<ProgramDataBaseFileName>Debug\x64\rglutlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
@ -216,9 +216,9 @@
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\regalglutlib.pdb</ProgramDatabaseFile>
<ProgramDatabaseFile>Debug\x64\rglutlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\regalglutlib.lib</ImportLibrary>
<ImportLibrary>Debug\x64\rglutlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>

View file

@ -260,8 +260,13 @@
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStaticEGL.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStaticES2.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStatistics.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchTrace.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcher.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcher.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcherGL.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcherGL.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcherGlobal.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcherGlobal.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDllMain.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDsa.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalEmu.h" />

View file

@ -260,8 +260,13 @@
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStaticEGL.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStaticES2.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStatistics.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchTrace.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcher.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcher.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcherGL.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcherGL.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcherGlobal.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcherGlobal.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDllMain.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDsa.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalEmu.h" />

View file

@ -260,8 +260,13 @@
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStaticEGL.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStaticES2.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchStatistics.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchTrace.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcher.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcher.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcherGL.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcherGL.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatcherGlobal.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatcherGlobal.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDllMain.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDsa.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalEmu.h" />

View file

@ -95,7 +95,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>gtestlib.lib;regallib.lib;mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>gtestlib.lib;regallib.lib;mongooselib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -135,7 +135,7 @@
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>gtestlib.lib;regallib.lib;mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>gtestlib.lib;regallib.lib;mongooselib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -172,7 +172,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>gtestlib.lib;regallib.lib;mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>gtestlib.lib;regallib.lib;mongooselib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -211,7 +211,7 @@
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>gtestlib.lib;regallib.lib;mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>gtestlib.lib;regallib.lib;mongooselib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>

View file

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>apitracelib</ProjectName>
<ProjectGuid>{A996811D-4FA1-5874-A99B-81B8A0F3AA21}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\Win32\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\Win32\apitracelib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\apitracelib\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\apitracelib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\apitracelib\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">apitracelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">apitracelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">apitracelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">apitracelib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../include;../../../../src/squish;../../../../src/apitrace/common;../../../../src/apitrace/gen/dispatch;../../../../src/apitrace/dispatch;../../../../src/apitrace/helpers;../../../../src/apitrace/wrappers;../../../../src/apitrace;../../../../src/snappy;../../../../src/zlib/include;../../../../src/zlib/src;../../../../src/boost;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_PLUGIN_MODE=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Release\Win32\apitracelib\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\apitracelib\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\apitracelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\apitracelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\apitracelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../include;../../../../src/squish;../../../../src/apitrace/common;../../../../src/apitrace/gen/dispatch;../../../../src/apitrace/dispatch;../../../../src/apitrace/helpers;../../../../src/apitrace/wrappers;../../../../src/apitrace;../../../../src/snappy;../../../../src/zlib/include;../../../../src/zlib/src;../../../../src/boost;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_PLUGIN_MODE=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Release\x64\apitracelib\</AssemblerListingLocation>
<ObjectFileName>Release\x64\apitracelib\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\apitracelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\apitracelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\apitracelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../include;../../../../src/squish;../../../../src/apitrace/common;../../../../src/apitrace/gen/dispatch;../../../../src/apitrace/dispatch;../../../../src/apitrace/helpers;../../../../src/apitrace/wrappers;../../../../src/apitrace;../../../../src/snappy;../../../../src/zlib/include;../../../../src/zlib/src;../../../../src/boost;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_PLUGIN_MODE=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\apitracelib\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\apitracelib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\apitracelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\apitracelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\apitracelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../include;../../../../src/squish;../../../../src/apitrace/common;../../../../src/apitrace/gen/dispatch;../../../../src/apitrace/dispatch;../../../../src/apitrace/helpers;../../../../src/apitrace/wrappers;../../../../src/apitrace;../../../../src/snappy;../../../../src/zlib/include;../../../../src/zlib/src;../../../../src/boost;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_PLUGIN_MODE=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\apitracelib\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\apitracelib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\apitracelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\apitracelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\apitracelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\apitrace\common\os_posix.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_callset.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_dump.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file_read.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file_snappy.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file_write.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file_zlib.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_loader.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_model.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_option.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_parser.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_parser_flags.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_profiler.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_writer.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_writer_local.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_writer_model.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\dispatch\glproc_egl.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\dispatch\glproc_gl.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\gen\wrappers\regaltrace.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\helpers\eglsize.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\glcaps.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\gltrace_state.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\trace.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>apitracemlib</ProjectName>
<ProjectGuid>{238CB370-805D-443D-7F5F-E0A11194A813}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\Win32\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\Win32\apitracemlib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\apitracemlib\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\apitracemlib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\apitracemlib\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">apitracemlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">apitracemlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">apitracemlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">apitracemlib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../include;../../../../src/squish;../../../../src/apitrace/common;../../../../src/apitrace/gen/dispatch;../../../../src/apitrace/dispatch;../../../../src/apitrace/helpers;../../../../src/apitrace/wrappers;../../../../src/apitrace;../../../../src/snappy;../../../../src/zlib/include;../../../../src/zlib/src;../../../../src/boost;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NAMESPACE;REGAL_PLUGIN_MODE=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Release\Win32\apitracemlib\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\apitracemlib\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\apitracemlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\apitracemlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\apitracemlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../include;../../../../src/squish;../../../../src/apitrace/common;../../../../src/apitrace/gen/dispatch;../../../../src/apitrace/dispatch;../../../../src/apitrace/helpers;../../../../src/apitrace/wrappers;../../../../src/apitrace;../../../../src/snappy;../../../../src/zlib/include;../../../../src/zlib/src;../../../../src/boost;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NAMESPACE;REGAL_PLUGIN_MODE=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Release\x64\apitracemlib\</AssemblerListingLocation>
<ObjectFileName>Release\x64\apitracemlib\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\apitracemlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\apitracemlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\apitracemlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../include;../../../../src/squish;../../../../src/apitrace/common;../../../../src/apitrace/gen/dispatch;../../../../src/apitrace/dispatch;../../../../src/apitrace/helpers;../../../../src/apitrace/wrappers;../../../../src/apitrace;../../../../src/snappy;../../../../src/zlib/include;../../../../src/zlib/src;../../../../src/boost;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NAMESPACE;REGAL_PLUGIN_MODE=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\apitracemlib\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\apitracemlib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\apitracemlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\apitracemlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\apitracemlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../include;../../../../src/squish;../../../../src/apitrace/common;../../../../src/apitrace/gen/dispatch;../../../../src/apitrace/dispatch;../../../../src/apitrace/helpers;../../../../src/apitrace/wrappers;../../../../src/apitrace;../../../../src/snappy;../../../../src/zlib/include;../../../../src/zlib/src;../../../../src/boost;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NAMESPACE;REGAL_PLUGIN_MODE=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\apitracemlib\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\apitracemlib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\apitracemlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\apitracemlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\apitracemlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\apitrace\common\os_posix.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_callset.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_dump.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file_read.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file_snappy.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file_write.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_file_zlib.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_loader.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_model.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_option.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_parser.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_parser_flags.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_profiler.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_writer.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_writer_local.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\common\trace_writer_model.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\dispatch\glproc_egl.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\dispatch\glproc_gl.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\gen\wrappers\regaltrace.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\helpers\eglsize.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\glcaps.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\gltrace_state.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\trace.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -95,7 +95,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;regalglutlib.lib;regalglulib.lib;regallib.lib;mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;mongooselib.lib;md5lib.lib;jsonsllib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -135,7 +135,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;regalglutlib.lib;regalglulib.lib;regallib.lib;mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;mongooselib.lib;md5lib.lib;jsonsllib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -172,7 +172,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;regalglutlib.lib;regalglulib.lib;regallib.lib;mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;mongooselib.lib;md5lib.lib;jsonsllib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -211,7 +211,7 @@
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>winmm.lib;ws2_32.lib;regalglutlib.lib;regalglulib.lib;regallib.lib;mongooselib.lib;md5lib.lib;pnglib.lib;zlib.lib;jsonsllib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;mongooselib.lib;md5lib.lib;jsonsllib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>

View file

@ -0,0 +1,390 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>freetypelib</ProjectName>
<ProjectGuid>{8AC0EA07-3E0B-F490-FA69-D3709DFDC1AE}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\Win32\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Release\Win32\freetypelib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\freetypelib\</IntDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\</OutDir>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Debug\Win32\freetypelib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\freetypelib\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetypelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetypelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetypelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetypelib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/freetype/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>FT2_BUILD_LIBRARY;HAVE_CONFIG_H=1;Z_PREFIX=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Release\Win32\freetypelib\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\freetypelib\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\freetypelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\freetypelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\freetypelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/freetype/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>FT2_BUILD_LIBRARY;HAVE_CONFIG_H=1;Z_PREFIX=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Release\x64\freetypelib\</AssemblerListingLocation>
<ObjectFileName>Release\x64\freetypelib\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\freetypelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\freetypelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\freetypelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/freetype/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>FT2_BUILD_LIBRARY;HAVE_CONFIG_H=1;Z_PREFIX=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\freetypelib\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\freetypelib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\freetypelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\freetypelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\freetypelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/freetype/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>FT2_BUILD_LIBRARY;HAVE_CONFIG_H=1;Z_PREFIX=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\freetypelib\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\freetypelib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\freetypelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\freetypelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\freetypelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\freetype\src\autofit\autofit.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\basepic.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftadvanc.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftapi.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftbbox.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftbdf.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftbitmap.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftcalc.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftcid.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftdbgmem.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftdebug.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftfstype.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftgasp.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftgloadr.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftglyph.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftgxval.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftinit.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftlcdfil.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftmac.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftmm.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftobjs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftotval.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftoutln.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftpatent.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftpfr.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftpic.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftrfork.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftsnames.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftstream.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftstroke.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftsynth.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftsystem.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\fttrigon.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\fttype1.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftutil.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftwinfnt.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\base\ftxf86.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\bdf\bdf.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\bdf\bdfdrivr.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\bdf\bdflib.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cache\ftcache.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cff\cffcmap.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cff\cffdrivr.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cff\cffgload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cff\cffload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cff\cffobjs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cff\cffparse.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cff\cffpic.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cid\cidgload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cid\cidload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cid\cidobjs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cid\cidparse.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cid\cidriver.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\cid\type1cid.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvalid.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvbsln.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvcommn.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvfeat.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvfgen.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvjust.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvkern.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvlcar.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmod.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmort.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmort0.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmort1.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmort2.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmort4.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmort5.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmorx.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmorx0.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmorx1.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmorx2.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmorx4.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvmorx5.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvopbd.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvprop.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gxvalid\gxvtrak.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\gzip\ftgzip.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\lzw\ftlzw.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\lzw\ftzopen.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvalid.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvbase.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvcommn.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvgdef.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvgpos.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvgsub.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvjstf.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvmath.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\otvalid\otvmod.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pcf\pcf.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pcf\pcfdrivr.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pcf\pcfread.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pcf\pcfutil.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pfr\pfr.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pfr\pfrcmap.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pfr\pfrdrivr.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pfr\pfrgload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pfr\pfrload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pfr\pfrobjs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pfr\pfrsbit.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psaux\afmparse.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psaux\psaux.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psaux\psauxmod.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psaux\psconv.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psaux\psobjs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psaux\t1cmap.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psaux\t1decode.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pshinter\pshalgo.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pshinter\pshglob.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pshinter\pshinter.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pshinter\pshpic.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\pshinter\pshrec.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psnames\psmodule.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psnames\psnames.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\psnames\pspic.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\raster\ftraster.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\raster\ftrend1.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\raster\raster.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\raster\rastpic.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\sfdriver.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\sfnt.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\sfntpic.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\sfobjs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\ttbdf.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\ttcmap.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\ttkern.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\ttload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\ttmtx.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\ttpost.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\sfnt\ttsbit.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\smooth\smooth.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\truetype\truetype.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\truetype\ttdriver.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\truetype\ttgload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\truetype\ttgxvar.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\truetype\ttinterp.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\truetype\ttobjs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\truetype\ttpic.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\truetype\ttpload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type1\t1afm.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type1\t1driver.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type1\t1gload.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type1\t1load.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type1\t1objs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type1\t1parse.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type1\type1.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type42\t42drivr.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type42\t42objs.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type42\t42parse.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\type42\type42.c" />
<ClCompile Include="..\..\..\..\src\freetype\src\winfonts\winfnt.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -26,7 +26,8 @@ SHARED_DIR := $(LOCAL_PATH)/../../src
LOCAL_C_INCLUDES += $(SHARED_DIR)
MY_SRC_FILES := gl_code.cpp $(SHARED_DIR)/render.cpp
LOCAL_SRC_FILES := $(patsubst $(LOCAL_PATH)/%,%,$(MY_SRC_FILES))
LOCAL_STATIC_LIBRARIES += Regal_static
LOCAL_STATIC_LIBRARIES := zlib snappy
LOCAL_WHOLE_STATIC_LIBRARIES := Regal_static apitrace
LOCAL_CFLAGS := -DANDROID=1
LOCAL_LDLIBS := -llog

View file

@ -1,3 +1,3 @@
APP_STL := stlport_static
APP_STL := gnustl_shared

View file

@ -275,7 +275,7 @@
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.6;
PRODUCT_NAME = minimal_osx;
SDKROOT = macosx;
SDKROOT = macosx10.7;
};
name = Debug;
};
@ -292,7 +292,7 @@
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.6;
PRODUCT_NAME = minimal_osx;
SDKROOT = macosx;
SDKROOT = macosx10.7;
};
name = Release;
};
@ -306,7 +306,7 @@
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ../../../include;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
SDKROOT = macosx10.7;
};
name = Debug;
};
@ -318,7 +318,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ../../../include;
SDKROOT = macosx;
SDKROOT = macosx10.7;
};
name = Release;
};

View file

@ -172,10 +172,17 @@ def emuFindEntry(func, emuFormulae, member):
substitute( emue, formula, 'suffix', subs )
substitute( emue, formula, 'pre', subs )
substitute( emue, formula, 'post', subs )
emue['cond'] = None
if 'cond' in formula:
emue['cond'] = formula['cond']
# plugin is optional, default to False
emue['plugin'] = False
if 'plugin' in formula:
emue['plugin'] = formula['plugin']
return emue
return None

View file

@ -358,7 +358,7 @@ dsaFormulae = {
'PushClientAttribDefault' : {
'entries' : ['glPushClientAttribDefaultEXT'],
'impl' : [
'DispatchTable &tbl = _context->dispatcher.emulation;',
'DispatchTableGL &tbl = _context->dispatcher.emulation;',
'tbl.call(&tbl.glPushClientAttrib)(${arg0});',
'_context->dsa->ClientAttribDefault(_context, ${arg0});',
],

View file

@ -33,7 +33,7 @@ formulae = {
'glGenSamplers', # Sampler object emulation
'glGetTexImage',
'glTexImage(1|3)D',
'glBlitFramebufferEXT', 'glBlitFramebufferANGLE' # Emulate glBlitFramebuffer?
'glBlitFramebufferANGLE' # Emulate glBlitFramebuffer?
],
'impl' : [
'if (_context->isES2())',
@ -134,7 +134,7 @@ formulae = {
'impl' : [
'if (_context->isES2())',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' if (_context->info->gl_nv_framebuffer_blit) return _next->call(&_next->${m0}NV)(${arg0plus});',
' if (_context->info->gl_ext_framebuffer_blit) return _next->call(&_next->${m0}EXT)(${arg0plus});',
@ -150,7 +150,7 @@ formulae = {
'impl' : [
'if (_context->isES2())',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' if (_context->info->gl_nv_framebuffer_blit || _context->info->gl_ext_framebuffer_blit)',
' return _next->call(&_next->${m0})(${arg0plus});',
@ -165,7 +165,7 @@ formulae = {
'impl' : [
'if (_context->isES2())',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' return _next->call(&_next->glDrawElements)(${arg0}, ${arg3plus});',
'}'
@ -183,7 +183,7 @@ formulae = {
'{',
' if (basevertex==0)',
' {',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' return _next->call(&_next->glDrawElements)(${arg0}, ${arg3}, ${arg4}, ${arg5});',
' }',
@ -223,7 +223,7 @@ formulae = {
# 'if (_context->info->es2)',
# '#endif',
# '{',
# ' DispatchTable *_next = _context->dispatcher.emulation._next;',
# ' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
# ' RegalAssert(_next);',
# ' return _next->call(&_next->glCreateShader)(${arg0plus});',
# '}'
@ -235,7 +235,7 @@ formulae = {
'impl' : [
'if (_context->isES2() || !_context->info->gl_arb_shader_objects)',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' return _next->call(&_next->glCreateProgram)(${arg0plus});',
'}'
@ -249,7 +249,7 @@ formulae = {
# 'if (_context->info->es2)',
# '#endif',
# '{',
# ' DispatchTable *_next = _context->dispatcher.emulation._next;',
# ' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
# ' RegalAssert(_next);',
# ' _next->call(&_next->glShaderSource)(${arg0plus});',
# ' return;',
@ -262,7 +262,7 @@ formulae = {
'impl' : [
'if (_context->isES2() || !_context->info->gl_arb_shader_objects)',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glCompileShader)(${arg0plus});',
' return;',
@ -275,7 +275,7 @@ formulae = {
'impl' : [
'if (_context->isES2() || !_context->info->gl_arb_shader_objects)',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glAttachShader)(${arg0plus});',
' return;',
@ -288,7 +288,7 @@ formulae = {
'impl' : [
'if (_context->isES2() || !_context->info->gl_arb_shader_objects)',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glBindAttribLocation)(${arg0plus});',
' return;',
@ -301,7 +301,7 @@ formulae = {
'impl' : [
'if (_context->isES2() || !_context->info->gl_arb_shader_objects)',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' return _next->call(&_next->glGetUniformLocation)(${arg0plus});',
'}'
@ -313,7 +313,7 @@ formulae = {
'impl' : [
'if (_context->isES2() || !_context->info->gl_arb_shader_objects)',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glUniform1i)(${arg0plus});',
' return;',
@ -326,7 +326,7 @@ formulae = {
'impl' : [
'if (_context->isES2() || !_context->info->gl_arb_shader_objects)',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' if (_next->call(&_next->glIsProgram)(obj))',
' _next->call(&_next->glGetProgramiv)(${arg0plus});',
@ -342,7 +342,7 @@ formulae = {
'impl' : [
'if (_context->isES2() || !_context->info->gl_arb_shader_objects)',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' if (_next->call(&_next->glIsProgram)(obj))',
' _next->call(&_next->glGetProgramInfoLog)(${arg0plus});',
@ -360,7 +360,7 @@ formulae = {
'impl' : [
'if (_context->isES2())',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glBlendEquation)(${arg0plus});',
' return;',
@ -375,7 +375,7 @@ formulae = {
'impl' : [
'if (_context->isES2())',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glBlendColor)(${arg0plus});',
' return;',
@ -391,7 +391,7 @@ formulae = {
'impl' : [
'if (_context->isES2())',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' return _next->call(&_next->glMapBufferOES)(${arg0plus});',
'}'
@ -403,7 +403,7 @@ formulae = {
'impl' : [
'if (_context->isES2())',
'{',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glBufferData)(${arg0plus});',
' return;',
@ -430,7 +430,7 @@ formulae = {
'framebuffer_object_attachment' : {
'entries' : [ 'glFramebuffer(Texture1D|Texture3D|Renderbuffer)' ],
'impl' : [
'DispatchTable *_next = _context->dispatcher.emulation._next;',
'DispatchTableGL *_next = _context->dispatcher.emulation.next();',
'RegalAssert(_next);',
'if (_context->filt->FramebufferAttachmentSupported(*_context, ${arg1}))',
' _next->call(&_next->glFramebuffer${m1})(${arg0plus});',
@ -444,7 +444,7 @@ formulae = {
'glGetFramebufferAttachmentParameteriv' : {
'entries' : [ 'glGetFramebufferAttachmentParameteriv' ],
'impl' : [
'DispatchTable *_next = _context->dispatcher.emulation._next;',
'DispatchTableGL *_next = _context->dispatcher.emulation.next();',
'RegalAssert(_next);',
'if (!_context->filt->FramebufferAttachmentSupported(*_context, ${arg1}))',
' *${arg3} = 0;',
@ -471,7 +471,7 @@ formulae = {
'impl' : [
'if (!_context->info->gl_ext_framebuffer_object)',
'{',
' DispatchTable &_table = _context->dispatcher.emulation;',
' DispatchTableGL &_table = _context->dispatcher.emulation;',
' _context->emuLevel++;',
' _table.call(&_table.gl${m1})(${arg0plus});',
' return;',
@ -484,13 +484,28 @@ formulae = {
'impl' : [
'if (!_context->info->gl_ext_framebuffer_object)',
'{',
' DispatchTable &_table = _context->dispatcher.emulation;',
' DispatchTableGL &_table = _context->dispatcher.emulation;',
' _context->emuLevel++;',
' return _table.call(&_table.gl${m1})(${arg0plus});',
'}'
]
},
# http://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt
'glBlitFramebufferEXT' : {
'entries' : [ 'glBlitFramebufferEXT' ],
'impl' : [
'if (!_context->info->gl_ext_framebuffer_blit)',
'{',
' DispatchTableGL &_table = _context->dispatcher.emulation;',
' _context->emuLevel++;',
' _table.call(&_table.glBlitFramebuffer)(${arg0plus});',
' return;',
'}'
]
},
#
# http://www.opengl.org/registry/specs/ARB/draw_buffers.txt
# http://www.opengl.org/registry/specs/EXT/draw_buffers2.txt
@ -505,7 +520,7 @@ formulae = {
'{',
' if (!buf)'
' {',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glColorMask)(${arg1plus});',
' }',
@ -521,7 +536,7 @@ formulae = {
'{',
' if (!index)'
' {',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glGetBooleanv)(${arg0},${arg2});',
' }',
@ -537,7 +552,7 @@ formulae = {
'{',
' if (!index)'
' {',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glGetIntegerv)(${arg0},${arg2});',
' }',
@ -553,7 +568,7 @@ formulae = {
'{',
' if (!index)'
' {',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glEnable)(${arg0});',
' }',
@ -569,7 +584,7 @@ formulae = {
'{',
' if (!index)'
' {',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' _next->call(&_next->glDisable)(${arg0});',
' }',
@ -585,7 +600,7 @@ formulae = {
'{',
' if (!index)'
' {',
' DispatchTable *_next = _context->dispatcher.emulation._next;',
' DispatchTableGL *_next = _context->dispatcher.emulation.next();',
' RegalAssert(_next);',
' return _next->call(&_next->glIsEnabled)(${arg0});',
' }',

View file

@ -2,42 +2,39 @@
formulae = {
'wglGetProcAddress' : {
'entries' : [ 'wglGetProcAddress' ],
'entries' : [ '(wglGetProcAddress)()' ],
'impl' : [
'RegalAssert(dispatchTableGlobal.wglGetProcAddress);',
'PROC drvproc = ret = dispatchTableGlobal.wglGetProcAddress(lpszProc);',
'ret = _next->call(&_next->${m1}${m2})(${arg0});',
'if (!ret)',
' return NULL;',
'ret = Lookup::gl_Lookup<PROC>(lpszProc);',
'ret = Lookup::gl_Lookup<PROC>(${arg0});',
'if (ret)',
' return ret;'
' return ret;',
'ret = Lookup::wgl_Lookup<PROC>(${arg0});',
'if (ret)',
' return ret;',
],
'suffix' : [
'size_t off = Lookup::wgl_LookupOffset(lpszProc);',
'((void **)(&dispatchTableGlobal))[off] = (void *)drvproc;',
'ret = Lookup::wgl_Lookup<PROC>(lpszProc);'
]
},
'glXGetProcAddress' : {
'entries' : [ 'glXGetProcAddress','glXGetProcAddressARB' ],
'entries' : [ '(glXGetProcAddress)(|ARB)' ],
'impl' : [
'ret = Lookup::gl_Lookup<__GLXextFuncPtr>(reinterpret_cast<const char *>(procName));',
'ret = Lookup::gl_Lookup<__GLXextFuncPtr>(reinterpret_cast<const char *>(${arg0}));',
'if (ret)',
' return ret;',
'ret = Lookup::glx_Lookup<__GLXextFuncPtr>(reinterpret_cast<const char *>(procName));',
'ret = Lookup::glx_Lookup<__GLXextFuncPtr>(reinterpret_cast<const char *>(${arg0}));',
'if (ret)',
' return ret;',
]
},
'eglGetProcAddress' : {
'entries' : [ 'eglGetProcAddress','eglGetProcAddressARB' ],
'entries' : [ '(eglGetProcAddress)(|ARB)' ],
'impl' : [
'ret = Lookup::gl_Lookup<__eglMustCastToProperFunctionPointerType>(reinterpret_cast<const char *>(procname));',
'ret = Lookup::gl_Lookup<__eglMustCastToProperFunctionPointerType>(reinterpret_cast<const char *>(${arg0}));',
'if (ret)',
' return ret;',
'ret = Lookup::egl_Lookup<__eglMustCastToProperFunctionPointerType>(reinterpret_cast<const char *>(procname));',
'ret = Lookup::egl_Lookup<__eglMustCastToProperFunctionPointerType>(reinterpret_cast<const char *>(${arg0}));',
'if (ret)',
' return ret;',
]

View file

@ -49,6 +49,7 @@ from RegalDispatchPpapi import *
from RegalDispatchStatistics import *
from RegalDispatchStaticEGL import *
from RegalDispatchStaticES2 import *
from RegalDispatchTrace import *
regalLicense = '''
/*
@ -88,6 +89,17 @@ regalLicense = '''
*/
'''
emulatedExts = {
'GL_ARB_texture_storage': { 'emulatedBy' : 'texsto', 'emulatedIf' : '' },
'GL_EXT_blend_color': { 'emulatedBy' : 'filt', 'emulatedIf' : '' },
'GL_EXT_blend_subtract': { 'emulatedBy' : 'filt', 'emulatedIf' : '' },
'GL_EXT_direct_state_access': { 'emulatedBy' : 'dsa', 'emulatedIf' : '' },
'GL_EXT_framebuffer_blit': { 'emulatedBy' : 'filt', 'emulatedIf' : '(info->gl_version_major >= 3) || info->gl_nv_framebuffer_blit' },
'GL_EXT_framebuffer_object': { 'emulatedBy' : 'filt', 'emulatedIf' : '' },
'GL_NV_blend_square': { 'emulatedBy' : 'filt', 'emulatedIf' : '' },
}
def cmpCategoryName(a,b):
if a.category==b.category:
return cmp(a.name,b.name)
@ -124,6 +136,11 @@ def traverse(apis, args):
if i.name=='defines':
i.enumerants.sort(cmpCategoryName)
for e in api.extensions:
if e.name in emulatedExts:
e.emulatedBy = emulatedExts[e.name]['emulatedBy']
e.emulatedIf = emulatedExts[e.name]['emulatedIf']
apiHasCtx = api.name == 'gl';
toRemove = set()
@ -151,6 +168,18 @@ def traverse(apis, args):
for typedef in toRemove:
api.typedefs.remove(typedef)
# Build a dict of default typedef values
api.defaults = {}
for i in apis:
for typedef in i.typedefs:
if getattr(typedef,'default',None)!=None:
api.defaults[typedef.name] = typedef.default
api.defaults['int'] = '0';
api.defaults['HDC'] = 'NULL';
api.defaults['HGLRC'] = 'NULL';
traverseContextInfo(apis,args)
def generate(apis, args):
@ -172,6 +201,7 @@ def generate(apis, args):
generatePpapiSource( apis, args )
generateStaticES2Source( apis, args )
generateStaticEGLSource( apis, args )
generateTraceSource( apis, args )
generatePublicHeader(apis, args)
generateDispatchHeader(apis, args)
generateContextHeader(apis, args)

View file

@ -42,6 +42,7 @@ class Extension:
self.functions = [] # function names
self.enumerants = [] # enumerant names
self.emulatedBy = '' # Regal emulation layer that adds support for this extension
self.emulatedIf = '' # optional condition determing if extension can be emulated
class Function:

View file

@ -72,13 +72,13 @@ def logParameter(function, parameter):
return 'toString(%s)'%n
elif t in [ 'char *','const char *','GLchar *' ,'const GLchar *','GLcharARB *','const GLcharARB *','LPCSTR']:
return 'boost::print::quote(%s,\'"\')'%n
elif parameter.size!=None and (isinstance(parameter.size,int) or isinstance(parameter.size, long)) and t.find('void')==-1 and t.find('PIXELFORMATDESCRIPTOR')==-1:
elif parameter.size!=None and (isinstance(parameter.size,int) or isinstance(parameter.size, long)) and t.find('void')==-1 and t.find('PIXELFORMATDESCRIPTOR')==-1 and t.find('LAYERPLANEDESCRIPTOR')==-1 and t.find('GLYPHMETRICSFLOAT')==-1:
return 'boost::print::array(%s,%s)'%(n,parameter.size)
elif parameter.size!=None and (isinstance(parameter.size, str) or isinstance(parameter.size, unicode)) and t.find('void')==-1 and t.find('PIXELFORMATDESCRIPTOR')==-1 and parameter.size.find('helper')==-1:
elif parameter.size!=None and (isinstance(parameter.size, str) or isinstance(parameter.size, unicode)) and t.find('void')==-1 and t.find('PIXELFORMATDESCRIPTOR')==-1 and t.find('LAYERPLANEDESCRIPTOR')==-1 and t.find('GLYPHMETRICSFLOAT')==-1 and parameter.size.find('helper')==-1:
return 'boost::print::array(%s,%s%s)'%(n,parameter.size,quote)
# elif parameter.size!=None and (isinstance(parameter.size,int) or isinstance(parameter.size, long) or isinstance(parameter.size, str) or isinstance(parameter.size, unicode)) and t=='const GLvoid *':
# return 'boost::print::raw(%s,%s)'%(n,parameter.size)
elif parameter.size!=None and h!=None and t.find('void')==-1 and t.find('PIXELFORMATDESCRIPTOR')==-1:
elif parameter.size!=None and h!=None and t.find('void')==-1 and t.find('PIXELFORMATDESCRIPTOR')==-1 and t.find('LAYERPLANEDESCRIPTOR')==-1 and t.find('GLYPHMETRICSFLOAT')==-1:
return 'boost::print::array(%s,%s(%s%s)'%(n,h,parameter.size.split('(',1)[1],quote)
elif t.startswith('GLDEBUG'):
return None

View file

@ -209,6 +209,8 @@ def writeExtensions(file,name,extensions):
print >>file, '%s.functions = [\'%s\']'%(i.name,'\',\''.join(i.functions))
if len(i.emulatedBy):
print >>file, '%s.emulatedBy = \'%s\''%(i.name,i.emulatedBy)
if len(i.emulatedIf):
print >>file, '%s.emulatedIf = \'%s\''%(i.name,i.emulatedIf)
print >>file, '%s.add(%s)'%(name,i.name)
print >>file, ''

File diff suppressed because one or more lines are too long

View file

@ -212,18 +212,6 @@ def generatePublicHeader(apis, args):
def apiFuncDefineCode(apis, args):
# Build a dict of default typedef values
defaults = {}
for api in apis:
for typedef in api.typedefs:
if getattr(typedef,'default',None)!=None:
defaults[typedef.name] = typedef.default
defaults['int'] = '0';
defaults['HDC'] = 'NULL';
defaults['HGLRC'] = 'NULL';
#
code = ''
@ -259,8 +247,8 @@ def apiFuncDefineCode(apis, args):
if typeIsVoid(rType):
c += ';\n'
else:
if rTypes in defaults:
c += ' %s;\n' % ( defaults[rTypes] )
if rTypes in api.defaults:
c += ' %s;\n' % ( api.defaults[rTypes] )
else:
if rType[-1]=='*' or typeIsVoidPointer(rType):
c += ' NULL;\n'
@ -277,7 +265,7 @@ def apiFuncDefineCode(apis, args):
c += ' #if REGAL_SYS_ES1\n'
c += ' if (_context->isES1()) // Pass-through for ES1 only\n'
c += ' {\n'
c += ' DispatchTable *_next = &_context->dispatcher.front();\n'
c += ' DispatchTableGL *_next = &_context->dispatcher.front();\n'
c += ' RegalAssert(_next);\n '
if not typeIsVoid(rType):
c += 'return '
@ -299,7 +287,7 @@ def apiFuncDefineCode(apis, args):
else:
if getattr(function,'regalOnly',False)==False:
t = ''
t += 'DispatchTable *_next = &_context->dispatcher.front();\n'
t += 'DispatchTableGL *_next = &_context->dispatcher.front();\n'
t += 'RegalAssert(_next);\n'
t += listToString(indent(emuCodeGen(emue,'pre'),''))
@ -320,51 +308,30 @@ def apiFuncDefineCode(apis, args):
else:
c += ' %s\n' % logFunction(function, 'App' )
c += listToString(indent(emuCodeGen(emue,'prefix'),' '))
if api.name=='egl':
c += '\n'
c += ' #if !REGAL_STATIC_EGL\n'
if getattr(function,'regalOnly',False)==False:
c += ' DispatchTableGlobal *_next = &dispatcherGlobal.front();\n'
c += ' RegalAssert(_next);\n'
c += ' if (!dispatchTableGlobal.%s)\n' % name
c += ' {\n'
c += ' GetProcAddress( dispatchTableGlobal.%s, "%s" );\n' % ( name, name )
c += ' RegalAssert(dispatchTableGlobal.%s!=%s);\n' % ( name, name )
c += ' if (dispatchTableGlobal.%s==%s)\n' % ( name, name )
c += ' dispatchTableGlobal.%s = NULL;\n' % ( name )
c += ' }\n'
if api.name=='egl':
c += ' #endif // !REGAL_STATIC_EGL\n\n'
if not typeIsVoid(rType):
if rTypes in defaults:
c += ' %s ret = %s;\n' % ( rTypes, defaults[rTypes] )
else:
if rType[-1]=='*' or typeIsVoidPointer(rType):
c += ' %s ret = NULL;\n' % rTypes
if not typeIsVoid(rType):
if rTypes in api.defaults:
c += ' %s ret = %s;\n' % ( rTypes, api.defaults[rTypes] )
else:
c += ' %s ret = (%s) 0;\n' % ( rTypes, rTypes )
if rType[-1]=='*' or typeIsVoidPointer(rType):
c += ' %s ret = NULL;\n' % rTypes
else:
c += ' %s ret = (%s) 0;\n' % ( rTypes, rTypes )
c += listToString(indent(emuCodeGen(emue,'impl'),' '))
c += listToString(indent(emuCodeGen(emue,'impl'),' '))
c += ' '
if not typeIsVoid(rType):
c += 'ret = '
c += '_next->call(&_next->%s)(%s);\n' % ( name, callParams )
c += ' if (dispatchTableGlobal.%s)\n' % name
c += ' {\n'
c += ' '
if not typeIsVoid(rType):
c += 'ret = '
c += 'dispatchTableGlobal.%s(%s);\n' % ( name, callParams )
c += ' %s\n' % logFunction( function, 'Driver', ret=not typeIsVoid(rType) )
c += listToString(indent(emuCodeGen(emue,'init'),' '))
c += ' }\n'
c += ' else\n'
c += ' Warning( "%s not available." );\n' % name
c += listToString(indent(emuCodeGen(emue,'init'),' '))
c += listToString(indent(emuCodeGen(emue,'suffix'),' '))
if not typeIsVoid(rType):
c += ' return ret;\n'
c += '}\n\n'
@ -665,6 +632,8 @@ REGAL_GLOBAL_BEGIN
#include "RegalScopedPtr.h"
#include "RegalFrame.h"
#include "RegalMarker.h"
#include "RegalDispatcherGL.h"
#include "RegalDispatcherGlobal.h"
using namespace REGAL_NAMESPACE_INTERNAL;
using namespace ::REGAL_NAMESPACE_INTERNAL::Logging;

View file

@ -66,22 +66,22 @@ emuRegal = [
# RegalDispathEmu.cpp fixed-function emulation
emu = [
{ 'type' : 'Emu::Obj', 'include' : 'RegalObj.h', 'member' : 'obj', 'conditional' : 'Config::enableEmuObj || Config::forceEmuObj || REGAL_FORCE_EMU_OBJ', 'ifdef' : 'REGAL_EMU_OBJ', 'formulae' : objFormulae },
#{ 'type' : 'RegalPpc', 'include' : 'RegalPpc.h', 'member' : 'ppc', 'conditional' : None, 'ifdef' : '', 'formulae' : ppcFormulae },
{ 'type' : 'Emu::Ppa', 'include' : 'RegalPpa.h', 'member' : 'ppa', 'conditional' : 'Config::enableEmuPpa || Config::forceEmuPpa || REGAL_FORCE_EMU_PPA', 'ifdef' : 'REGAL_EMU_PPA', 'formulae' : ppaFormulae },
{ 'type' : 'Emu::Ppca', 'include' : 'RegalPpca.h', 'member' : 'ppca', 'conditional' : 'Config::enableEmuPpca || Config::forceEmuPpca || REGAL_FORCE_EMU_PPCA', 'ifdef' : 'REGAL_EMU_PPCA', 'formulae' : ppcaFormulae },
{ 'type' : 'Emu::Bin', 'include' : 'RegalBin.h', 'member' : 'bin', 'conditional' : 'Config::enableEmuBin || Config::forceEmuBin || REGAL_FORCE_EMU_BIN', 'ifdef' : 'REGAL_EMU_BIN', 'formulae' : binFormulae },
{ 'type' : 'Emu::Xfer', 'include' : 'RegalXfer.h', 'member' : 'xfer', 'conditional' : '(isES2() && Config::enableEmuXfer) || Config::forceEmuXfer || REGAL_FORCE_EMU_XFER', 'ifdef' : 'REGAL_EMU_XFER', 'formulae' : xferFormulae },
{ 'type' : 'Emu::Dsa', 'include' : 'RegalDsa.h', 'member' : 'dsa', 'conditional' : 'Config::enableEmuDsa || Config::forceEmuDsa || REGAL_FORCE_EMU_DSA', 'ifdef' : 'REGAL_EMU_DSA', 'formulae' : dsaFormulae },
{ 'type' : 'Emu::TexSto', 'include' : 'RegalTexSto.h', 'member' : 'texsto', 'conditional' : 'Config::enableEmuTexSto || Config::forceEmuTexSto || REGAL_FORCE_EMU_TEXSTO', 'ifdef' : 'REGAL_EMU_TEXSTO', 'formulae' : texstoFormulae },
{ 'type' : 'Emu::BaseVertex', 'include' : 'RegalBaseVertex.h', 'member' : 'bv', 'conditional' : 'Config::enableEmuBaseVertex || Config::forceEmuBaseVertex || REGAL_FORCE_EMU_BASEVERTEX', 'ifdef' : 'REGAL_EMU_BASEVERTEX', 'formulae' : baseVertexFormulae },
{ 'type' : 'Emu::Rect', 'include' : 'RegalRect.h', 'member' : 'rect', 'conditional' : 'Config::enableEmuRect || Config::forceEmuRect || REGAL_FORCE_EMU_RECT', 'ifdef' : 'REGAL_EMU_RECT', 'formulae' : rectFormulae },
{ 'type' : 'Emu::Iff', 'include' : 'RegalIff.h', 'member' : 'iff', 'conditional' : 'Config::enableEmuIff || Config::forceEmuIff || REGAL_FORCE_EMU_IFF', 'ifdef' : 'REGAL_EMU_IFF', 'formulae' : iffFormulae },
{ 'type' : 'Emu::So', 'include' : 'RegalSo.h', 'member' : 'so', 'conditional' : '(Config::enableEmuSo && !info->gl_arb_sampler_objects) || Config::forceEmuSo || REGAL_FORCE_EMU_SO', 'ifdef' : 'REGAL_EMU_SO', 'formulae' : soFormulae },
{ 'type' : 'Emu::Vao', 'include' : 'RegalVao.h', 'member' : 'vao', 'conditional' : '(Config::enableEmuVao || Config::enableEmuVao || REGAL_FORCE_EMU_VAO) && (Config::enableEmuIff || Config::forceEmuIff || REGAL_FORCE_EMU_IFF)', 'ifdef' : 'REGAL_EMU_VAO', 'formulae' : vaoFormulae },
{ 'type' : 'Emu::TexC', 'include' : 'RegalTexC.h', 'member' : 'texc', 'conditional' : '(isES2() && Config::enableEmuTexC) || Config::forceEmuTexC || REGAL_FORCE_EMU_TEXC', 'ifdef' : 'REGAL_EMU_TEXC', 'formulae' : texCFormulae },
{ 'type' : 'Emu::Filt', 'include' : 'RegalFilt.h', 'member' : 'filt', 'conditional' : 'Config::enableEmuFilter || Config::forceEmuFilter || REGAL_FORCE_EMU_FILTER', 'ifdef' : 'REGAL_EMU_FILTER', 'formulae' : filterFormulae },
{ 'type' : 'void', 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : None }
{ 'type' : 'Emu::Obj', 'include' : 'RegalObj.h', 'member' : 'obj', 'plugin' : False, 'conditional' : 'Config::enableEmuObj || Config::forceEmuObj || REGAL_FORCE_EMU_OBJ', 'ifdef' : 'REGAL_EMU_OBJ', 'formulae' : objFormulae },
#{ 'type' : 'RegalPpc', 'include' : 'RegalPpc.h', 'member' : 'ppc', 'plugin' : False, 'conditional' : None, 'ifdef' : '', 'formulae' : ppcFormulae },
{ 'type' : 'Emu::Ppa', 'include' : 'RegalPpa.h', 'member' : 'ppa', 'plugin' : False, 'conditional' : 'Config::enableEmuPpa || Config::forceEmuPpa || REGAL_FORCE_EMU_PPA', 'ifdef' : 'REGAL_EMU_PPA', 'formulae' : ppaFormulae },
{ 'type' : 'Emu::Ppca', 'include' : 'RegalPpca.h', 'member' : 'ppca', 'plugin' : False, 'conditional' : 'Config::enableEmuPpca || Config::forceEmuPpca || REGAL_FORCE_EMU_PPCA', 'ifdef' : 'REGAL_EMU_PPCA', 'formulae' : ppcaFormulae },
{ 'type' : 'Emu::Bin', 'include' : 'RegalBin.h', 'member' : 'bin', 'plugin' : False, 'conditional' : 'Config::enableEmuBin || Config::forceEmuBin || REGAL_FORCE_EMU_BIN', 'ifdef' : 'REGAL_EMU_BIN', 'formulae' : binFormulae },
{ 'type' : 'Emu::Xfer', 'include' : 'RegalXfer.h', 'member' : 'xfer', 'plugin' : False, 'conditional' : '(isES2() && Config::enableEmuXfer) || Config::forceEmuXfer || REGAL_FORCE_EMU_XFER', 'ifdef' : 'REGAL_EMU_XFER', 'formulae' : xferFormulae },
{ 'type' : 'Emu::Dsa', 'include' : 'RegalDsa.h', 'member' : 'dsa', 'plugin' : False, 'conditional' : 'Config::enableEmuDsa || Config::forceEmuDsa || REGAL_FORCE_EMU_DSA', 'ifdef' : 'REGAL_EMU_DSA', 'formulae' : dsaFormulae },
{ 'type' : 'Emu::TexSto', 'include' : 'RegalTexSto.h', 'member' : 'texsto', 'plugin' : False, 'conditional' : 'Config::enableEmuTexSto || Config::forceEmuTexSto || REGAL_FORCE_EMU_TEXSTO', 'ifdef' : 'REGAL_EMU_TEXSTO', 'formulae' : texstoFormulae },
{ 'type' : 'Emu::BaseVertex', 'include' : 'RegalBaseVertex.h', 'member' : 'bv', 'plugin' : False, 'conditional' : 'Config::enableEmuBaseVertex || Config::forceEmuBaseVertex || REGAL_FORCE_EMU_BASEVERTEX', 'ifdef' : 'REGAL_EMU_BASEVERTEX', 'formulae' : baseVertexFormulae },
{ 'type' : 'Emu::Rect', 'include' : 'RegalRect.h', 'member' : 'rect', 'plugin' : False, 'conditional' : 'Config::enableEmuRect || Config::forceEmuRect || REGAL_FORCE_EMU_RECT', 'ifdef' : 'REGAL_EMU_RECT', 'formulae' : rectFormulae },
{ 'type' : 'Emu::Iff', 'include' : 'RegalIff.h', 'member' : 'iff', 'plugin' : False, 'conditional' : 'Config::enableEmuIff || Config::forceEmuIff || REGAL_FORCE_EMU_IFF', 'ifdef' : 'REGAL_EMU_IFF', 'formulae' : iffFormulae },
{ 'type' : 'Emu::So', 'include' : 'RegalSo.h', 'member' : 'so', 'plugin' : False, 'conditional' : '(Config::enableEmuSo && !info->gl_arb_sampler_objects) || Config::forceEmuSo || REGAL_FORCE_EMU_SO', 'ifdef' : 'REGAL_EMU_SO', 'formulae' : soFormulae },
{ 'type' : 'Emu::Vao', 'include' : 'RegalVao.h', 'member' : 'vao', 'plugin' : False, 'conditional' : '(Config::enableEmuVao || Config::enableEmuVao || REGAL_FORCE_EMU_VAO) && (Config::enableEmuIff || Config::forceEmuIff || REGAL_FORCE_EMU_IFF)', 'ifdef' : 'REGAL_EMU_VAO', 'formulae' : vaoFormulae },
{ 'type' : 'Emu::TexC', 'include' : 'RegalTexC.h', 'member' : 'texc', 'plugin' : False, 'conditional' : '(isES2() && Config::enableEmuTexC) || Config::forceEmuTexC || REGAL_FORCE_EMU_TEXC', 'ifdef' : 'REGAL_EMU_TEXC', 'formulae' : texCFormulae },
{ 'type' : 'Emu::Filt', 'include' : 'RegalFilt.h', 'member' : 'filt', 'plugin' : False, 'conditional' : 'Config::enableEmuFilter || Config::forceEmuFilter || REGAL_FORCE_EMU_FILTER', 'ifdef' : 'REGAL_EMU_FILTER', 'formulae' : filterFormulae },
{ 'type' : 'void', 'include' : None, 'member' : None, 'plugin' : False, 'conditional' : None, 'ifdef' : None, 'formulae' : None }
]
contextHeaderTemplate = Template( '''${AUTOGENERATED}
@ -97,7 +97,7 @@ REGAL_GLOBAL_BEGIN
#include "RegalThread.h"
#include "RegalPrivate.h"
#include "RegalContextInfo.h"
#include "RegalDispatcher.h"
#include "RegalDispatcherGL.h"
#include "RegalDispatchError.h"
#include "RegalSharedList.h"
@ -132,7 +132,7 @@ struct RegalContext
inline bool isCompat() const { RegalAssert(info); return REGAL_SYS_GL && info->compat; }
bool initialized;
Dispatcher dispatcher;
DispatcherGL dispatcher;
DispatchErrorState err;
DebugInfo *dbg;
ContextInfo *info;
@ -477,7 +477,11 @@ def addEmulatedExtensions(extensions, emuLayer):
emuStr += 'info->regal_%s = true;\n' % name.lower()
emuStr += 'info->regalExtensionsSet.insert("GL_%s");\n' % name
str += wrapCIf('!info->gl_%s' % name.lower(), emuStr)
supportStr = '!info->gl_%s' % name.lower()
if (len(extension.emulatedIf)):
supportStr += ' && (%s)' % extension.emulatedIf
str += wrapCIf(supportStr, emuStr)
if str != '':
str += 'info->regalExtensions = ::boost::print::detail::join(info->regalExtensionsSet,std::string(" "));\n'

View file

@ -7,129 +7,36 @@ from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalDispatchShared import dispatchSourceTemplate
from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
##############################################################################################
def apiGlobalDispatchTableDefineCode(apis, args):
categoryPrev = None
code = ''
code += 'struct DispatchTableGlobal {\n'
code += '\n'
code += ' DispatchTableGlobal();\n'
code += ' ~DispatchTableGlobal();\n'
for api in apis:
code += '\n'
if api.name in cond:
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if function.needsContext:
continue
if getattr(function,'regalOnly',False)==True:
continue
name = function.name
params = paramsDefaultCode(function.parameters, True)
rType = typeCode(function.ret.type)
category = getattr(function, 'category', None)
version = getattr(function, 'version', None)
if category:
category = category.replace('_DEPRECATED', '')
elif version:
category = version.replace('.', '_')
category = 'GL_VERSION_' + category
# Close prev if block.
if categoryPrev and not (category == categoryPrev):
code += '\n'
# Begin new if block.
if category and not (category == categoryPrev):
code += ' // %s\n\n' % category
code += ' %s(REGAL_CALL *%s)(%s);\n' % (rType, name, params)
categoryPrev = category
if api.name in cond:
code += '#endif // %s\n' % cond[api.name]
code += '\n'
# Close pending if block.
if categoryPrev:
code += '\n'
code += '};\n'
return code
def apiDispatchTableDefineCode(apis, args):
categoryPrev = None
code = ''
code += 'struct DispatchTable {\n'
code += '\n'
code += ' bool _enabled;\n'
code += ' DispatchTable *_prev;\n'
code += ' DispatchTable *_next;\n'
code += '''
// Lookup a function pointer from the table,
// or deeper in the stack as necessary.
template<typename T>
T call(T *func)
def apiDispatchTableDefineCode(apis, args, apiNames, structName):
code = '''
struct %s
{
RegalAssert(func);
if (_enabled && *func)
return *func;
DispatchTable *i = this;
RegalAssert(i);
RegalAssert(reinterpret_cast<void *>(func)>=reinterpret_cast<void *>(i));
RegalAssert(reinterpret_cast<void *>(func)< reinterpret_cast<void *>(i+1));
const std::size_t offset = reinterpret_cast<char *>(func) - reinterpret_cast<char *>(i);
T f = *func;
// Step down the stack for the first available function in an enabled table
while (!f || !i->_enabled)
inline void setFunction(const size_t offset, void *func)
{
// Find the next enabled dispatch table
for (i = i->_next; !i->_enabled; i = i->_next) { RegalAssert(i); }
// Get the function pointer; extra cast through void* is to avoid -Wcast-align spew
RegalAssert(i);
RegalAssert(i->_enabled);
f = *reinterpret_cast<T *>(reinterpret_cast<void *>(reinterpret_cast<char *>(i)+offset));
RegalAssert((offset*sizeof(void *))<sizeof(this));
((void **)(this))[offset] = func;
}
'''%(structName)
return f;
}
'''
for api in apis:
if not api.name in apiNames:
continue
code += '\n'
if api.name in cond:
code += '#if %s\n' % cond[api.name]
for function in api.functions:
categoryPrev = None
if not function.needsContext:
continue
for function in api.functions:
if getattr(function,'regalOnly',False)==True:
continue
@ -167,7 +74,7 @@ def apiDispatchTableDefineCode(apis, args):
if categoryPrev:
code += '\n'
code += '};\n'
code += ' };\n'
return code
@ -187,12 +94,73 @@ REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
namespace Dispatch
{
${API_GLOBAL_DISPATCH_TABLE_DEFINE}
extern DispatchTableGlobal dispatchTableGlobal;
${API_DISPATCH_TABLE_DEFINE}
// Lookup a function pointer from the table,
// or deeper in the stack as necessary.
template<typename T, typename F>
F call(T &table, F *func)
{
RegalAssert(func);
if (table._enabled && *func)
return *func;
T *i = &table;
RegalAssert(i);
RegalAssert(reinterpret_cast<void *>(func)>=reinterpret_cast<void *>(i));
RegalAssert(reinterpret_cast<void *>(func)< reinterpret_cast<void *>(i+1));
const std::size_t offset = reinterpret_cast<char *>(func) - reinterpret_cast<char *>(i);
F f = *func;
// Step down the stack for the first available function in an enabled table
while (!f || !i->_enabled)
{
// Find the next enabled dispatch table
for (i = i->next(); !i->_enabled; i = i->next()) { RegalAssert(i); }
// Get the function pointer; extra cast through void* is to avoid -Wcast-align spew
RegalAssert(i);
RegalAssert(i->_enabled);
f = *reinterpret_cast<F *>(reinterpret_cast<void *>(reinterpret_cast<char *>(i)+offset));
}
return f;
}
}
struct DispatchTable
{
bool _enabled;
DispatchTable *_prev;
DispatchTable *_next;
};
struct DispatchTableGL : public DispatchTable, Dispatch::GL
{
template<typename T> T call(T *func) { return Dispatch::call(*this,func); }
inline DispatchTableGL *next() { return reinterpret_cast<DispatchTableGL *>(DispatchTable::_next); }
};
struct DispatchTableGlobal : public DispatchTable, Dispatch::Global
{
DispatchTableGlobal();
~DispatchTableGlobal();
template<typename T> T call(T *func) { return Dispatch::call(*this,func); }
inline DispatchTableGlobal *next() { return reinterpret_cast<DispatchTableGlobal *>(DispatchTable::_next); }
};
extern DispatchTableGlobal dispatchTableGlobal;
REGAL_NAMESPACE_END
#endif // __${HEADER_NAME}_H__
@ -200,11 +168,6 @@ REGAL_NAMESPACE_END
def generateDispatchHeader(apis, args):
globalDispatchTableDefine = apiGlobalDispatchTableDefineCode( apis, args )
dispatchTableDefine = apiDispatchTableDefineCode(apis, args)
# Output
substitute = {}
substitute['LICENSE'] = args.license
@ -212,7 +175,7 @@ def generateDispatchHeader(apis, args):
substitute['COPYRIGHT'] = args.copyright
substitute['HEADER_NAME'] = 'REGAL_DISPATCH'
substitute['API_GLOBAL_DISPATCH_TABLE_DEFINE'] = globalDispatchTableDefine
substitute['API_DISPATCH_TABLE_DEFINE'] = dispatchTableDefine
substitute['API_GLOBAL_DISPATCH_TABLE_DEFINE'] = apiDispatchTableDefineCode(apis,args,['wgl','glx','cgl','egl'],'Global')
substitute['API_DISPATCH_TABLE_DEFINE'] = apiDispatchTableDefineCode(apis,args,['gl'],'GL')
outputCode( '%s/RegalDispatch.h' % args.srcdir, dispatchHeaderTemplate.substitute(substitute))

View file

@ -83,7 +83,7 @@ using namespace ::boost::print;
${API_FUNC_DEFINE}
void InitDispatchTableCode(DispatchTable &tbl)
void InitDispatchTableCode(DispatchTableGL &tbl)
{
${API_GLOBAL_DISPATCH_INIT}
}
@ -125,7 +125,7 @@ def generateDispatchCode(apis, args):
code += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
code += ' RegalAssert(_context);\n'
code += ' DispatchTable *_next = _context->dispatcher.code._next;\n'
code += ' DispatchTableGL *_next = _context->dispatcher.code.next();\n'
code += ' RegalAssert(_next);\n'
code += ' '

View file

@ -7,10 +7,10 @@ from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate, apiDispatchFuncInitCode
from Emu import emuFindEntry, emuCodeGen
from DispatchDebug import debugDispatchFormulae
@ -61,7 +61,7 @@ def apiDebugFuncDefineCode(apis, args):
code += 'static %sREGAL_CALL %s%s(%s) \n{\n' % (rType, 'debug_', name, params)
code += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
code += ' RegalAssert(_context);\n'
code += ' DispatchTable *_next = _context->dispatcher.debug._next;\n'
code += ' DispatchTableGL *_next = _context->dispatcher.debug.next();\n'
code += ' RegalAssert(_next);\n'
e = emuFindEntry( function, debugDispatchFormulae, '' )
if e != None and 'prefix' in e :
@ -109,6 +109,7 @@ def generateDebugSource(apis, args):
substitute['LOCAL_CODE'] = debugLocalCode
substitute['API_DISPATCH_FUNC_DEFINE'] = funcDefine
substitute['API_DISPATCH_FUNC_INIT'] = funcInit
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = ''
substitute['IFDEF'] = '#if REGAL_DEBUG\n\n'
substitute['ENDIF'] = '#endif\n'

View file

@ -9,51 +9,12 @@ from ApiCodeGen import *
from RegalContext import emu
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate
from Emu import emuFindEntry, emuCodeGen
##############################################################################################
dispatchSourceTemplate = Template('''${AUTOGENERATED}
${LICENSE}
#include "pch.h" /* For MS precompiled header support */
#include "RegalUtil.h"
${IFDEF}REGAL_GLOBAL_BEGIN
#include <string>
using namespace std;
#include "RegalLog.h"
#include "RegalBreak.h"
#include "RegalPush.h"
#include "RegalToken.h"
#include "RegalHelper.h"
#include "RegalPrivate.h"
#include "RegalContext.h"
${LOCAL_INCLUDE}
REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
using namespace ::REGAL_NAMESPACE_INTERNAL::Logging;
using namespace ::REGAL_NAMESPACE_INTERNAL::Token;
${LOCAL_CODE}
${API_DISPATCH_FUNC_DEFINE}
void InitDispatchTable${DISPATCH_NAME}(DispatchTable &tbl)
{
${API_DISPATCH_FUNC_INIT}
}
REGAL_NAMESPACE_END
${ENDIF}''')
# CodeGen for API emu function definition.
@ -104,11 +65,13 @@ def apiEmuFuncDefineCode(apis, args):
code += '\nstatic %sREGAL_CALL %s%s(%s) \n{\n' % (rType, 'emu_', name, params)
code += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
code += ' RegalAssert(_context);\n'
code += ' DispatchTable &_dispatch = _context->dispatcher.emulation;\n'
code += ' DispatchTableGL &_dispatch = _context->dispatcher.emulation;\n'
code += '\n'
level = [ (emu[i], emuFindEntry( function, emu[i]['formulae'], emu[i]['member'] )) for i in range( len( emue ) - 1 ) ]
# PREFIX
if not all(i[1]==None or not 'prefix' in i[1] and not 'impl' in i[1] for i in level):
code += ' // prefix\n'
code += ' switch( _context->emuLevel )\n'
@ -119,11 +82,20 @@ def apiEmuFuncDefineCode(apis, args):
if l['ifdef']:
code += ' #if %s\n' % l['ifdef']
if e != None and 'prefix' in e and len(e['prefix']):
if l['member'] :
code += ' if (_context->%s)\n' % l['member']
code += ' {\n'
code += ' Push<int> pushLevel(_context->emuLevel);\n'
code += ' _context->emuLevel = %d;\n' %( int(l['level']) - 1 )
if l['member']:
code += ' if (_context->%s)\n' % l['member']
code += ' {\n'
code += ' Push<int> pushLevel(_context->emuLevel);\n'
code += ' _context->emuLevel = %d;\n' %( int(l['level']) - 1 )
if l['plugin']:
code += ' #if REGAL_PLUGIN\n'
code += ' Thread::ThreadLocal &_instance = Thread::ThreadLocal::instance();\n'
code += ' Push<DispatchTable *> pushDispatchTable(_instance.nextDispatchTable);\n'
code += ' _instance.nextDispatchTable = &_context->dispatcher.emulation;\n'
code += ' #endif\n'
for j in e['prefix'] :
code += ' %s\n' % j
if l['member'] :
@ -148,6 +120,8 @@ def apiEmuFuncDefineCode(apis, args):
es2Params = es2Name[j+1:-1]
es2Name = es2Name[0:j]
# IMPL
if not all(i[1]==None or not 'impl' in i[1] for i in level):
code += ' // impl\n'
code += ' switch( _context->emuLevel )\n'
@ -158,11 +132,20 @@ def apiEmuFuncDefineCode(apis, args):
if l['ifdef']:
code += ' #if %s\n' % l['ifdef']
if e != None and 'impl' in e and len(e['impl']):
if l['member'] :
code += ' if (_context->%s)\n' % l['member']
code += ' {\n'
code += ' Push<int> pushLevel(_context->emuLevel);\n'
code += ' _context->emuLevel = %d;\n' %( int(l['level']) - 1 )
if l['plugin']:
code += ' #if REGAL_PLUGIN\n'
code += ' Thread::ThreadLocal &_instance = Thread::ThreadLocal::instance();\n'
code += ' Push<DispatchTable *> pushDispatchTable(_instance.nextDispatchTable);\n'
code += ' _instance.nextDispatchTable = &_context->dispatcher.emulation;\n'
code += ' #endif\n'
for j in e['impl'] :
code += ' %s\n' % j
if l['member'] :
@ -261,7 +244,7 @@ def apiEmuFuncDefineCode(apis, args):
code += ' return;\n'
code += ' }\n'
code += ' DispatchTable *_next = _dispatch._next;\n'
code += ' DispatchTableGL *_next = _dispatch.next();\n'
code += ' RegalAssert(_next);\n'
if es2Name != None:
@ -312,7 +295,7 @@ def apiEmuFuncDefineCode(apis, args):
code += ' }\n'
code += ' }\n'
code += ' DispatchTable *_next = _dispatch._next;\n'
code += ' DispatchTableGL *_next = _dispatch.next();\n'
code += ' RegalAssert(_next);\n'
code += ' '
@ -444,6 +427,7 @@ def generateEmuSource(apis, args):
substitute['LOCAL_INCLUDE'] = emuLocalInclude
substitute['API_DISPATCH_FUNC_DEFINE'] = funcDefine
substitute['API_DISPATCH_FUNC_INIT'] = funcInit
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = ''
substitute['IFDEF'] = '#if REGAL_EMULATION\n\n'
substitute['ENDIF'] = '#endif\n'

View file

@ -7,10 +7,10 @@ from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate, apiDispatchFuncInitCode
##############################################################################################
# CodeGen for API error checking function definition.
@ -58,7 +58,7 @@ def apiErrorFuncDefineCode(apis, args):
code += ' Internal("error_%s","()");\n' % name
code += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
code += ' RegalAssert(_context);\n'
code += ' DispatchTable *_next = _context->dispatcher.error._next;\n'
code += ' DispatchTableGL *_next = _context->dispatcher.error.next();\n'
code += ' RegalAssert(_next);\n'
if name != 'glGetError':
code += ' GLenum _error = GL_NO_ERROR;\n'
@ -115,6 +115,7 @@ def generateErrorSource(apis, args):
substitute['LOCAL_CODE'] = ''
substitute['API_DISPATCH_FUNC_DEFINE'] = funcDefine
substitute['API_DISPATCH_FUNC_INIT'] = funcInit
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = ''
substitute['IFDEF'] = '#if REGAL_ERROR\n\n'
substitute['ENDIF'] = '#endif\n'
outputCode( '%s/RegalDispatchError.cpp' % args.srcdir, dispatchSourceTemplate.substitute(substitute))

View file

@ -31,7 +31,7 @@ REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
struct DispatchTable;
struct DispatchTableGL;
struct RegalGMockInterface
{
@ -42,7 +42,7 @@ struct RegalGMockInterface
${API_DISPATCH_MOCK_DEFINE}
};
void InitDispatchTable${DISPATCH_NAME}(DispatchTable &tbl);
void InitDispatchTable${DISPATCH_NAME}(DispatchTableGL &tbl);
REGAL_NAMESPACE_END
@ -92,7 +92,7 @@ RegalGMockInterface::~RegalGMockInterface()
RegalGMockInterface* RegalGMockInterface::current;
void InitDispatchTable${DISPATCH_NAME}(DispatchTable &tbl)
void InitDispatchTable${DISPATCH_NAME}(DispatchTableGL &tbl)
{
${API_DISPATCH_FUNC_INIT}
}

View file

@ -7,10 +7,10 @@ from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate, apiDispatchFuncInitCode, apiDispatchGlobalFuncInitCode
##############################################################################################
# CodeGen for API loader function definition.
@ -26,8 +26,6 @@ def apiLoaderFuncDefineCode(apis, args):
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if not function.needsContext:
continue
if getattr(function,'regalOnly',False)==True:
continue
@ -55,18 +53,42 @@ def apiLoaderFuncDefineCode(apis, args):
categoryPrev = category
code += 'static %sREGAL_CALL %s%s(%s) \n{\n' % (rType, 'loader_', name, params)
code += ' RegalContext * _context = REGAL_GET_CONTEXT();\n'
code += ' RegalAssert(_context);\n'
code += ' DispatchTable &_driver = _context->dispatcher.driver;\n'
# Get a reference to the appropriate dispatch table and attempt GetProcAddress
if function.needsContext:
code += ' RegalContext * _context = REGAL_GET_CONTEXT();\n'
code += ' RegalAssert(_context);\n'
code += ' DispatchTableGL &_driver = _context->dispatcher.driver;\n'
else:
code += ' DispatchTableGlobal &_driver = dispatcherGlobal.driver;\n'
code += ' GetProcAddress(_driver.%s, "%s");\n' % (name, name)
code += ' if (_driver.%s) {\n ' % name
if not typeIsVoid(rType):
code += 'return '
# Check that Regal didn't load itself, somehow
code += ' RegalAssert(_driver.%s!=%s);\n'%(name,name)
code += ' if (_driver.%s==%s)\n'%(name,name)
code += ' _driver.%s = NULL;\n'%(name)
# Call the driver dispatch, if possible
code += ' if (_driver.%s)\n' % name
if typeIsVoid(rType):
code += ' {\n '
else:
code += ' return '
code += '_driver.%s(%s);\n' % ( name, callParams )
if typeIsVoid(rType):
code += ' return;\n'
code += ' }\n'
code += ' DispatchTable *_next = _driver._next;\n'
code += ' }\n'
if function.needsContext:
code += ' DispatchTableGL *_next = _driver.next();\n'
else:
code += ' DispatchTableGlobal *_next = _driver.next();\n'
code += ' RegalAssert(_next);\n'
code += ' '
if not typeIsVoid(rType):
@ -84,13 +106,11 @@ def apiLoaderFuncDefineCode(apis, args):
return code
loaderLocalCode = ''
def generateLoaderSource(apis, args):
funcDefine = apiLoaderFuncDefineCode( apis, args )
funcInit = apiDispatchFuncInitCode( apis, args, 'loader' )
globalFuncInit = apiDispatchGlobalFuncInitCode( apis, args, 'loader' )
# Output
@ -100,10 +120,11 @@ def generateLoaderSource(apis, args):
substitute['AUTOGENERATED'] = args.generated
substitute['COPYRIGHT'] = args.copyright
substitute['DISPATCH_NAME'] = 'Loader'
substitute['LOCAL_CODE'] = loaderLocalCode
substitute['LOCAL_INCLUDE'] = ''
substitute['LOCAL_CODE'] = ''
substitute['LOCAL_INCLUDE'] = '#include "RegalDispatcherGlobal.h"\n'
substitute['API_DISPATCH_FUNC_DEFINE'] = funcDefine
substitute['API_DISPATCH_FUNC_INIT'] = funcInit
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = globalFuncInit
substitute['IFDEF'] = '#if REGAL_DRIVER && !REGAL_SYS_PPAPI\n\n'
substitute['ENDIF'] = '#endif\n'

View file

@ -9,61 +9,11 @@ from ApiRegal import logFunction
from RegalContextInfo import cond
from RegalDispatchShared import apiDispatchFuncInitCode
from RegalDispatchShared import apiDispatchGlobalFuncInitCode
# CodeGen for dispatch table init.
def apiDispatchFuncInitCode(apis, args, dispatchName):
categoryPrev = None
code = ''
for api in apis:
code += '\n'
if api.name in cond:
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if not function.needsContext:
continue
if getattr(function,'regalOnly',False)==True:
continue
name = function.name
params = paramsDefaultCode(function.parameters, True)
callParams = paramsNameCode(function.parameters)
rType = typeCode(function.ret.type)
category = getattr(function, 'category', None)
version = getattr(function, 'version', None)
if category:
category = category.replace('_DEPRECATED', '')
elif version:
category = version.replace('.', '_')
category = 'GL_VERSION_' + category
# Close prev category block.
if categoryPrev and not (category == categoryPrev):
code += '\n'
# Begin new category block.
if category and not (category == categoryPrev):
code += ' // %s\n\n' % category
categoryPrev = category
code += ' tbl.%s = %s_%s;\n' % ( name, dispatchName, name )
if api.name in cond:
code += '#endif // %s\n' % cond[api.name]
code += '\n'
# Close pending if block.
if categoryPrev:
code += '\n'
return code
dispatchLogTemplate = Template('''${AUTOGENERATED}
${LICENSE}
@ -80,6 +30,9 @@ REGAL_GLOBAL_BEGIN
#include "RegalToken.h"
#include "RegalHelper.h"
#include "RegalContext.h"
#include "RegalDispatch.h"
#include "RegalDispatcherGL.h"
#include "RegalDispatcherGlobal.h"
using namespace ::REGAL_NAMESPACE_INTERNAL::Logging;
using namespace ::REGAL_NAMESPACE_INTERNAL::Token;
@ -90,11 +43,13 @@ REGAL_NAMESPACE_BEGIN
${API_FUNC_DEFINE}
void InitDispatchTableLog(DispatchTable &tbl)
void InitDispatchTableLog(DispatchTableGL &tbl)
{
${API_GLOBAL_DISPATCH_INIT}
${API_GL_DISPATCH_INIT}
}
${API_GLOBAL_DISPATCH_INIT}
REGAL_NAMESPACE_END
#endif
@ -115,8 +70,7 @@ def generateDispatchLog(apis, args):
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if not function.needsContext:
continue
if getattr(function,'regalOnly',False)==True:
continue
@ -145,8 +99,10 @@ def generateDispatchLog(apis, args):
code += 'static %sREGAL_CALL %s%s(%s) \n{\n' % (rType, 'log_', name, params)
# code += ' %s\n' % logFunction( function, 'Driver', True, False )
code += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
code += ' RegalAssert(_context);\n'
if function.needsContext:
code += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
code += ' RegalAssert(_context);\n'
# Temporarily adjust the context begin/end depth for proper indentation
# of the glBegin call
@ -172,7 +128,11 @@ def generateDispatchLog(apis, args):
code += ' Push<size_t> pushDepth(_context->depthNewList);\n'
code += ' _context->depthNewList--;\n'
code += ' DispatchTable *_next = _context->dispatcher.logging._next;\n'
if function.needsContext:
code += ' DispatchTableGL *_next = _context->dispatcher.logging.next();\n'
else:
code += ' DispatchTableGlobal *_next = dispatcherGlobal.logging.next();\n'
code += ' RegalAssert(_next);\n'
code += ' '
if not typeIsVoid(rType):
@ -182,7 +142,7 @@ def generateDispatchLog(apis, args):
if typeIsVoid(rType):
code += ' %s\n' % logFunction( function, 'Driver', True, True )
else:
code += ' %s\n' % logFunction( function, 'Driver', True, True, "ret" )
code += ' %s\n' % logFunction( function, 'Driver', True, True, True )
# Special handling for glUseProgram - log the attached shaders.
@ -208,8 +168,6 @@ def generateDispatchLog(apis, args):
if categoryPrev:
code += '\n'
funcInit = apiDispatchFuncInitCode( apis, args, 'log' )
# Output
substitute = {}
@ -217,6 +175,7 @@ def generateDispatchLog(apis, args):
substitute['AUTOGENERATED'] = args.generated
substitute['COPYRIGHT'] = args.copyright
substitute['API_FUNC_DEFINE'] = code
substitute['API_GLOBAL_DISPATCH_INIT'] = funcInit
substitute['API_GL_DISPATCH_INIT'] = apiDispatchFuncInitCode( apis, args, 'log' )
substitute['API_GLOBAL_DISPATCH_INIT'] = apiDispatchGlobalFuncInitCode( apis, args, 'log' )
outputCode( '%s/RegalDispatchLog.cpp' % args.srcdir, dispatchLogTemplate.substitute(substitute))

View file

@ -8,10 +8,12 @@ from ApiUtil import typeIsVoidPointer
from ApiCodeGen import *
from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate
from RegalDispatchShared import apiDispatchFuncInitCode
from RegalDispatchShared import apiDispatchGlobalFuncInitCode
##############################################################################################
# CodeGen for missing dispatch functions
@ -29,16 +31,14 @@ def apiMissingFuncDefineCode(apis, args):
for function in api.functions:
if not function.needsContext:
continue
if getattr(function,'regalOnly',False)==True:
continue
name = function.name
params = paramsDefaultCode(function.parameters, True)
callParams = paramsNameCode(function.parameters)
rType = typeCode(function.ret.type)
rType = typeCode(function.ret.type)
rTypes = rType.strip()
category = getattr(function, 'category', None)
version = getattr(function, 'version', None)
@ -62,11 +62,16 @@ def apiMissingFuncDefineCode(apis, args):
for param in function.parameters:
code += ' UNUSED_PARAMETER(%s);\n' % param.name
code += ' Warning( "%s not available." );\n' % name
if not typeIsVoid(rType):
if rType[-1]=='*' or typeIsVoidPointer(rType):
code += ' return NULL;\n'
if rTypes in api.defaults:
code += ' return %s;\n' % ( api.defaults[rTypes] )
else:
code += ' return (%s)0;\n'%(rType)
if rType[-1]=='*' or typeIsVoidPointer(rType):
code += ' return NULL;\n'
else:
code += ' return (%s) 0;\n' % ( rTypes )
code += '}\n\n'
if api.name in cond:
@ -89,6 +94,7 @@ def generateMissingSource(apis, args):
substitute['LOCAL_CODE'] = ''
substitute['API_DISPATCH_FUNC_DEFINE'] = apiMissingFuncDefineCode( apis, args )
substitute['API_DISPATCH_FUNC_INIT'] = apiDispatchFuncInitCode( apis, args, 'missing' )
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = apiDispatchGlobalFuncInitCode( apis, args, 'missing' )
substitute['IFDEF'] = ''
substitute['ENDIF'] = ''

View file

@ -7,10 +7,10 @@ from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate, apiDispatchFuncInitCode
##############################################################################################
# CodeGen for PPAPI dispatch functions
@ -107,6 +107,7 @@ def generatePpapiSource(apis, args):
substitute['LOCAL_CODE'] = ''
substitute['API_DISPATCH_FUNC_DEFINE'] = funcDefine
substitute['API_DISPATCH_FUNC_INIT'] = funcInit
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = ''
substitute['IFDEF'] = '#if REGAL_DRIVER && REGAL_SYS_PPAPI\n'
substitute['ENDIF'] = '#endif\n'

View file

@ -0,0 +1,177 @@
#!/usr/bin/python -B
from string import Template, upper, replace
from ApiCodeGen import paramsDefaultCode
from ApiCodeGen import paramsNameCode, typeCode
from RegalContextInfo import cond
############################################################################
dispatchSourceTemplate = Template('''${AUTOGENERATED}
${LICENSE}
#include "pch.h" /* For MS precompiled header support */
#include "RegalUtil.h"
${IFDEF}REGAL_GLOBAL_BEGIN
#include <string>
using namespace std;
#include "RegalLog.h"
#include "RegalBreak.h"
#include "RegalPush.h"
#include "RegalToken.h"
#include "RegalHelper.h"
#include "RegalPrivate.h"
#include "RegalContext.h"
${LOCAL_INCLUDE}
REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
using namespace ::REGAL_NAMESPACE_INTERNAL::Logging;
using namespace ::REGAL_NAMESPACE_INTERNAL::Token;
${LOCAL_CODE}
${API_DISPATCH_FUNC_DEFINE}
void InitDispatchTable${DISPATCH_NAME}(DispatchTableGL &tbl)
{
${API_DISPATCH_FUNC_INIT}
}
${API_DISPATCH_GLOBAL_FUNC_INIT}
REGAL_NAMESPACE_END
${ENDIF}''')
def apiDispatchFuncInitCode(apis, args, dispatchName, exclude=[], filter = lambda x : True):
categoryPrev = None
code = ''
for api in apis:
code += '\n'
if api.name in cond:
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if not function.needsContext:
continue
if not filter(function):
continue
if getattr(function,'regalOnly',False)==True:
continue
if function.name in exclude:
continue
name = function.name
params = paramsDefaultCode(function.parameters, True)
callParams = paramsNameCode(function.parameters)
rType = typeCode(function.ret.type)
category = getattr(function, 'category', None)
version = getattr(function, 'version', None)
if category:
category = category.replace('_DEPRECATED', '')
elif version:
category = version.replace('.', '_')
category = 'GL_VERSION_' + category
# Close prev category block.
if categoryPrev and not (category == categoryPrev):
code += '\n'
# Begin new category block.
if category and not (category == categoryPrev):
code += ' // %s\n\n' % category
categoryPrev = category
code += ' tbl.%s = %s_%s;\n' % ( name, dispatchName, name )
if api.name in cond:
code += '#endif // %s\n' % cond[api.name]
code += '\n'
# Close pending if block.
if categoryPrev:
code += '\n'
return code
def apiDispatchGlobalFuncInitCode(apis, args, dispatchName, exclude=[], filter = lambda x : True):
categoryPrev = None
code = '''
void InitDispatchTableGlobal%s%s(DispatchTableGlobal &tbl)
{
'''%(dispatchName[0:1].upper(),dispatchName[1:])
for api in apis:
code += '\n'
if api.name in cond:
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if function.needsContext:
continue
if not filter(function):
continue
if getattr(function,'regalOnly',False)==True:
continue
if function.name in exclude:
continue
name = function.name
params = paramsDefaultCode(function.parameters, True)
callParams = paramsNameCode(function.parameters)
rType = typeCode(function.ret.type)
category = getattr(function, 'category', None)
version = getattr(function, 'version', None)
if category:
category = category.replace('_DEPRECATED', '')
elif version:
category = version.replace('.', '_')
category = 'GL_VERSION_' + category
# Close prev category block.
if categoryPrev and not (category == categoryPrev):
code += '\n'
# Begin new category block.
if category and not (category == categoryPrev):
code += ' // %s\n\n' % category
categoryPrev = category
code += ' tbl.%s = %s_%s;\n' % ( name, dispatchName, name )
if api.name in cond:
code += '#endif // %s\n' % cond[api.name]
code += '\n'
# Close pending if block.
if categoryPrev:
code += '\n'
code += '}\n'
return code

View file

@ -7,10 +7,10 @@ from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate, apiDispatchFuncInitCode
##############################################################################################
dispatchGlobalSourceTemplate = Template('''${AUTOGENERATED}
@ -95,6 +95,7 @@ def generateStaticEGLSource(apis, args):
substitute['LOCAL_CODE'] = ''
substitute['API_DISPATCH_FUNC_DEFINE'] = ''
substitute['API_DISPATCH_FUNC_INIT'] = apiStaticEGLFuncInitCode( apis, args )
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = ''
substitute['IFDEF'] = '#if REGAL_SYS_EGL && REGAL_DRIVER && REGAL_STATIC_EGL\n\n'
substitute['ENDIF'] = '#endif\n'

View file

@ -7,10 +7,10 @@ from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate, apiDispatchFuncInitCode
##############################################################################################
def apiStaticES2FuncInitCode(apis, args):
@ -73,6 +73,7 @@ def generateStaticES2Source(apis, args):
substitute['LOCAL_CODE'] = ''
substitute['API_DISPATCH_FUNC_DEFINE'] = ''
substitute['API_DISPATCH_FUNC_INIT'] = apiStaticES2FuncInitCode( apis, args )
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = ''
substitute['IFDEF'] = '#if REGAL_DRIVER && REGAL_STATIC_ES2\n\n'
substitute['ENDIF'] = '#endif\n'

View file

@ -11,6 +11,10 @@ from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate
from RegalDispatchShared import apiDispatchFuncInitCode
from RegalDispatchShared import apiDispatchGlobalFuncInitCode
from Emu import emuFindEntry, emuCodeGen
##############################################################################################
@ -26,11 +30,13 @@ def apiStatisticsFuncDefineCode(apis, args):
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if not function.needsContext:
continue
if getattr(function,'regalOnly',False)==True:
continue
if not function.needsContext:
continue
name = function.name
params = paramsDefaultCode(function.parameters, True)
callParams = paramsNameCode(function.parameters)
@ -96,7 +102,10 @@ def apiStatisticsFuncDefineCode(apis, args):
code += ' default: break;\n'
code += ' }\n\n'
code += ' DispatchTable *_next = _context->dispatcher.statistics._next;\n'
if function.needsContext:
code += ' DispatchTableGL *_next = _context->dispatcher.statistics.next();\n'
else:
code += ' DispatchTableGlobal *_next = dispatcherGlobal.statistics.next();\n'
code += ' RegalAssert(_next);\n'
code += ' '
@ -119,8 +128,8 @@ def apiStatisticsFuncDefineCode(apis, args):
def generateDispatchStatistics(apis, args):
funcDefine = apiStatisticsFuncDefineCode( apis, args )
funcInit = apiDispatchFuncInitCode( apis, args, 'statistics' )
funcDefine = apiStatisticsFuncDefineCode( apis, args )
funcInit = apiDispatchFuncInitCode( apis, args, 'statistics' )
# Output
@ -132,8 +141,9 @@ def generateDispatchStatistics(apis, args):
substitute['DISPATCH_NAME'] = 'Statistics'
substitute['LOCAL_INCLUDE'] = '#include "RegalStatistics.h"'
substitute['LOCAL_CODE'] = ''
substitute['API_DISPATCH_FUNC_DEFINE'] = funcDefine
substitute['API_DISPATCH_FUNC_INIT'] = funcInit
substitute['API_DISPATCH_FUNC_DEFINE'] = funcDefine
substitute['API_DISPATCH_FUNC_INIT'] = funcInit
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = ''
substitute['IFDEF'] = '#if REGAL_STATISTICS\n\n'
substitute['ENDIF'] = '#endif\n'

View file

@ -0,0 +1,156 @@
#!/usr/bin/python -B
from string import Template, upper, replace
from ApiUtil import outputCode
from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalContextInfo import cond
from RegalDispatchShared import dispatchSourceTemplate, apiDispatchFuncInitCode, apiDispatchGlobalFuncInitCode
from RegalDispatchTraceExclude import exclude
##############################################################################################
# CodeGen for API error checking function definition.
def apiTraceFuncDefineCode(apis, args):
categoryPrev = None
code = ''
code += 'namespace Trace\n'
code += '{\n'
for api in apis:
code += '\n'
if api.name in cond:
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if getattr(function,'regalOnly',False)==True:
continue
if function.name in exclude:
continue
name = function.name
params = paramsDefaultCode(function.parameters, True)
callParams = paramsNameCode(function.parameters)
rType = typeCode(function.ret.type)
category = getattr(function, 'category', None)
version = getattr(function, 'version', None)
if category:
category = category.replace('_DEPRECATED', '')
elif version:
category = version.replace('.', '_')
category = 'GL_VERSION_' + category
# Close prev category block.
if categoryPrev and not (category == categoryPrev):
code += '\n'
# Begin new category block.
if category and not (category == categoryPrev):
code += '// %s\n\n' % category
categoryPrev = category
code += ' %s %s(%s);\n' % (rType, name, params)
if api.name in cond:
code += '#endif // %s\n' % cond[api.name]
code += '\n'
# Close pending if block.
if categoryPrev:
code += '\n'
code += '} // namespace Trace \n\n'
for api in apis:
code += '\n'
if api.name in cond:
code += '#if %s\n' % cond[api.name]
for function in api.functions:
if getattr(function,'regalOnly',False)==True:
continue
if function.name in exclude:
continue
name = function.name
params = paramsDefaultCode(function.parameters, True)
callParams = paramsNameCode(function.parameters)
rType = typeCode(function.ret.type)
category = getattr(function, 'category', None)
version = getattr(function, 'version', None)
if category:
category = category.replace('_DEPRECATED', '')
elif version:
category = version.replace('.', '_')
category = 'GL_VERSION_' + category
# Close prev category block.
if categoryPrev and not (category == categoryPrev):
code += '\n'
# Begin new category block.
if category and not (category == categoryPrev):
code += '// %s\n\n' % category
categoryPrev = category
code += 'static %sREGAL_CALL %s%s(%s) \n{\n' % (rType, 'trace_', name, params)
code += ' Internal("trace_%s","()");\n' % name
code += ' Thread::ThreadLocal &_instance = Thread::ThreadLocal::instance();\n'
code += ' RegalAssert(_instance.currentContext);\n'
if function.needsContext:
code += ' Push<DispatchTableGL *> _push(_instance.nextDispatchTable);\n'
code += ' _instance.nextDispatchTable = _instance.currentContext->dispatcher.trace.next();\n'
else:
code += ' Push<DispatchTableGlobal *> _push(_instance.nextDispatchTableGlobal);\n'
code += ' _instance.nextDispatchTableGlobal = dispatcherGlobal.trace.next();\n'
code += ' '
if not typeIsVoid(rType):
code += '%s ret = ' % rType
#code += '_next->call(&_next->%s)(%s);\n' % ( name, callParams )
code += 'Trace::%s(%s);\n' % ( name, callParams )
if not typeIsVoid(rType):
code += ' return ret;\n'
code += '}\n\n'
if api.name in cond:
code += '#endif // %s\n' % cond[api.name]
code += '\n'
# Close pending if block.
if categoryPrev:
code += '\n'
return code
def generateTraceSource(apis, args):
funcDefine = apiTraceFuncDefineCode( apis, args )
funcInit = apiDispatchFuncInitCode( apis, args, 'trace', exclude )
globalFuncInit = apiDispatchGlobalFuncInitCode( apis, args, 'trace', exclude )
substitute = {}
substitute['LICENSE'] = args.license
substitute['AUTOGENERATED'] = args.generated
substitute['COPYRIGHT'] = args.copyright
substitute['DISPATCH_NAME'] = 'Trace'
substitute['LOCAL_INCLUDE'] = '#include "RegalDispatcherGlobal.h"\n'
substitute['LOCAL_CODE'] = ''
substitute['API_DISPATCH_FUNC_DEFINE'] = funcDefine
substitute['API_DISPATCH_FUNC_INIT'] = funcInit
substitute['API_DISPATCH_GLOBAL_FUNC_INIT'] = globalFuncInit
substitute['IFDEF'] = '#if REGAL_TRACE\n\n'
substitute['ENDIF'] = '#endif\n'
outputCode( '%s/RegalDispatchTrace.cpp' % args.srcdir, dispatchSourceTemplate.substitute(substitute))

View file

@ -0,0 +1,211 @@
# we need to exclude these functions from the dispatch becuse they do not exist in apitrace
exclude = [
"glIsPathNV",
"glOrthofOES",
"glCopyPathNV",
"glGenPathsNV",
"glEndSceneEXT",
"glFrustumfOES",
"glIsSyncAPPLE",
"glVDPAUFiniNV",
"glVDPAUInitNV",
"glLightEnviEXT",
"glPathCoordsNV",
"glPathFogGenNV",
"glPathGlyphsNV",
"glPathStringNV",
"glPathTexGenNV",
"glAlphaFuncQCOM",
"glBeginSceneEXT",
"glClipPlanefOES",
"glDeletePathsNV",
"glEndTilingQCOM",
"glWaitSyncAPPLE",
"glWeightPathsNV",
"glClearDepthfOES",
"glDepthRangefOES",
"glFenceSyncAPPLE",
"glGetFloati_vEXT",
"glGetSyncivAPPLE",
"glPathColorGenNV",
"glPathCommandsNV",
"glReadnPixelsEXT",
"glTextureFogSGIX",
"glCoverFillPathNV",
"glDeleteSyncAPPLE",
"glGetDoublei_vEXT",
"glGetPathCoordsNV",
"glGetPathLengthNV",
"glPathDashArrayNV",
"glPathSubCoordsNV",
"glStartTilingQCOM",
"glTexScissorINTEL",
"glTexStorage1DEXT",
"glTexStorage2DEXT",
"glTexStorage3DEXT",
"glTransformPathNV",
"glGetClipPlanefOES",
"glGetImageHandleNV",
"glGetIntegeri_vEXT",
"glGetPathMetricsNV",
"glGetPathSpacingNV",
"glGetPointeri_vEXT",
"glGetnUniformfvEXT",
"glGetnUniformivEXT",
"glPathGlyphRangeNV",
"glPathParameterfNV",
"glPathParameteriNV",
"glPointAlongPathNV",
"glVDPAUIsSurfaceNV",
"glWeightPointerOES",
"glBlitFramebufferNV",
"glCoverStrokePathNV",
"glExtGetBuffersQCOM",
"glExtGetShadersQCOM",
"glFragmentLightfEXT",
"glFragmentLightiEXT",
"glGetPathCommandsNV",
"glGetPathTexGenfvNV",
"glGetPathTexGenivNV",
"glMapBufferRangeEXT",
"glPathParameterfvNV",
"glPathParameterivNV",
"glPathStencilFuncNV",
"glPathSubCommandsNV",
"glStencilFillPathNV",
"glStencilOpValueAMD",
"glExtGetProgramsQCOM",
"glExtGetTexturesQCOM",
"glFragmentLightfvEXT",
"glFragmentLightivEXT",
"glGetInteger64vAPPLE",
"glGetPathDashArrayNV",
"glGetTextureHandleNV",
"glInterpolatePathsNV",
"glMultiTexImage1DEXT",
"glMultiTexImage2DEXT",
"glMultiTexImage3DEXT",
"glReadVideoPixelsSUN",
"glVDPAUMapSurfacesNV",
"glClientWaitSyncAPPLE",
"glGetPathColorGenfvNV",
"glGetPathColorGenivNV",
"glIsPointInFillPathNV",
"glStencilStrokePathNV",
"glTexScissorFuncINTEL",
"glUniformHandleui64NV",
"glVDPAUGetSurfaceivNV",
"glFragmentMaterialfEXT",
"glFragmentMaterialiEXT",
"glGetPathMetricRangeNV",
"glGetPathParameterfvNV",
"glGetPathParameterivNV",
"glPathCoverDepthFuncNV",
"glReadBufferIndexedEXT",
"glUniformHandleui64vNV",
"glVDPAUSurfaceAccessNV",
"glVDPAUUnmapSurfacesNV",
"glDrawBuffersIndexedEXT",
"glEnableClientStateiEXT",
"glExtGetTexSubImageQCOM",
"glFragmentMaterialfvEXT",
"glFragmentMaterialivEXT",
"glGetDriverControlsQCOM",
"glGetFragmentLightfvEXT",
"glGetFragmentLightivEXT",
"glIsPointInStrokePathNV",
"glMatrixIndexPointerOES",
"glCopyTextureLevelsAPPLE",
"glDisableClientStateiEXT",
"glExtGetFramebuffersQCOM",
"glExtIsProgramBinaryQCOM",
"glFragmentLightModelfEXT",
"glFragmentLightModeliEXT",
"glFramebufferTextureFace",
"glEnableDriverControlQCOM",
"glEndConditionalRenderNVX",
"glExtGetRenderbuffersQCOM",
"glFragmentLightModelfvEXT",
"glFragmentLightModelivEXT",
"glIsImageHandleResidentNV",
"glLogMessageCallbackREGAL",
"glCoverFillPathInstancedNV",
"glCreateSyncFromCLeventARB",
"glDisableDriverControlQCOM",
"glDrawArraysInstancedANGLE",
"glExtGetBufferPointervQCOM",
"glFragmentColorMaterialEXT",
"glGetFragmentMaterialfvEXT",
"glGetFragmentMaterialivEXT",
"glPathStencilDepthOffsetNV",
"glVDPAUUnregisterSurfaceNV",
"glVertexAttribDivisorANGLE",
"glBeginConditionalRenderNVX",
"glFlushMappedBufferRangeEXT",
"glGetTextureSamplerHandleNV",
"glIsTextureHandleResidentNV",
"glMakeImageHandleResidentNV",
"glClearNamedBufferSubDataEXT",
"glCoverStrokePathInstancedNV",
"glDrawElementsInstancedANGLE",
"glGetDriverControlStringQCOM",
"glProgramUniformHandleui64NV",
"glStencilFillPathInstancedNV",
"glMakeTextureHandleResidentNV",
"glProgramUniformHandleui64vNV",
"glVDPAURegisterVideoSurfaceNV",
"glMakeImageHandleNonResidentNV",
"glStencilStrokePathInstancedNV",
"glVDPAURegisterOutputSurfaceNV",
"glExtGetProgramBinarySourceQCOM",
"glExtGetTexLevelParameterivQCOM",
"glExtTexObjectStateOverrideiQCOM",
"glGetTranslatedShaderSourceANGLE",
"glMakeTextureHandleNonResidentNV",
"glGetPixelTransformParameterfvEXT",
"glGetPixelTransformParameterivEXT",
"glFramebufferTexture2DMultisampleEXT",
"glDrawTextureNV",
"glGetQueryObjectivEXT",
"glQueryCounterEXT",
'eglStreamConsumerAcquireKHR',
'eglStreamConsumerGLTextureExternalKHR',
'eglStreamConsumerReleaseKHR',
'eglCreateStreamFromFileDescriptorKHR',
'eglGetStreamFileDescriptorKHR',
'eglCreateStreamProducerSurfaceKHR',
'eglWaitSyncKHR',
'eglCoverageMaskNV',
'eglCoverageOperationNV',
"glXGetVideoDeviceNV",
"glXEnumerateVideoDevicesNV",
"glXDeleteAssociatedContextAMD",
"glXCreateAssociatedContextAttribsAMD",
"glXMakeAssociatedContextCurrentAMD",
"glXGetGPUInfoAMD",
"glXVideoResizeSUN",
"glXSendPbufferToVideoNV",
"glXEnumerateVideoCaptureDevicesNV",
"glXBindVideoDeviceNV",
"glXGetVideoResizeSUN",
"glXGetVideoInfoNV",
"glXDrawableAttribATI",
"glXReleaseVideoImageNV",
"glXLockVideoCaptureDeviceNV",
"glXCreateAssociatedContextAMD",
"glXGetCurrentAssociatedContextAMD",
"glXBlitContextFramebufferAMD",
"glXBindVideoImageNV",
"glXReleaseVideoCaptureDeviceNV",
"glXQueryVideoCaptureDeviceNV",
"glXChooseFBConfigSGIX",
"glXBindTexImageATI",
"glXReleaseTexImageATI",
"glXGetContextGPUIDAMD",
"glXGetGPUIDsAMD",
"glXBindVideoCaptureDeviceNV",
"glXGetTransparentIndexSUN",
"glXReleaseVideoDeviceNV"
]

View file

@ -59,18 +59,15 @@ def generateLookupSource(apis, args):
names.sort()
# offset table
table = "DispatchTableGlobal"
table = "Dispatch::Global"
if( i.name == "gl" ):
table = "DispatchTable"
table = "Dispatch::GL"
for j in names:
if j in regalOnly:
code.append(" 0,")
else:
if i.name == "gl":
code.append(" offsetof(%s,%s)/sizeof(void *),"%(table,j))
else:
code.append(" ((char *)(&dispatchTableGlobal.%s)-(char *)(&dispatchTableGlobal))/sizeof(void *),"%(j))
code.append(" offsetof(%s,%s)/sizeof(void *),"%(table,j))
code.append( ' 0')
code.append('};')

View file

@ -33,7 +33,6 @@ REGAL_GLOBAL_BEGIN
#if REGAL_PLUGIN
#include "RegalContext.h"
#include "RegalDispatch.h"
#include "RegalDispatcher.h"
extern "C" {
@ -76,22 +75,17 @@ def generatePluginHeader(apis, args):
c = ''
c += '%sREGAL_CALL plugin_%s(%s) \n{\n' % (rType, name, params)
c += ' ::REGAL_NAMESPACE_INTERNAL::Thread::ThreadLocal &_instance = ::REGAL_NAMESPACE_INTERNAL::Thread::ThreadLocal::instance();\n'
if function.needsContext:
c += ' ::REGAL_NAMESPACE_INTERNAL::Thread::ThreadLocal &_instance = ::REGAL_NAMESPACE_INTERNAL::Thread::ThreadLocal::instance();\n'
c += ' ::REGAL_NAMESPACE_INTERNAL::DispatchTable *_next = _instance.nextDispatchTable;\n'
c += ' RegalAssert(_next);\n'
if not typeIsVoid(rType):
c += ' return '
else:
c += ' '
c += '_next->call(&_next->%s)(%s);\n}\n' % ( name, callParams )
c += ' ::REGAL_NAMESPACE_INTERNAL::DispatchTableGL *_next = _instance.nextDispatchTable;\n'
else:
# c += ' ::REGAL_NAMESPACE_INTERNAL::DispatchTableGlobal *_next = _instance.nextDispatchTableGlobal;\n'
if not typeIsVoid(rType):
c += ' return '
else:
c += ' '
c += '::REGAL_NAMESPACE_INTERNAL::dispatchTableGlobal.%s(%s);\n}\n' % ( name, callParams )
c += ' ::REGAL_NAMESPACE_INTERNAL::DispatchTableGlobal *_next = _instance.nextDispatchTableGlobal;\n'
c += ' RegalAssert(_next);\n'
if not typeIsVoid(rType):
c += ' return '
else:
c += ' '
c += '_next->call(&_next->%s)(%s);\n}\n' % ( name, callParams )
tmp.append( (category, indent(c,' ') ) )

File diff suppressed because it is too large Load diff

View file

@ -65,7 +65,7 @@ struct Bin
void ShaderBinary( RegalContext *ctx, GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length)
{
DispatchTable &tbl = ctx->dispatcher.emulation;
DispatchTableGL &tbl = ctx->dispatcher.emulation;
tbl.glShaderBinary( count, shaders, binaryFormat, binary, length );
}
};

View file

@ -90,7 +90,7 @@ namespace ClientState
using ::boost::print::print_string;
typedef ::boost::print::string_list<std::string> string_list;
inline static void enable(DispatchTable &dt, const GLenum cap, const GLboolean enable)
inline static void enable(DispatchTableGL &dt, const GLenum cap, const GLboolean enable)
{
if (enable)
dt.call(&dt.glEnableClientState)(cap);
@ -98,7 +98,7 @@ namespace ClientState
dt.call(&dt.glDisableClientState)(cap);
}
inline static void enablei(DispatchTable &dt, const GLenum cap, const GLuint index, const GLboolean enable)
inline static void enablei(DispatchTableGL &dt, const GLenum cap, const GLuint index, const GLboolean enable)
{
if (enable)
dt.call(&dt.glEnableClientStateiEXT)(cap,index);
@ -176,7 +176,7 @@ namespace ClientState
return *this;
}
NamedVertexArray &get(DispatchTable &dt, vaName va)
NamedVertexArray &get(DispatchTableGL &dt, vaName va)
{
GLint vaInt = static_cast<GLint>(va);
RegalAssert(vaInt >= 0 && vaInt < static_cast<GLint>(nNamedArrays));
@ -207,7 +207,7 @@ namespace ClientState
return *this;
}
const NamedVertexArray &set(DispatchTable &dt, vaName va) const
const NamedVertexArray &set(DispatchTableGL &dt, vaName va) const
{
GLint vaInt = static_cast<GLint>(va);
RegalAssert(vaInt >= 0 && vaInt < static_cast<GLint>(nNamedArrays));
@ -330,7 +330,7 @@ namespace ClientState
return *this;
}
VertexBufferBindPoint &get(DispatchTable &dt, GLuint index)
VertexBufferBindPoint &get(DispatchTableGL &dt, GLuint index)
{
RegalAssert(index < REGAL_EMU_MAX_VERTEX_ATTRIB_BINDINGS);
if (index < REGAL_EMU_MAX_VERTEX_ATTRIB_BINDINGS)
@ -343,7 +343,7 @@ namespace ClientState
return *this;
}
const VertexBufferBindPoint &set(DispatchTable &dt, GLuint index) const
const VertexBufferBindPoint &set(DispatchTableGL &dt, GLuint index) const
{
RegalAssert(index < REGAL_EMU_MAX_VERTEX_ATTRIB_BINDINGS);
if (index < REGAL_EMU_MAX_VERTEX_ATTRIB_BINDINGS)
@ -403,7 +403,7 @@ namespace ClientState
return *this;
}
GenericVertexArray &get(DispatchTable &dt, GLuint index)
GenericVertexArray &get(DispatchTableGL &dt, GLuint index)
{
RegalAssert(index < REGAL_EMU_MAX_VERTEX_ATTRIBS);
if (index < REGAL_EMU_MAX_VERTEX_ATTRIBS)
@ -426,7 +426,7 @@ namespace ClientState
return *this;
}
const GenericVertexArray &set(DispatchTable &dt, GLuint index) const
const GenericVertexArray &set(DispatchTableGL &dt, GLuint index) const
{
RegalAssert(index < REGAL_EMU_MAX_VERTEX_ATTRIBS);
if (index < REGAL_EMU_MAX_VERTEX_ATTRIBS)
@ -532,7 +532,7 @@ namespace ClientState
return *this;
}
inline VertexArray &get(DispatchTable &dt)
inline VertexArray &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetIntegerv)(GL_VERTEX_ARRAY_BINDING,reinterpret_cast<GLint*>(&vertexArrayBinding));
if (vertexArrayBinding)
@ -554,7 +554,7 @@ namespace ClientState
return *this;
}
inline const VertexArray &set(DispatchTable &dt) const
inline const VertexArray &set(DispatchTableGL &dt) const
{
dt.call(&dt.glBindVertexArray)(0);
for (GLuint ii=0; ii<nNamedArrays; ii++)

View file

@ -200,6 +200,12 @@ RegalContext::Init()
info->regal_ext_blend_subtract = true;
info->regalExtensionsSet.insert("GL_EXT_blend_subtract");
}
if (!info->gl_ext_framebuffer_blit && ((info->gl_version_major >= 3) || info->gl_nv_framebuffer_blit))
{
Internal("RegalContext::Init ","GL_EXT_framebuffer_blit");
info->regal_ext_framebuffer_blit = true;
info->regalExtensionsSet.insert("GL_EXT_framebuffer_blit");
}
if (!info->gl_ext_framebuffer_object)
{
Internal("RegalContext::Init ","GL_EXT_framebuffer_object");

View file

@ -48,7 +48,7 @@ REGAL_GLOBAL_BEGIN
#include "RegalThread.h"
#include "RegalPrivate.h"
#include "RegalContextInfo.h"
#include "RegalDispatcher.h"
#include "RegalDispatcherGL.h"
#include "RegalDispatchError.h"
#include "RegalSharedList.h"
@ -100,7 +100,7 @@ struct RegalContext
inline bool isCompat() const { RegalAssert(info); return REGAL_SYS_GL && info->compat; }
bool initialized;
Dispatcher dispatcher;
DispatcherGL dispatcher;
DispatchErrorState err;
DebugInfo *dbg;
ContextInfo *info;

View file

@ -619,6 +619,7 @@ ContextInfo::ContextInfo()
regal_ext_blend_color(false),
regal_ext_blend_subtract(false),
regal_ext_direct_state_access(false),
regal_ext_framebuffer_blit(false),
regal_ext_framebuffer_object(false),
regal_nv_blend_square(false),
#if REGAL_SYS_WGL
@ -1894,7 +1895,7 @@ ContextInfo::getExtension(const char *ext) const
if (!strcmp(ext,"GL_EXT_draw_range_elements")) return gl_ext_draw_range_elements;
if (!strcmp(ext,"GL_EXT_fog_coord")) return gl_ext_fog_coord;
if (!strcmp(ext,"GL_EXT_fragment_lighting")) return gl_ext_fragment_lighting;
if (!strcmp(ext,"GL_EXT_framebuffer_blit")) return gl_ext_framebuffer_blit;
if (!strcmp(ext,"GL_EXT_framebuffer_blit")) return regal_ext_framebuffer_blit || gl_ext_framebuffer_blit;
if (!strcmp(ext,"GL_EXT_framebuffer_multisample")) return gl_ext_framebuffer_multisample;
if (!strcmp(ext,"GL_EXT_framebuffer_multisample_blit_scaled")) return gl_ext_framebuffer_multisample_blit_scaled;
if (!strcmp(ext,"GL_EXT_framebuffer_object")) return regal_ext_framebuffer_object || gl_ext_framebuffer_object;

View file

@ -647,6 +647,7 @@ struct ContextInfo
GLboolean regal_ext_blend_color : 1;
GLboolean regal_ext_blend_subtract : 1;
GLboolean regal_ext_direct_state_access : 1;
GLboolean regal_ext_framebuffer_blit : 1;
GLboolean regal_ext_framebuffer_object : 1;
GLboolean regal_nv_blend_square : 1;

View file

@ -51,10 +51,16 @@ REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
struct DispatchTableGlobal {
namespace Dispatch
{
DispatchTableGlobal();
~DispatchTableGlobal();
struct Global
{
inline void setFunction(const size_t offset, void *func)
{
RegalAssert((offset*sizeof(void *))<sizeof(this));
((void **)(this))[offset] = func;
}
#if REGAL_SYS_WGL
// WGL_3DL_stereo_control
@ -298,7 +304,6 @@ struct DispatchTableGlobal {
#endif // REGAL_SYS_WGL
#if REGAL_SYS_GLX
// GLX_VERSION_1_0
XVisualInfo *(REGAL_CALL *glXChooseVisual)(Display *dpy, int screen, int *attribList);
@ -531,7 +536,6 @@ struct DispatchTableGlobal {
#endif // REGAL_SYS_GLX
#if REGAL_SYS_OSX
// CGL_VERSION_1_0
CGLError (REGAL_CALL *CGLChoosePixelFormat)(const CGLPixelFormatAttribute *attribs, CGLPixelFormatObj *pix, GLint *npix);
@ -598,7 +602,6 @@ struct DispatchTableGlobal {
#endif // REGAL_SYS_OSX
#if REGAL_SYS_EGL
// EGL_ANGLE_query_surface_pointer
EGLBoolean (REGAL_CALL *eglQuerySurfacePointerANGLE)(EGLDisplay dpy, EGLSurface surface, EGLint attribute, GLvoid **value);
@ -711,52 +714,16 @@ struct DispatchTableGlobal {
EGLBoolean (REGAL_CALL *eglWaitClient)(void);
#endif // REGAL_SYS_EGL
};
};
extern DispatchTableGlobal dispatchTableGlobal;
struct DispatchTable {
bool _enabled;
DispatchTable *_prev;
DispatchTable *_next;
// Lookup a function pointer from the table,
// or deeper in the stack as necessary.
template<typename T>
T call(T *func)
struct GL
{
RegalAssert(func);
if (_enabled && *func)
return *func;
DispatchTable *i = this;
RegalAssert(i);
RegalAssert(reinterpret_cast<void *>(func)>=reinterpret_cast<void *>(i));
RegalAssert(reinterpret_cast<void *>(func)< reinterpret_cast<void *>(i+1));
const std::size_t offset = reinterpret_cast<char *>(func) - reinterpret_cast<char *>(i);
T f = *func;
// Step down the stack for the first available function in an enabled table
while (!f || !i->_enabled)
inline void setFunction(const size_t offset, void *func)
{
// Find the next enabled dispatch table
for (i = i->_next; !i->_enabled; i = i->_next) { RegalAssert(i); }
// Get the function pointer; extra cast through void* is to avoid -Wcast-align spew
RegalAssert(i);
RegalAssert(i->_enabled);
f = *reinterpret_cast<T *>(reinterpret_cast<void *>(reinterpret_cast<char *>(i)+offset));
RegalAssert((offset*sizeof(void *))<sizeof(this));
((void **)(this))[offset] = func;
}
return f;
}
// GL_VERSION_1_0
void (REGAL_CALL *glAccum)(GLenum op, GLfloat value);
@ -4243,8 +4210,69 @@ struct DispatchTable {
void (REGAL_CALL *glAddSwapHintRectWIN)(GLint x, GLint y, GLsizei width, GLsizei height);
};
// Lookup a function pointer from the table,
// or deeper in the stack as necessary.
template<typename T, typename F>
F call(T &table, F *func)
{
RegalAssert(func);
if (table._enabled && *func)
return *func;
T *i = &table;
RegalAssert(i);
RegalAssert(reinterpret_cast<void *>(func)>=reinterpret_cast<void *>(i));
RegalAssert(reinterpret_cast<void *>(func)< reinterpret_cast<void *>(i+1));
const std::size_t offset = reinterpret_cast<char *>(func) - reinterpret_cast<char *>(i);
F f = *func;
// Step down the stack for the first available function in an enabled table
while (!f || !i->_enabled)
{
// Find the next enabled dispatch table
for (i = i->next(); !i->_enabled; i = i->next()) { RegalAssert(i); }
// Get the function pointer; extra cast through void* is to avoid -Wcast-align spew
RegalAssert(i);
RegalAssert(i->_enabled);
f = *reinterpret_cast<F *>(reinterpret_cast<void *>(reinterpret_cast<char *>(i)+offset));
}
return f;
}
}
struct DispatchTable
{
bool _enabled;
DispatchTable *_prev;
DispatchTable *_next;
};
struct DispatchTableGL : public DispatchTable, Dispatch::GL
{
template<typename T> T call(T *func) { return Dispatch::call(*this,func); }
inline DispatchTableGL *next() { return reinterpret_cast<DispatchTableGL *>(DispatchTable::_next); }
};
struct DispatchTableGlobal : public DispatchTable, Dispatch::Global
{
DispatchTableGlobal();
~DispatchTableGlobal();
template<typename T> T call(T *func) { return Dispatch::call(*this,func); }
inline DispatchTableGlobal *next() { return reinterpret_cast<DispatchTableGlobal *>(DispatchTable::_next); }
};
extern DispatchTableGlobal dispatchTableGlobal;
REGAL_NAMESPACE_END
#endif // __REGAL_DISPATCH_H__

View file

@ -55,7 +55,7 @@ static void REGAL_CALL cache_glShaderSource(GLuint shader, GLsizei count, const
{
RegalContext *_context = REGAL_GET_CONTEXT();
RegalAssert(_context);
DispatchTable *_next = _context->dispatcher.cache._next;
DispatchTableGL *_next = _context->dispatcher.cache.next();
RegalAssert(_next);
if (Config::cache && Config::cacheShader)
Cache::shaderSource(_next->call(&_next->glShaderSource), shader, count, string, length);
@ -63,7 +63,7 @@ static void REGAL_CALL cache_glShaderSource(GLuint shader, GLsizei count, const
_next->call(&_next->glShaderSource)(shader, count, string, length);
}
void InitDispatchTableCache(DispatchTable &tbl)
void InitDispatchTableCache(DispatchTableGL &tbl)
{
tbl.glShaderSource = cache_glShaderSource;
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1640,7 +1640,7 @@ static void REGAL_CALL ppapi_glRenderbufferStorage(GLenum target, GLenum interna
rCtx->ppapiES2->RenderbufferStorage(rCtx->ppapiResource, target, internalformat, width, height);
}
void InitDispatchTablePpapi(DispatchTable &tbl)
void InitDispatchTablePpapi(DispatchTableGL &tbl)
{
// OpenGL ES 2.0 only
tbl.glBlendFunc = ppapi_glBlendFunc;

View file

@ -357,7 +357,7 @@ REGAL_NAMESPACE_BEGIN
using namespace ::REGAL_NAMESPACE_INTERNAL::Logging;
using namespace ::REGAL_NAMESPACE_INTERNAL::Token;
void InitDispatchTableStaticES2(DispatchTable &tbl)
void InitDispatchTableStaticES2(DispatchTableGL &tbl)
{
// OpenGL ES 2.0 only

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -37,7 +37,6 @@ REGAL_GLOBAL_BEGIN
#include <algorithm>
#include "RegalConfig.h"
#include "RegalDispatcher.h"
using namespace ::std;
@ -50,73 +49,6 @@ Dispatcher::Dispatcher()
: _front(NULL),
_size(0)
{
#if REGAL_TRACE
InitDispatchTableTrace(trace);
push_back(trace,Config::enableTrace);
#endif
#if REGAL_DEBUG
InitDispatchTableDebug(debug);
push_back(debug,Config::enableDebug);
#endif
#if REGAL_ERROR
InitDispatchTableError(error);
push_back(error,Config::enableError);
#endif
#if REGAL_EMULATION
::memset(&emulation,0,sizeof(DispatchTable));
InitDispatchTableEmu(emulation); // emulated functions only
push_back(emulation,Config::enableEmulation || Config::forceEmulation);
#endif
#if REGAL_CACHE
::memset(&cache,0,sizeof(DispatchTable));
InitDispatchTableCache(cache);
push_back(cache,true);
#endif
#if REGAL_CODE
::memset(&code,0,sizeof(DispatchTable));
InitDispatchTableCode(code);
push_back(code,Config::enableCode);
#endif
#if REGAL_STATISTICS
::memset(&code,0,sizeof(DispatchTable));
InitDispatchTableStatistics(statistics);
push_back(statistics,Config::enableStatistics);
#endif
#if REGAL_LOG
InitDispatchTableLog(logging);
push_back(logging,Config::enableLog);
#endif
#if REGAL_DRIVER
#if REGAL_STATIC_ES2
::memset(&driver,0,sizeof(DispatchTable));
InitDispatchTableStaticES2(driver); // ES 2.0 functions only
#elif REGAL_SYS_PPAPI
::memset(&driver,0,sizeof(DispatchTable));
InitDispatchTablePpapi(driver); // ES 2.0 functions only
#else
InitDispatchTableLoader(driver); // Desktop/ES2.0 lazy loader
#endif
push_back(driver,Config::enableDriver);
#endif
InitDispatchTableMissing(missing);
push_back(missing,true);
// Optionally move the error checking dispatch to downstream of emulation.
// This can be helpful for debugging Regal emulation
#if defined(REGAL_ERROR_POST_EMU)
if (erase(error))
insert(cache,error);
#endif
}
Dispatcher::~Dispatcher()
@ -126,9 +58,6 @@ Dispatcher::~Dispatcher()
void
Dispatcher::push_back(DispatchTable &table, bool enabled)
{
// Disabling the missing table would be bad!
RegalAssert(&table!=&missing || enabled==true);
table._enabled = enabled;
table._next = NULL;
table._prev = NULL;

View file

@ -46,48 +46,16 @@ REGAL_NAMESPACE_BEGIN
struct Dispatcher
{
public:
#if REGAL_DEBUG
DispatchTable debug;
#endif
#if REGAL_ERROR
DispatchTable error;
#endif
#if REGAL_EMULATION
DispatchTable emulation;
#endif
#if REGAL_CACHE
DispatchTable cache;
#endif
#if REGAL_CODE
DispatchTable code;
#endif
#if REGAL_STATISTICS
DispatchTable statistics;
#endif
#if REGAL_LOG
DispatchTable logging;
#endif
#if REGAL_TRACE
DispatchTable trace;
#endif
DispatchTable driver; // Underlying OpenGL/ES implementation
DispatchTable missing; // Must have this last
public:
Dispatcher();
~Dispatcher();
inline std::size_t size() const
{
return _size;
}
protected:
void push_back(DispatchTable &table, bool enable); // Push to the back of the stack
bool erase (DispatchTable &table); // Remove from dispatch stack
bool insert (DispatchTable &other, DispatchTable &table); // Insert before the other
@ -109,11 +77,6 @@ public:
return table._enabled;
}
inline std::size_t size() const
{
return _size;
}
inline DispatchTable &operator[](const std::size_t i)
{
RegalAssert(i<size());
@ -138,21 +101,6 @@ private:
std::size_t _size;
};
//
extern void InitDispatchTableCode (DispatchTable &tbl);
extern void InitDispatchTableDebug (DispatchTable &tbl);
extern void InitDispatchTableError (DispatchTable &tbl);
extern void InitDispatchTableEmu (DispatchTable &tbl);
extern void InitDispatchTableLog (DispatchTable &tbl);
extern void InitDispatchTableLoader (DispatchTable &tbl);
extern void InitDispatchTablePpapi (DispatchTable &tbl);
extern void InitDispatchTableStatistics(DispatchTable &tbl);
extern void InitDispatchTableStaticES2 (DispatchTable &tbl);
extern void InitDispatchTableMissing (DispatchTable &tbl);
extern void InitDispatchTableCache (DispatchTable &tbl);
extern void InitDispatchTableTrace (DispatchTable &tbl);
REGAL_NAMESPACE_END
#endif // __REGAL_DISPATCHER__

View file

@ -0,0 +1,125 @@
/*
Copyright (c) 2011-2013 NVIDIA Corporation
Copyright (c) 2011-2013 Cass Everitt
Copyright (c) 2012-2013 Scott Nations
Copyright (c) 2012 Mathias Schott
Copyright (c) 2012-2013 Nigel Stewart
Copyright (c) 2012-2013 Google Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "pch.h" /* For MS precompiled header support */
#include "RegalUtil.h"
REGAL_GLOBAL_BEGIN
#include <algorithm>
#include "RegalConfig.h"
#include "RegalDispatcherGL.h"
using namespace ::std;
REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
DispatcherGL::DispatcherGL()
: Dispatcher()
{
#if REGAL_TRACE
InitDispatchTableTrace(trace);
push_back(trace,Config::enableTrace);
#endif
#if REGAL_DEBUG
InitDispatchTableDebug(debug);
push_back(debug,Config::enableDebug);
#endif
#if REGAL_ERROR
InitDispatchTableError(error);
push_back(error,Config::enableError);
#endif
#if REGAL_EMULATION
::memset(&emulation,0,sizeof(DispatchTableGL));
InitDispatchTableEmu(emulation); // emulated functions only
push_back(emulation,Config::enableEmulation || Config::forceEmulation);
#endif
#if REGAL_CACHE
::memset(&cache,0,sizeof(DispatchTableGL));
InitDispatchTableCache(cache);
push_back(cache,true);
#endif
#if REGAL_CODE
::memset(&code,0,sizeof(DispatchTableGL));
InitDispatchTableCode(code);
push_back(code,Config::enableCode);
#endif
#if REGAL_STATISTICS
::memset(&code,0,sizeof(DispatchTableGL));
InitDispatchTableStatistics(statistics);
push_back(statistics,Config::enableStatistics);
#endif
#if REGAL_LOG
InitDispatchTableLog(logging);
push_back(logging,Config::enableLog);
#endif
#if REGAL_DRIVER
#if REGAL_STATIC_ES2
::memset(&driver,0,sizeof(DispatchTableGL));
InitDispatchTableStaticES2(driver); // ES 2.0 functions only
#elif REGAL_SYS_PPAPI
::memset(&driver,0,sizeof(DispatchTableGL));
InitDispatchTablePpapi(driver); // ES 2.0 functions only
#else
InitDispatchTableLoader(driver); // Desktop/ES2.0 lazy loader
#endif
push_back(driver,Config::enableDriver);
#endif
InitDispatchTableMissing(missing);
push_back(missing,true);
// Optionally move the error checking dispatch to downstream of emulation.
// This can be helpful for debugging Regal emulation
#if defined(REGAL_ERROR_POST_EMU)
if (erase(error))
insert(cache,error);
#endif
}
DispatcherGL::~DispatcherGL()
{
}
REGAL_NAMESPACE_END

View file

@ -0,0 +1,126 @@
/*
Copyright (c) 2011-2013 NVIDIA Corporation
Copyright (c) 2011-2013 Cass Everitt
Copyright (c) 2012-2013 Scott Nations
Copyright (c) 2012 Mathias Schott
Copyright (c) 2012-2013 Nigel Stewart
Copyright (c) 2012-2013 Google Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef __REGAL_DISPATCHER_GL_H__
#define __REGAL_DISPATCHER_GL_H__
#include "RegalUtil.h"
REGAL_GLOBAL_BEGIN
#include "RegalDispatcher.h"
REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
struct DispatcherGL : public Dispatcher
{
public:
#if REGAL_DEBUG
DispatchTableGL debug;
#endif
#if REGAL_ERROR
DispatchTableGL error;
#endif
#if REGAL_EMULATION
DispatchTableGL emulation;
#endif
#if REGAL_CACHE
DispatchTableGL cache;
#endif
#if REGAL_CODE
DispatchTableGL code;
#endif
#if REGAL_STATISTICS
DispatchTableGL statistics;
#endif
#if REGAL_LOG
DispatchTableGL logging;
#endif
#if REGAL_TRACE
DispatchTableGL trace;
#endif
DispatchTableGL driver; // Underlying OpenGL/ES implementation
DispatchTableGL missing; // Must have this last
public:
DispatcherGL();
~DispatcherGL();
inline void push_back(DispatchTableGL &table, bool enable)
{
// Disabling the missing table would be bad!
RegalAssert(&table!=&missing || enable==true);
Dispatcher::push_back(table,enable);
}
inline bool erase (DispatchTableGL &table) { return Dispatcher::erase(table); }
inline bool insert (DispatchTableGL &other, DispatchTableGL &table) { return Dispatcher::insert(other,table); }
inline void enable (DispatchTableGL &table) { Dispatcher::enable (table); }
inline void disable(DispatchTableGL &table) { Dispatcher::disable(table); }
inline bool isEnabled(DispatchTableGL &table) const { return Dispatcher::isEnabled(table); }
inline DispatchTableGL &operator[](const std::size_t i) { return reinterpret_cast<DispatchTableGL &>(Dispatcher::operator[](i)); }
inline DispatchTableGL &front() { return reinterpret_cast<DispatchTableGL &>(Dispatcher::front()); }
inline DispatchTableGL &back() { return reinterpret_cast<DispatchTableGL &>(Dispatcher::back()); }
};
// regaltest needs these declarations too
extern void InitDispatchTableCode (DispatchTableGL &tbl);
extern void InitDispatchTableDebug (DispatchTableGL &tbl);
extern void InitDispatchTableError (DispatchTableGL &tbl);
extern void InitDispatchTableEmu (DispatchTableGL &tbl);
extern void InitDispatchTableLog (DispatchTableGL &tbl);
extern void InitDispatchTableLoader (DispatchTableGL &tbl);
extern void InitDispatchTablePpapi (DispatchTableGL &tbl);
extern void InitDispatchTableStatistics(DispatchTableGL &tbl);
extern void InitDispatchTableStaticES2 (DispatchTableGL &tbl);
extern void InitDispatchTableMissing (DispatchTableGL &tbl);
extern void InitDispatchTableCache (DispatchTableGL &tbl);
extern void InitDispatchTableTrace (DispatchTableGL &tbl);
REGAL_NAMESPACE_END
#endif // __REGAL_DISPATCHER_GL_H__

View file

@ -0,0 +1,90 @@
/*
Copyright (c) 2011-2013 NVIDIA Corporation
Copyright (c) 2011-2013 Cass Everitt
Copyright (c) 2012-2013 Scott Nations
Copyright (c) 2012 Mathias Schott
Copyright (c) 2012-2013 Nigel Stewart
Copyright (c) 2012-2013 Google Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "pch.h" /* For MS precompiled header support */
#include "RegalUtil.h"
REGAL_GLOBAL_BEGIN
#include <algorithm>
#include "RegalConfig.h"
#include "RegalDispatcherGlobal.h"
using namespace ::std;
REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
DispatcherGlobal dispatcherGlobal;
DispatcherGlobal::DispatcherGlobal()
: Dispatcher()
{
#if REGAL_LOG
InitDispatchTableGlobalLog(logging);
push_back(logging,Config::enableLog);
#endif
#if REGAL_TRACE
{ // have to check this early for the global dispatches, otherwise we'd use Config
const char *tmp = GetEnv( "REGAL_TRACE" );
if (tmp) Config::enableTrace = atoi(tmp)!=0;
::memset(&trace, 0, sizeof(trace) );
InitDispatchTableGlobalTrace(trace);
push_back(trace,Config::enableTrace);
}
#endif
#if REGAL_DRIVER
memset(&driver,0,sizeof(driver));
#if REGAL_SYS_EGL && REGAL_STATIC_EGL
InitDispatchTableStaticEGL(driver);
#else
InitDispatchTableGlobalLoader(driver); // GLX/WGL/EGL lazy loader
#endif
push_back(driver,Config::enableDriver);
#endif
memset(&missing,0,sizeof(missing));
InitDispatchTableGlobalMissing(missing);
push_back(missing,true);
}
DispatcherGlobal::~DispatcherGlobal()
{
}
REGAL_NAMESPACE_END

View file

@ -0,0 +1,100 @@
/*
Copyright (c) 2011-2013 NVIDIA Corporation
Copyright (c) 2011-2013 Cass Everitt
Copyright (c) 2012-2013 Scott Nations
Copyright (c) 2012 Mathias Schott
Copyright (c) 2012-2013 Nigel Stewart
Copyright (c) 2012-2013 Google Inc.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef __REGAL_DISPATCHER_GLOBAL_H__
#define __REGAL_DISPATCHER_GLOBAL_H__
#include "RegalUtil.h"
REGAL_GLOBAL_BEGIN
#include "RegalDispatcher.h"
REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
struct DispatcherGlobal : public Dispatcher
{
public:
#if REGAL_LOG
DispatchTableGlobal logging;
#endif
#if REGAL_TRACE
DispatchTableGlobal trace;
#endif
DispatchTableGlobal driver; // Underlying GLX/WGL/EGL implementation
DispatchTableGlobal missing; // Must have this last
public:
DispatcherGlobal();
~DispatcherGlobal();
inline void push_back(DispatchTableGlobal &table, bool enable)
{
// Disabling the missing table would be bad!
RegalAssert(&table!=&missing || enable==true);
Dispatcher::push_back(table,enable);
}
inline bool erase (DispatchTableGlobal &table) { return Dispatcher::erase(table); }
inline bool insert (DispatchTableGlobal &other, DispatchTableGlobal &table) { return Dispatcher::insert(other,table); }
inline void enable (DispatchTableGlobal &table) { Dispatcher::enable (table); }
inline void disable(DispatchTableGlobal &table) { Dispatcher::disable(table); }
inline bool isEnabled(DispatchTableGlobal &table) const { return Dispatcher::isEnabled(table); }
inline DispatchTableGlobal &operator[](const std::size_t i) { return reinterpret_cast<DispatchTableGlobal &>(Dispatcher::operator[](i)); }
inline DispatchTableGlobal &front() { return reinterpret_cast<DispatchTableGlobal &>(Dispatcher::front()); }
inline DispatchTableGlobal &back() { return reinterpret_cast<DispatchTableGlobal &>(Dispatcher::back()); }
};
extern DispatcherGlobal dispatcherGlobal;
// regaltest needs these declarations too
#if REGAL_SYS_EGL && REGAL_STATIC_EGL
extern void InitDispatchTableStaticEGL (DispatchTableGlobal &tbl);
#endif
extern void InitDispatchTableGlobalLog (DispatchTableGlobal &tbl);
extern void InitDispatchTableGlobalTrace (DispatchTableGlobal &tbl);
extern void InitDispatchTableGlobalLoader (DispatchTableGlobal &tbl);
extern void InitDispatchTableGlobalMissing (DispatchTableGlobal &tbl);
REGAL_NAMESPACE_END
#endif // __REGAL_DISPATCHER_GLOBAL_H__

View file

@ -54,9 +54,9 @@ REGAL_NAMESPACE_BEGIN
namespace Emu {
template<typename T> inline void DsaGetv( DispatchTable & tbl, GLenum pname, T * params ) { UNUSED_PARAMETER(tbl); UNUSED_PARAMETER(pname); UNUSED_PARAMETER(params);}
template<> inline void DsaGetv( DispatchTable & tbl, GLenum pname, GLfloat * params ) { tbl.glGetFloatv( pname, params ); }
template<> inline void DsaGetv( DispatchTable & tbl, GLenum pname, GLdouble * params ) { tbl.glGetDoublev( pname, params ); }
template<typename T> inline void DsaGetv( DispatchTableGL & tbl, GLenum pname, T * params ) { UNUSED_PARAMETER(tbl); UNUSED_PARAMETER(pname); UNUSED_PARAMETER(params);}
template<> inline void DsaGetv( DispatchTableGL & tbl, GLenum pname, GLfloat * params ) { tbl.glGetFloatv( pname, params ); }
template<> inline void DsaGetv( DispatchTableGL & tbl, GLenum pname, GLdouble * params ) { tbl.glGetDoublev( pname, params ); }
struct Dsa
@ -493,7 +493,7 @@ struct Dsa
void ClientAttribDefault( RegalContext * ctx, GLbitfield mask )
{
DispatchTable &tbl = ctx->dispatcher.emulation;
DispatchTableGL &tbl = ctx->dispatcher.emulation;
if (mask&GL_CLIENT_PIXEL_STORE_BIT)
{
@ -569,7 +569,7 @@ struct Dsa
template< typename T >
bool GetIndexedv( RegalContext * ctx, GLenum pname, GLuint index, T * params ) {
DispatchTable &tbl = ctx->dispatcher.emulation;
DispatchTableGL &tbl = ctx->dispatcher.emulation;
switch( pname ) {
case GL_PROGRAM_MATRIX_EXT:
ctx->dsa->DsaMatrixMode( ctx, GL_MATRIX0_ARB + index );
@ -706,7 +706,7 @@ struct Dsa
}
GLboolean IsEnabledIndexed( RegalContext * ctx, GLenum pname, GLuint index ) {
DispatchTable &tbl = ctx->dispatcher.emulation;
DispatchTableGL &tbl = ctx->dispatcher.emulation;
switch( pname ) {
case GL_TEXTURE_1D:
case GL_TEXTURE_2D:

View file

@ -91,7 +91,7 @@ void Frame::capture(RegalContext &context)
Config::frameSaveDepth
)
{
DispatchTable *_next = &context.dispatcher.front();
DispatchTableGL *_next = &context.dispatcher.front();
RegalAssert(_next);
// Get the current viewport

View file

@ -1387,7 +1387,7 @@ void Program::Init( RegalContext * ctx, const Store & sstore, const GLchar *vsSr
ver = ::std::numeric_limits<GLuint64>::max();
progcount = 0;
RegalAssert(ctx);
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
store = sstore;
pg = tbl.call(&tbl.glCreateProgram)();
Shader( ctx, tbl, GL_VERTEX_SHADER, vs, vsSrc );
@ -1412,7 +1412,7 @@ void Program::Init( RegalContext * ctx, const Store & sstore, const GLchar *vsSr
tbl.call(&tbl.glUseProgram)( ctx->iff->program );
}
void Program::Shader( RegalContext * ctx, DispatchTable & tbl, GLenum type, GLuint & shader, const GLchar *src )
void Program::Shader( RegalContext * ctx, DispatchTableGL & tbl, GLenum type, GLuint & shader, const GLchar *src )
{
Internal("Regal::Program::Shader","()");
@ -1443,7 +1443,7 @@ void Program::Attribs( RegalContext * ctx )
{
Internal("Regal::Program::Attribs","()");
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
tbl.call(&tbl.glBindAttribLocation)( pg, ctx->iff->ffAttrMap[ RFF2A_Vertex ], "rglVertex" );
//tbl.call(&tbl.glBindAttribLocation)( pg, 1, "rglWeight" );
@ -1477,7 +1477,7 @@ void Program::UserShaderModeAttribs( RegalContext * ctx )
{
Internal("Regal::Program::UserShaderModeAttribs","()");
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
tbl.call(&tbl.glBindAttribLocation)( pg, ctx->iff->ffAttrMap[ RFF2A_Vertex ], "rglVertex" );
tbl.call(&tbl.glBindAttribLocation)( pg, ctx->iff->ffAttrMap[ RFF2A_Normal ], "rglNormal" );
@ -1498,7 +1498,7 @@ void Program::UserShaderModeAttribs( RegalContext * ctx )
}
void Program::Samplers( RegalContext * ctx, DispatchTable & tbl )
void Program::Samplers( RegalContext * ctx, DispatchTableGL & tbl )
{
Internal("Regal::Program::Samplers","()");
@ -1516,7 +1516,7 @@ void Program::Samplers( RegalContext * ctx, DispatchTable & tbl )
}
}
void Program::Uniforms( RegalContext * ctx, DispatchTable & tbl )
void Program::Uniforms( RegalContext * ctx, DispatchTableGL & tbl )
{
Internal("Regal::Program::Uniforms","()");
@ -1535,7 +1535,7 @@ void Iff::Cleanup( RegalContext &ctx )
Internal("Regal::Iff::Cleanup","()");
RestoreVao(&ctx);
DispatchTable &tbl = ctx.dispatcher.emulation;
DispatchTableGL &tbl = ctx.dispatcher.emulation;
tbl.call(&tbl.glDeleteBuffers)(1, &immVbo);
tbl.call(&tbl.glDeleteBuffers)(1, &immQuadsVbo);
@ -1962,7 +1962,7 @@ void Iff::UpdateUniforms( RegalContext * ctx )
Internal("Regal::Iff::UpdateUniforms",ctx);
Program & pgm = *currprog;
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
if( pgm.ver != ffstate.Ver() ) {
pgm.ver = ffstate.Ver();
const State::Store & p = ffstate.processed;
@ -2195,7 +2195,7 @@ void Iff::UseFixedFunctionProgram( RegalContext * ctx )
p = & ffprogs[ base + match ];
// delete this program
if( p->pg != 0 ) {
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
tbl.call(&tbl.glDeleteShader)( p->vs );
tbl.call(&tbl.glDeleteShader)( p->fs );
tbl.call(&tbl.glDeleteProgram)( p->pg );
@ -2520,7 +2520,7 @@ void Iff::LinkProgram( RegalContext *ctx, GLuint program ) {
}
ctx->dispatcher.emulation.glLinkProgram( program );
Program & p = shprogmap[ program ];
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
p.Samplers( ctx, tbl );
p.Uniforms( ctx, tbl );
}

View file

@ -707,7 +707,7 @@ struct Iff
immShadowVao = 0;
DispatchTable &tbl = ctx.dispatcher.emulation;
DispatchTableGL &tbl = ctx.dispatcher.emulation;
tbl.glGenVertexArrays( 1, & immVao );
tbl.glBindVertexArray( immVao );
BindVertexArray( &ctx, immVao ); // to keep ffn current
@ -816,7 +816,7 @@ struct Iff
void Flush( RegalContext * ctx )
{
if (immCurrent>0) { // Do nothing for empty buffer
DispatchTable &tbl = ctx->dispatcher.emulation;
DispatchTableGL &tbl = ctx->dispatcher.emulation;
tbl.glBufferData( GL_ARRAY_BUFFER, immCurrent * sizeof( Attributes ), immArray, GL_DYNAMIC_DRAW );
if( ( ctx->info->core == true || ctx->info->es2 ) && immPrim == GL_QUADS ) {
tbl.glDrawElements( GL_TRIANGLES, ( immCurrent / 4 ) * 6, GL_UNSIGNED_SHORT, 0 );
@ -1569,11 +1569,11 @@ struct Iff
State::Store store;
void Init( RegalContext * ctx, const State::Store & sstore, const GLchar *vsSrc, const GLchar *fsSrc );
void Shader( RegalContext * ctx, DispatchTable & tbl, GLenum type, GLuint & shader, const GLchar *src );
void Shader( RegalContext * ctx, DispatchTableGL & tbl, GLenum type, GLuint & shader, const GLchar *src );
void Attribs( RegalContext * ctx );
void UserShaderModeAttribs( RegalContext * ctx );
void Samplers( RegalContext * ctx, DispatchTable & tbl );
void Uniforms( RegalContext * ctx, DispatchTable & tbl );
void Samplers( RegalContext * ctx, DispatchTableGL & tbl );
void Uniforms( RegalContext * ctx, DispatchTableGL & tbl );
};
MatrixStack modelview;

File diff suppressed because it is too large Load diff

View file

@ -167,7 +167,7 @@ struct Obj
void BindBuffer(RegalContext &ctx, GLenum target, GLuint bufferBinding)
{
DispatchTable &tbl = ctx.dispatcher.emulation;
DispatchTableGL &tbl = ctx.dispatcher.emulation;
tbl.glBindBuffer( target, bufferNames.ToDriverName( bufferBinding ) );
}
@ -195,7 +195,7 @@ struct Obj
void BindVertexArray(RegalContext &ctx, GLuint vao)
{
DispatchTable &tbl = ctx.dispatcher.emulation;
DispatchTableGL &tbl = ctx.dispatcher.emulation;
tbl.glBindVertexArray( vaoNames.ToDriverName( vao ) );
}
@ -223,7 +223,7 @@ struct Obj
void BindTexture(RegalContext &ctx, GLenum target, GLuint name)
{
DispatchTable &tbl = ctx.dispatcher.emulation;
DispatchTableGL &tbl = ctx.dispatcher.emulation;
tbl.glBindTexture( target, textureNames.ToDriverName( name ) );
}

File diff suppressed because it is too large Load diff

View file

@ -147,7 +147,7 @@ size_t PNameToIndex( GLenum pname ) {
}
}
void Transition( const Capabilities& cap, const DispatchTable& dt, const State& current, const State& target )
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State& current, const State& target )
{
UNUSED_PARAMETER(cap);
RegalAssert( dt.glPixelStorei );
@ -195,12 +195,12 @@ void ApplyAttribPointer( const State::Source& target, void (REGAL_CALL *dispatch
dispatchAttribPointer( target.stride, reinterpret_cast<const GLvoid*>( target.offset ) );
}
void ApplyClientStateEnable( const DispatchTable& dt, GLenum array, bool enable ) {
void ApplyClientStateEnable( const DispatchTableGL& dt, GLenum array, bool enable ) {
( enable ? dt.glEnableClientState : dt.glDisableClientState )( array );
}
template <typename T>
void Transition( const Capabilities& cap, const DispatchTable& dt, const State::Attrib& current, const State::Attrib& target, GLenum array, T dispatchAttribPointer, GLuint& inoutArrayBufferBinding ) {
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State::Attrib& current, const State::Attrib& target, GLenum array, T dispatchAttribPointer, GLuint& inoutArrayBufferBinding ) {
if ( target.enabled != current.enabled ) {
ApplyClientStateEnable( dt, array, target.enabled );
}
@ -216,7 +216,7 @@ void Transition( const Capabilities& cap, const DispatchTable& dt, const State::
}
}
void TransitionTextureCoords( const Capabilities& cap, const DispatchTable& dt, const State::Attrib& current, const State::Attrib& target, GLenum texture, GLenum& inoutClientActiveTexture, GLuint& inoutArrayBufferBinding ) {
void TransitionTextureCoords( const Capabilities& cap, const DispatchTableGL& dt, const State::Attrib& current, const State::Attrib& target, GLenum texture, GLenum& inoutClientActiveTexture, GLuint& inoutArrayBufferBinding ) {
bool sourceDelta = target.source != current.source;
if ( ( current.enabled != target.enabled ) || sourceDelta ) {
@ -346,7 +346,7 @@ size_t IndexedArrayNameToAttribIndex( GLenum array, GLuint index ) {
}
}
void Transition( const Capabilities& cap, const DispatchTable& dt, const State& current, const State& target, GLenum& inoutClientActiveTexture, GLuint& inoutArrayBufferBinding ) {
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State& current, const State& target, GLenum& inoutClientActiveTexture, GLuint& inoutArrayBufferBinding ) {
RegalAssert( dt.glEnableClientState );
RegalAssert( dt.glDisableClientState );
@ -415,11 +415,11 @@ void swap( State::Buffer& lhs, State::Buffer& rhs ) {
swap( lhs.divisor, rhs.divisor );
}
void ApplyVertexAttribArrayEnable( const DispatchTable& dt, GLuint index, bool enable ) {
void ApplyVertexAttribArrayEnable( const DispatchTableGL& dt, GLuint index, bool enable ) {
( enable ? dt.glEnableVertexAttribArray : dt.glDisableVertexAttribArray )( index );
}
void Transition( const Capabilities& cap, const DispatchTable& dt, const State::Attrib& current, const State::Attrib& target, GLuint index )
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State::Attrib& current, const State::Attrib& target, GLuint index )
{
UNUSED_PARAMETER(cap);
@ -440,7 +440,7 @@ void Transition( const Capabilities& cap, const DispatchTable& dt, const State::
}
}
void Transition( const Capabilities& cap, const DispatchTable& dt, const State::Buffer& current, const State::Buffer& target, GLuint index )
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State::Buffer& current, const State::Buffer& target, GLuint index )
{
UNUSED_PARAMETER(cap);
@ -531,7 +531,7 @@ void swap( State& lhs, State& rhs ) {
swap_array( lhs.buffer, rhs.buffer );
}
void Transition( const Capabilities& cap, const DispatchTable& dt, const State& current, const State& target ) {
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State& current, const State& target ) {
for ( GLuint i = 0; i < COUNT_ATTRIBS; ++i ) {
Transition( cap, dt, current.attrib[ i ], target.attrib[ i ], i );
}
@ -613,7 +613,7 @@ void swap( State& lhs, State& rhs ) {
swap( lhs.primitiveRestartIndex, rhs.primitiveRestartIndex );
}
void Transition( const Capabilities& cap, const DispatchTable& dt, const State& current, const State& target ) {
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State& current, const State& target ) {
RegalAssert( dt.glBindVertexArray );
RegalAssert( dt.glClientActiveTexture );
RegalAssert( dt.glBindBuffer );

View file

@ -59,7 +59,7 @@ REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
struct DispatchTable;
struct DispatchTableGL;
// ====================================
// ClientState::Capabilities
@ -106,7 +106,7 @@ void swap( State& lhs, State& rhs );
size_t PNameToIndex( GLenum pname );
void Transition( const Capabilities& cap, const DispatchTable& dt, const State& current, const State& target );
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State& current, const State& target );
} // namespace PixelStore
} // namespace ClientState
@ -156,7 +156,7 @@ void swap( State& lhs, State& rhs );
size_t ArrayNameToAttribIndex( GLenum array, GLenum texunit=GL_TEXTURE0 );
size_t IndexedArrayNameToAttribIndex( GLenum array, GLuint index );
void Transition( const Capabilities& cap, const DispatchTable& dt, const State& current, const State& target, GLenum& inoutClientActiveTexture, GLuint& inoutArrayBufferBinding );
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State& current, const State& target, GLenum& inoutClientActiveTexture, GLuint& inoutArrayBufferBinding );
} // namespace Fixed
} // namespace VertexArray
@ -211,7 +211,7 @@ struct State
void swap( State& lhs, State& rhs );
void Transition( const Capabilities& cap, const DispatchTable& dt, const State& current, const State& target );
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State& current, const State& target );
} // namespace Generic
} // namespace VertexArray
@ -251,7 +251,7 @@ struct State {
void swap( State& lhs, State& rhs );
void Transition( const Capabilities& cap, const DispatchTable& dt, const State& current, const State& target );
void Transition( const Capabilities& cap, const DispatchTableGL& dt, const State& current, const State& target );
} // namespace VertexArray
} // namespace ClientState

View file

@ -58,27 +58,27 @@ REGAL_NAMESPACE_BEGIN
namespace Emu {
template <typename T> inline void glVertex2(DispatchTable &dt, T x1, T y1)
template <typename T> inline void glVertex2(DispatchTableGL &dt, T x1, T y1)
{
dt.call(&dt.glVertex2f)(static_cast<GLfloat>(x1), static_cast<GLfloat>(y1));
}
template <> inline void glVertex2(DispatchTable &dt, GLfloat x1, GLfloat y1)
template <> inline void glVertex2(DispatchTableGL &dt, GLfloat x1, GLfloat y1)
{
dt.call(&dt.glVertex2f)(x1, y1);
}
template <> inline void glVertex2(DispatchTable &dt, GLdouble x1, GLdouble y1)
template <> inline void glVertex2(DispatchTableGL &dt, GLdouble x1, GLdouble y1)
{
dt.call(&dt.glVertex2d)(x1, y1);
}
template <> inline void glVertex2(DispatchTable &dt, GLint x1, GLint y1)
template <> inline void glVertex2(DispatchTableGL &dt, GLint x1, GLint y1)
{
dt.call(&dt.glVertex2i)(x1, y1);
}
template <> inline void glVertex2(DispatchTable &dt, GLshort x1, GLshort y1)
template <> inline void glVertex2(DispatchTableGL &dt, GLshort x1, GLshort y1)
{
dt.call(&dt.glVertex2s)(x1, y1);
}
@ -102,7 +102,7 @@ struct Rect
if (ctx->depthBeginEnd)
return;
DispatchTable &dt = ctx->dispatcher.emulation;
DispatchTableGL &dt = ctx->dispatcher.emulation;
// incrementing context->depthBeginEnd here avoids an assert in log_glBegin and
// also keeps the log indentation as it should be

View file

@ -208,7 +208,7 @@ So::BindTexture(RegalContext &ctx, GLuint unit, GLenum target, GLuint to)
}
}
DispatchTable &tbl = ctx.dispatcher.emulation;
DispatchTableGL &tbl = ctx.dispatcher.emulation;
GLuint originallyActiveUnit = activeTextureUnit;
@ -321,7 +321,7 @@ So::SendStateToDriver(RegalContext &ctx, GLuint unit, GLenum target, SamplingSta
}
}
DispatchTable &tbl = ctx.dispatcher.emulation;
DispatchTableGL &tbl = ctx.dispatcher.emulation;
if (newState.BorderColor[0] != drv.BorderColor[0] ||
newState.BorderColor[1] != drv.BorderColor[1] ||

View file

@ -102,7 +102,7 @@ using ::boost::print::hex;
using ::boost::print::print_string;
typedef ::boost::print::string_list<std::string> string_list;
inline static void setEnable(DispatchTable &dt, const GLenum cap, const GLboolean enable)
inline static void setEnable(DispatchTableGL &dt, const GLenum cap, const GLboolean enable)
{
if (enable)
dt.call(&dt.glEnable)(cap);
@ -110,7 +110,7 @@ inline static void setEnable(DispatchTable &dt, const GLenum cap, const GLboolea
dt.call(&dt.glDisable)(cap);
}
inline static void setEnablei(DispatchTable &dt, const GLenum cap, const GLuint index, const GLboolean enable)
inline static void setEnablei(DispatchTableGL &dt, const GLenum cap, const GLuint index, const GLboolean enable)
{
if (enable)
dt.call(&dt.glEnablei)(cap,index);
@ -376,7 +376,7 @@ struct Enable
return *this;
}
inline Enable &get(DispatchTable &dt)
inline Enable &get(DispatchTableGL &dt)
{
alphaTest = dt.call(&dt.glIsEnabled)(GL_ALPHA_TEST);
autoNormal = dt.call(&dt.glIsEnabled)(GL_AUTO_NORMAL);
@ -461,7 +461,7 @@ struct Enable
return *this;
}
inline const Enable &set(DispatchTable &dt) const
inline const Enable &set(DispatchTableGL &dt) const
{
setEnable(dt,GL_ALPHA_TEST,alphaTest);
setEnable(dt,GL_AUTO_NORMAL,autoNormal);
@ -661,7 +661,7 @@ struct Depth
return *this;
}
inline Depth &get(DispatchTable &dt)
inline Depth &get(DispatchTableGL &dt)
{
enable = dt.call(&dt.glIsEnabled)(GL_DEPTH_TEST);
dt.call(&dt.glGetIntegerv)(GL_DEPTH_FUNC,reinterpret_cast<GLint *>(&func));
@ -670,7 +670,7 @@ struct Depth
return *this;
}
inline const Depth &set(DispatchTable &dt) const
inline const Depth &set(DispatchTableGL &dt) const
{
setEnable(dt,GL_DEPTH_TEST,enable);
dt.call(&dt.glDepthFunc)(func);
@ -738,7 +738,7 @@ struct StencilFace
return *this;
}
inline StencilFace &get(DispatchTable &dt, GLenum face)
inline StencilFace &get(DispatchTableGL &dt, GLenum face)
{
dt.call(&dt.glGetIntegerv)(face==GL_FRONT ? GL_STENCIL_FUNC : GL_STENCIL_BACK_FUNC, reinterpret_cast<GLint *>(&func) );
dt.call(&dt.glGetIntegerv)(face==GL_FRONT ? GL_STENCIL_REF : GL_STENCIL_BACK_REF, &ref );
@ -750,7 +750,7 @@ struct StencilFace
return *this;
}
inline const StencilFace &set(DispatchTable &dt, GLenum face) const
inline const StencilFace &set(DispatchTableGL &dt, GLenum face) const
{
dt.call(&dt.glStencilFuncSeparate)(face,func,ref,valueMask);
dt.call(&dt.glStencilMaskSeparate)(face,writeMask);
@ -793,7 +793,7 @@ struct Stencil
return *this;
}
inline Stencil &get(DispatchTable &dt)
inline Stencil &get(DispatchTableGL &dt)
{
enable = dt.call(&dt.glIsEnabled)(GL_STENCIL_TEST);
dt.call(&dt.glGetIntegerv)(GL_STENCIL_CLEAR_VALUE,&clear);
@ -802,7 +802,7 @@ struct Stencil
return *this;
}
inline const Stencil &set(DispatchTable &dt) const
inline const Stencil &set(DispatchTableGL &dt) const
{
setEnable(dt,GL_STENCIL_TEST,enable);
dt.call(&dt.glClearStencil)(clear);
@ -964,7 +964,7 @@ struct Polygon
return *this;
}
inline Polygon &get(DispatchTable &dt)
inline Polygon &get(DispatchTableGL &dt)
{
cullEnable = dt.call(&dt.glIsEnabled)(GL_CULL_FACE);
dt.call(&dt.glGetIntegerv)(GL_CULL_FACE_MODE,reinterpret_cast<GLint *>(&cullFaceMode));
@ -981,7 +981,7 @@ struct Polygon
return *this;
}
inline const Polygon &set(DispatchTable &dt) const
inline const Polygon &set(DispatchTableGL &dt) const
{
setEnable(dt,GL_CULL_FACE,cullEnable);
dt.call(&dt.glCullFace)(cullFaceMode);
@ -1117,7 +1117,7 @@ struct Transform
return *this;
}
inline const Transform &transition(DispatchTable &dt, Transform &current) const
inline const Transform &transition(DispatchTableGL &dt, Transform &current) const
{
for (GLint i = 0; i < REGAL_FIXED_FUNCTION_MAX_CLIP_PLANES; i++)
{
@ -1221,7 +1221,7 @@ struct Hint
return *this;
}
inline Hint &get(DispatchTable &dt)
inline Hint &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetIntegerv)(GL_PERSPECTIVE_CORRECTION_HINT,reinterpret_cast<GLint *>(&perspectiveCorrection));
dt.call(&dt.glGetIntegerv)(GL_POINT_SMOOTH_HINT,reinterpret_cast<GLint *>(&pointSmooth));
@ -1234,7 +1234,7 @@ struct Hint
return *this;
}
inline const Hint &set(DispatchTable &dt) const
inline const Hint &set(DispatchTableGL &dt) const
{
dt.call(&dt.glHint)(GL_PERSPECTIVE_CORRECTION_HINT, perspectiveCorrection);
dt.call(&dt.glHint)(GL_POINT_SMOOTH_HINT, pointSmooth);
@ -1314,13 +1314,13 @@ struct List
return *this;
}
inline List &get(DispatchTable &dt)
inline List &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetIntegerv)(GL_LIST_BASE,reinterpret_cast<GLint *>(&base));
return *this;
}
inline const List &set(DispatchTable &dt) const
inline const List &set(DispatchTableGL &dt) const
{
dt.call(&dt.glListBase)(base);
return *this;
@ -1358,13 +1358,13 @@ struct AccumBuffer
return *this;
}
inline AccumBuffer &get(DispatchTable &dt)
inline AccumBuffer &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetFloatv)(GL_ACCUM_CLEAR_VALUE,&(clear[0]));
return *this;
}
inline const AccumBuffer &set(DispatchTable &dt) const
inline const AccumBuffer &set(DispatchTableGL &dt) const
{
dt.call(&dt.glClearAccum)(clear[0],clear[1],clear[2],clear[3]);
return *this;
@ -1425,7 +1425,7 @@ struct Scissor
return true;
}
void getUndefined(DispatchTable &dt)
void getUndefined(DispatchTableGL &dt)
{
for (GLuint ii=0; ii<REGAL_MAX_VIEWPORTS; ii++)
{
@ -1445,7 +1445,7 @@ struct Scissor
return *this;
}
inline Scissor &get(DispatchTable &dt)
inline Scissor &get(DispatchTableGL &dt)
{
for (GLuint ii=0; ii<REGAL_MAX_VIEWPORTS; ii++)
{
@ -1456,7 +1456,7 @@ struct Scissor
return *this;
}
inline const Scissor &set(DispatchTable &dt) const
inline const Scissor &set(DispatchTableGL &dt) const
{
for (GLuint ii=0; ii<REGAL_MAX_VIEWPORTS; ii++)
{
@ -1567,7 +1567,7 @@ struct Viewport
return true;
}
inline void getUndefined(DispatchTable &dt)
inline void getUndefined(DispatchTableGL &dt)
{
for (GLuint ii=0; ii<REGAL_MAX_VIEWPORTS; ii++)
{
@ -1584,7 +1584,7 @@ struct Viewport
return *this;
}
inline Viewport &get(DispatchTable &dt)
inline Viewport &get(DispatchTableGL &dt)
{
for (GLuint ii=0; ii<REGAL_MAX_VIEWPORTS; ii++)
{
@ -1595,7 +1595,7 @@ struct Viewport
return *this;
}
inline const Viewport &set(DispatchTable &dt) const
inline const Viewport &set(DispatchTableGL &dt) const
{
dt.call(&dt.glDepthRangeArrayv)(0, REGAL_MAX_VIEWPORTS, &depthRange[0][0] );
for (GLuint ii=0; ii<REGAL_MAX_VIEWPORTS; ii++)
@ -1733,7 +1733,7 @@ struct Line
return *this;
}
inline Line &get(DispatchTable &dt)
inline Line &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetFloatv)(GL_LINE_WIDTH,&width);
smooth = dt.call(&dt.glIsEnabled)(GL_LINE_SMOOTH);
@ -1744,7 +1744,7 @@ struct Line
return *this;
}
inline const Line &set(DispatchTable &dt) const
inline const Line &set(DispatchTableGL &dt) const
{
dt.call(&dt.glLineWidth)(width);
setEnable(dt,GL_LINE_SMOOTH,smooth);
@ -1815,7 +1815,7 @@ struct Multisample
return *this;
}
inline Multisample &get(DispatchTable &dt)
inline Multisample &get(DispatchTableGL &dt)
{
multisample = dt.call(&dt.glIsEnabled)(GL_MULTISAMPLE);
sampleAlphaToCoverage = dt.call(&dt.glIsEnabled)(GL_SAMPLE_ALPHA_TO_COVERAGE);
@ -1828,7 +1828,7 @@ struct Multisample
return *this;
}
inline const Multisample &set(DispatchTable &dt) const
inline const Multisample &set(DispatchTableGL &dt) const
{
setEnable(dt,GL_MULTISAMPLE,multisample);
setEnable(dt,GL_SAMPLE_ALPHA_TO_COVERAGE,sampleAlphaToCoverage);
@ -1912,7 +1912,7 @@ struct Eval
return *this;
}
inline Eval &get(DispatchTable &dt)
inline Eval &get(DispatchTableGL &dt)
{
autoNormal = dt.call(&dt.glIsEnabled)(GL_AUTO_NORMAL);
for (GLuint ii=0; ii<9; ii++)
@ -1926,7 +1926,7 @@ struct Eval
return *this;
}
inline const Eval &set(DispatchTable &dt) const
inline const Eval &set(DispatchTableGL &dt) const
{
setEnable(dt,GL_AUTO_NORMAL,autoNormal);
for (GLuint ii=0; ii<9; ii++)
@ -2017,7 +2017,7 @@ struct Fog
return *this;
}
inline Fog &get(DispatchTable &dt)
inline Fog &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetFloatv)(GL_FOG_COLOR,color);
dt.call(&dt.glGetFloatv)(GL_FOG_INDEX,&index);
@ -2031,7 +2031,7 @@ struct Fog
return *this;
}
inline const Fog &set(DispatchTable &dt) const
inline const Fog &set(DispatchTableGL &dt) const
{
dt.call(&dt.glFogfv)(GL_FOG_COLOR,color);
dt.call(&dt.glFogf)(GL_FOG_INDEX,index);
@ -2107,7 +2107,7 @@ struct Point
return *this;
}
inline Point &get(DispatchTable &dt)
inline Point &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetFloatv)(GL_POINT_SIZE,&size);
smooth = dt.call(&dt.glIsEnabled)(GL_POINT_SMOOTH);
@ -2127,7 +2127,7 @@ struct Point
return *this;
}
inline const Point &set(DispatchTable &dt) const
inline const Point &set(DispatchTableGL &dt) const
{
dt.call(&dt.glPointSize)(size);
setEnable(dt,GL_POINT_SMOOTH,smooth);
@ -2240,13 +2240,13 @@ struct PolygonStipple
return *this;
}
inline PolygonStipple &get(DispatchTable &dt)
inline PolygonStipple &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetPolygonStipple)(pattern);
return *this;
}
inline const PolygonStipple &set(DispatchTable &dt) const
inline const PolygonStipple &set(DispatchTableGL &dt) const
{
dt.call(&dt.glPolygonStipple)(pattern);
return *this;
@ -2347,7 +2347,7 @@ struct ColorBuffer
return valid;
}
void getUndefined(DispatchTable &dt)
void getUndefined(DispatchTableGL &dt)
{
if (!valid)
{
@ -2385,7 +2385,7 @@ struct ColorBuffer
return *this;
}
inline ColorBuffer &get(DispatchTable &dt)
inline ColorBuffer &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetIntegerv)(GL_CLAMP_FRAGMENT_COLOR,reinterpret_cast<GLint *>(&clampFragmentColor));
dt.call(&dt.glGetIntegerv)(GL_CLAMP_READ_COLOR,reinterpret_cast<GLint *>(&clampReadColor));
@ -2422,7 +2422,7 @@ struct ColorBuffer
return *this;
}
inline const ColorBuffer &set(DispatchTable &dt) const
inline const ColorBuffer &set(DispatchTableGL &dt) const
{
dt.call(&dt.glClampColor)(GL_CLAMP_FRAGMENT_COLOR,clampFragmentColor);
dt.call(&dt.glClampColor)(GL_CLAMP_READ_COLOR,clampReadColor);
@ -2741,7 +2741,7 @@ struct PixelMode
return valid;
}
void getUndefined(DispatchTable &dt)
void getUndefined(DispatchTableGL &dt)
{
if (!valid)
{
@ -2800,7 +2800,7 @@ struct PixelMode
return *this;
}
inline PixelMode &get(DispatchTable &dt)
inline PixelMode &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetIntegerv)(GL_READ_BUFFER,reinterpret_cast<GLint *>(&readBuffer));
dt.call(&dt.glGetBooleanv)(GL_MAP_COLOR,&mapColor);
@ -2862,7 +2862,7 @@ struct PixelMode
return *this;
}
inline const PixelMode &set(DispatchTable &dt) const
inline const PixelMode &set(DispatchTableGL &dt) const
{
if (valid)
dt.call(&dt.glReadBuffer)(readBuffer);
@ -3270,7 +3270,7 @@ struct LightingFace
return *this;
}
inline LightingFace &get(DispatchTable &dt, GLenum face)
inline LightingFace &get(DispatchTableGL &dt, GLenum face)
{
dt.call(&dt.glGetMaterialfv)(face, GL_AMBIENT, ambient);
dt.call(&dt.glGetMaterialfv)(face, GL_DIFFUSE, diffuse);
@ -3281,7 +3281,7 @@ struct LightingFace
return *this;
}
inline const LightingFace &set(DispatchTable &dt, GLenum face) const
inline const LightingFace &set(DispatchTableGL &dt, GLenum face) const
{
dt.call(&dt.glMaterialfv)(face, GL_AMBIENT, ambient);
dt.call(&dt.glMaterialfv)(face, GL_DIFFUSE, diffuse);
@ -3373,7 +3373,7 @@ struct LightingLight
return *this;
}
inline LightingLight &get(DispatchTable &dt, GLenum light)
inline LightingLight &get(DispatchTableGL &dt, GLenum light)
{
enabled = dt.call(&dt.glIsEnabled)(light);
dt.call(&dt.glGetLightfv)(light, GL_AMBIENT, ambient);
@ -3389,7 +3389,7 @@ struct LightingLight
return *this;
}
inline const LightingLight &set(DispatchTable &dt, GLenum light) const
inline const LightingLight &set(DispatchTableGL &dt, GLenum light) const
{
setEnable(dt,light,enabled);
dt.call(&dt.glLightfv)(light, GL_AMBIENT, ambient);
@ -3489,7 +3489,7 @@ struct Lighting
return *this;
}
Lighting &get(DispatchTable &dt)
Lighting &get(DispatchTableGL &dt)
{
dt.call(&dt.glGetIntegerv)(GL_SHADE_MODEL,reinterpret_cast<GLint *>(&shadeModel));
dt.call(&dt.glGetIntegerv)(GL_CLAMP_VERTEX_COLOR,reinterpret_cast<GLint *>(&clampVertexColor));
@ -3509,7 +3509,7 @@ struct Lighting
return *this;
}
const Lighting &set(DispatchTable &dt) const
const Lighting &set(DispatchTableGL &dt) const
{
dt.call(&dt.glShadeModel)(shadeModel);
dt.call(&dt.glClampColor)(GL_CLAMP_VERTEX_COLOR,clampVertexColor);

View file

@ -86,7 +86,7 @@ namespace Emu {
void TextureStorage( RegalContext * ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width )
{
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
for (GLsizei i = 0; i < levels; i++)
{
tbl.call(&tbl.glTexImage1D)( target, i, internalformat, width, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
@ -105,7 +105,7 @@ namespace Emu {
void TextureStorage( RegalContext * ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height )
{
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
for (GLsizei i = 0; i < levels; i++)
{
if (target == GL_TEXTURE_CUBE_MAP)
@ -131,7 +131,7 @@ namespace Emu {
void TextureStorage( RegalContext * ctx, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth )
{
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
for (GLsizei i = 0; i < levels; i++)
{
tbl.call(&tbl.glTexImage3D)( target, i, internalformat, width, height, depth, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
@ -152,7 +152,7 @@ namespace Emu {
if (pname != GL_TEXTURE_IMMUTABLE_FORMAT)
return false;
DispatchTable & tbl = ctx->dispatcher.emulation;
DispatchTableGL & tbl = ctx->dispatcher.emulation;
GLint id;
tbl.call(&tbl.glGetIntegerv)( BindingFromTarget(target), &id );

View file

@ -62,7 +62,8 @@ REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
struct RegalContext;
struct DispatchTable;
struct DispatchTableGL;
struct DispatchTableGlobal;
namespace Thread
{
@ -102,12 +103,14 @@ struct ThreadLocal
{
inline ThreadLocal()
: currentContext(NULL),
nextDispatchTable(NULL)
nextDispatchTable(NULL),
nextDispatchTableGlobal(NULL)
{
}
RegalContext *currentContext;
DispatchTable *nextDispatchTable;
DispatchTableGL *nextDispatchTable;
DispatchTableGlobal *nextDispatchTableGlobal;
// Platform-specifics for thread-local storage

View file

@ -172,12 +172,14 @@
# endif
#endif
// Trace dispatch unsupported
// Trace dispatch unsupported by default in
// release mode - TODO revisit
#ifndef REGAL_TRACE
#define REGAL_TRACE 0
#endif
// Emulation dispatch supported by default
#ifndef REGAL_EMULATION

View file

@ -208,7 +208,7 @@ struct Vao
{
maxName = current;
}
DispatchTable &tbl = ctx->dispatcher.emulation;
DispatchTableGL &tbl = ctx->dispatcher.emulation;
tbl.glBindBuffer( GL_ARRAY_BUFFER, vao.vertexBuffer );
tbl.glBindBuffer( GL_ELEMENT_ARRAY_BUFFER, vao.indexBuffer );
GLuint lastBuffer = vao.vertexBuffer;
@ -282,7 +282,7 @@ struct Vao
void EnableDisableVertexAttribArray( RegalContext *ctx, GLboolean enable, GLuint index )
{
RegalAssert( index < maxVertexAttribs );
DispatchTable &tbl = ctx->dispatcher.emulation;
DispatchTableGL &tbl = ctx->dispatcher.emulation;
Array &a = objects[current].a[index];
a.enabled = enable;
if( a.enabled == GL_TRUE )

Some files were not shown because too many files have changed in this diff Show more