Now using glsloptimizer to parse and rewrite shaders.

Major enhancements to the state web server.
Added state-based shader instancing to avoid recompiles.
Fixed issue #113 - Possible bug with REGAL_STATISTICS
Corrected handling of GL_POINT_SIZE_MAX state in RegalState.
Refreshed apitrace, civetweb, libpng, and GLEW from upstream.
This commit is contained in:
Scott Nations 2014-03-26 13:57:29 -05:00
parent fa2f167e39
commit 8dda434953
491 changed files with 214691 additions and 4419 deletions

View file

@ -24,7 +24,8 @@ include Makefile.zlib
include Makefile.libpng
include Makefile.snappy
include Makefile.apitrace
# include Makefile.glslopt
include Makefile.glsloptlib
include Makefile.pcrelib
include Makefile.regal
include Makefile.regalw
include Makefile.glu
@ -36,6 +37,7 @@ include Makefile.glewinfo
include Makefile.dreamtorus
include Makefile.dreamtorus_static
include Makefile.alphatorus
include Makefile.tiger
# Testing
@ -56,4 +58,9 @@ clobber:
$(RM) -r lib
$(RM) -r bin
# Disable the built-in yacc & lex rules
%.c: %.y
%.c: %.l
.PHONY: all clean clobber

68
Makefile.alphatorus Normal file
View file

@ -0,0 +1,68 @@
ifndef MAKEFILE_ALPHATORUS_INCLUDED
MAKEFILE_ALPHATORUS_INCLUDED := 1
.PHONY: alphatorus.bin alphatorus.clean
include build/common.inc
# Not supported for NaCL or emscripten - Revisit
ifeq ($(filter nacl% emscripten%,$(SYSTEM)),)
#
# alphatorus
#
include Makefile.regal
include Makefile.glut
ifndef REGAL.STATIC
$(error alphatorus needs Regal.)
endif
all:: alphatorus.bin
clean:: alphatorus.clean
alphatorus.bin: bin/$(SYSTEM)/alphatorus
alphatorus.clean:
$(RM) -r tmp/$(SYSTEM)/alphatorus/static
$(RM) -r bin/$(SYSTEM)/alphatorus
ALPHATORUS.SRCS += examples/alphatorus/src/render.cpp
ALPHATORUS.SRCS += examples/alphatorus/glut/code/main.cpp
ALPHATORUS.SRCS.NAMES := $(notdir $(ALPHATORUS.SRCS))
ALPHATORUS.OBJS := $(addprefix tmp/$(SYSTEM)/alphatorus/static/,$(ALPHATORUS.SRCS.NAMES))
ALPHATORUS.OBJS := $(ALPHATORUS.OBJS:.cpp=.o)
ALPHATORUS.DEPS := $(ALPHATORUS.DEPS:.o=.d)
ALPHATORUS.CFLAGS := -Iinclude -Iexamples/alphatorus/src
ALPHATORUS.LIBS += -Llib/$(SYSTEM) $(LDFLAGS.GLUT) $(LDFLAGS.GLU) $(LDFLAGS.X11)
ALPHATORUS.LIBS += -lm -pthread
-include $(ALPHATORUS.DEPS)
tmp/$(SYSTEM)/alphatorus/static/%.o: examples/alphatorus/src/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(ALPHATORUS.CFLAGS) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
tmp/$(SYSTEM)/alphatorus/static/%.o: examples/alphatorus/glut/code/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(ALPHATORUS.CFLAGS) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
ALPHATORUS.DEPEND :=
ALPHATORUS.DEPEND += lib/$(SYSTEM)/$(REGAL.SHARED)
ifdef GLUT.SHARED
bin/$(SYSTEM)/alphatorus: lib/$(SYSTEM)/$(GLUT.SHARED) lib/$(SYSTEM)/$(GLU.SHARED)
endif
bin/$(SYSTEM)/alphatorus: $(ALPHATORUS.OBJS) lib/$(SYSTEM)/$(REGAL.SHARED)
@mkdir -p $(dir $@)
$(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(ALPHATORUS.OBJS) lib/$(SYSTEM)/$(REGAL.SHARED) $(ALPHATORUS.LIBS) $(REGAL.LDFLAGS)
ifneq ($(STRIP),)
$(LOG_STRIP)$(STRIP) -x $@
endif
endif
endif

View file

@ -67,7 +67,7 @@ tmp/$(SYSTEM)/dreamtorus_static/static/%.o: examples/dreamtorus/glut/code/%.cpp
$(LOG_CXX)$(CCACHE) $(CXX) $(DREAMTORUS_STATIC.CFLAGS) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
DREAMTORUS_STATIC.DEPEND :=
DREAMTORUS_STATIC.DEPEND += lib/$(SYSTEM)/$(REGAL.STATIC)
DREAMTORUS_STATIC.DEPEND += lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC)
ifdef GLUT.STATIC
DREAMTORUS_STATIC.DEPEND += lib/$(SYSTEM)/$(GLUT.STATIC) lib/$(SYSTEM)/$(GLU.STATIC)

View file

@ -28,7 +28,7 @@ GLSLOPT.OBJS := $(filter %.o,$(GLSLOPT.OBJS))
GLSLOPT.DEPS := $(GLSLOPT.OBJS:.o=.d)
GLSLOPT.CFLAGS := $(GLSLOPT.INCLUDE)
# quiet build for this thirdparty code for now
GLSLOPT.CFLAGS += -Wno-ignored-qualifiers -Wno-sign-compare -Wno-unneeded-internal-declaration -Wno-overloaded-virtual -Wno-unused-private-field
GLSLOPT.CFLAGS += -Wno-sign-compare
ifeq ($(MODE),release)
GLSLOPT.CFLAGS += -DNDEBUG

61
Makefile.pcrelib Normal file
View file

@ -0,0 +1,61 @@
#
# Makefile for the GLSL Optimizer component of the Regal runtime.
# The GLSL Optimizer is always build into Regal, but you can build
# just this target static library with:
# make -f Makefile.pcrelib
#
ifndef MAKEFILE_PCRE_INCLUDED
MAKEFILE_PCRE_INCLUDED := 1
.PHONY: pcre.lib pcre.clean
include build/common.inc
include build/pcre.inc
ifdef PCRE.STATIC
all:: pcre.lib
clean:: pcre.clean
PCRE.SRCS := $(PCRE.C)
PCRE.SRCS := $(filter %.c,$(PCRE.SRCS)) $(filter %.cc,$(PCRE.SRCS)) $(filter %.cpp,$(PCRE.SRCS))
PCRE.SRCS.NAMES := $(notdir $(PCRE.SRCS))
PCRE.OBJS := $(addprefix tmp/$(SYSTEM)/pcre/static/,$(PCRE.SRCS.NAMES))
PCRE.OBJS := $(PCRE.OBJS:.c=.o) $(PCRE.OBJS:.cpp=.o)
PCRE.OBJS := $(filter %.o,$(PCRE.OBJS))
PCRE.DEPS := $(PCRE.OBJS:.o=.d)
PCRE.CFLAGS := $(PCRE.INCLUDE)
PCRE.CFLAGS += -DHAVE_CONFIG_H
ifeq ($(MODE),release)
PCRE.CFLAGS += -DNDEBUG
PCRE.CFLAGS += -DREGAL_NO_ASSERT=1
endif
-include $(PCRE.DEPS)
pcre.lib: lib/$(SYSTEM)/$(PCRE.STATIC)
pcre.clean:
$(RM) -r tmp/$(SYSTEM)/pcre/static
$(RM) -r lib/$(SYSTEM)/$(PCRE.STATIC)
tmp/$(SYSTEM)/pcre/static/%.o: src/pcre/%.c
@mkdir -p $(dir $@)
$(LOG_CC)$(CCACHE) $(CC) $(CFLAGS) $(PCRE.CFLAGS) $(PICFLAG) -o $@ -c $<
lib/$(SYSTEM)/$(PCRE.STATIC): $(PCRE.OBJS)
@mkdir -p $(dir $@)
$(LOG_AR)$(CCACHE) $(AR) cr $@ $(PCRE.OBJS)
ifneq ($(RANLIB),)
$(LOG_RANLIB)$(RANLIB) $@
endif
ifneq ($(STRIP),)
$(LOG_STRIP)$(STRIP) -x $@
endif
endif
endif

View file

@ -28,6 +28,8 @@ ifdef REGAL.STATIC
include Makefile.apitrace
include Makefile.libpng
include Makefile.glsloptlib
include Makefile.pcrelib
all:: regal.lib
@ -66,7 +68,7 @@ REGAL.SRCS += src/jsonsl/jsonsl.c
ifeq ($(MODE),debug)
#REGAL.CFLAGS += -DREGAL_ASSERT_VERBOSE=1
#REGAL.CFLAGS += -DREGAL_NO_ASSERT=1
#REGAL.CFLAGS += -DREGAL_NO_ASSERT=1
endif
#
@ -80,7 +82,7 @@ REGAL.CFLAGS += -DREGAL_DECL_EXPORT=1
REGAL.CFLAGS += -DREGAL_LOG_ALL=0
REGAL.CFLAGS += -DREGAL_LOG_ONCE=0
REGAL.CFLAGS += -DREGAL_LOG_JSON=0
REGAL.CFLAGS += -DREGAL_NO_HTTP=1
REGAL.CFLAGS += -DREGAL_HTTP=0
REGAL.CFLAGS += -DREGAL_NO_ASSERT=1
REGAL.CFLAGS += -DREGAL_NO_PNG=1
REGAL.CFLAGS += -DREGAL_STATISTICS=0
@ -105,7 +107,7 @@ endif
ifneq ($(filter nacl% emscripten%,$(SYSTEM)),)
REGAL.CFLAGS += -DREGAL_SYS_EMSCRIPTEN=1 -DREGAL_SYS_EGL=1 -DREGAL_SYS_ES2=1
REGAL.CFLAGS += -DREGAL_NO_HTTP=1
REGAL.CFLAGS += -DREGAL_HTTP=0
REGAL.CFLAGS += -DREGAL_STATISTICS=0
REGAL.CFLAGS += -Wno-constant-logical-operand
REGAL.CFLAGS += -DREGAL_PLUGIN=0
@ -128,7 +130,7 @@ endif
ifneq ($(filter emscripten%,$(SYSTEM)),)
REGAL.CFLAGS += -DREGAL_SYS_EMSCRIPTEN=1 -DREGAL_SYS_EGL=1 -DREGAL_SYS_ES2=1
REGAL.CFLAGS += -DREGAL_NO_HTTP=1
REGAL.CFLAGS += -DREGAL_HTTP=0
REGAL.CFLAGS += -Wno-constant-logical-operand
REGAL.CFLAGS += -DREGAL_PLUGIN=0
REGAL.CFLAGS += -DREGAL_TRACE=0
@ -236,7 +238,7 @@ regal.lib: lib/$(SYSTEM)/$(REGAL.SHARED)
endif
endif
lib/$(SYSTEM)/$(REGAL.STATIC): lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC) $(REGAL.OBJS)
lib/$(SYSTEM)/$(REGAL.STATIC): lib/$(SYSTEM)/$(GLSLOPT.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC) $(REGAL.OBJS)
@mkdir -p $(dir $@)
$(LOG_AR)$(CCACHE) $(AR) cr $@ $(REGAL.OBJS)
ifneq ($(RANLIB),)
@ -247,7 +249,7 @@ ifneq ($(STRIP),)
endif
REGAL.SHARED.DEPEND :=
REGAL.SHARED.DEPEND += lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC)
REGAL.SHARED.DEPEND += lib/$(SYSTEM)/$(GLSLOPT.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) lib/$(SYSTEM)/$(LIBPNG.STATIC) lib/$(SYSTEM)/$(ZLIB.STATIC)
ifdef APITRACE.STATIC
REGAL.SHARED.DEPEND += lib/$(SYSTEM)/$(APITRACE.STATIC) lib/$(SYSTEM)/$(SNAPPY.STATIC)
@ -274,11 +276,11 @@ endif
tmp/$(SYSTEM)/regal/static/%.o: src/regal/%.cpp $(REGAL.HEADERS)
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(CFLAGS) $(CFLAGS.SO) $(REGAL.INCLUDE) -o $@ -c $<
$(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(CFLAGS) $(CFLAGS.SO) $(GLSLOPT.INCLUDE) $(REGAL.INCLUDE) -o $@ -c $<
tmp/$(SYSTEM)/regal/shared/%.o: src/regal/%.cpp $(REGAL.HEADERS)
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) $(REGAL.INCLUDE) -o $@ -c $<
$(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(CFLAGS) $(PICFLAG) $(CFLAGS.SO) $(GLSLOPT.INCLUDE) $(REGAL.INCLUDE) -o $@ -c $<
tmp/$(SYSTEM)/regal/static/%.o: src/civetweb/%.c $(REGAL.HEADERS)
@mkdir -p $(dir $@)

View file

@ -16,6 +16,8 @@ include build/regaltest.inc
#
include Makefile.regal
include Makefile.pcrelib
include Makefile.glsloptlib
include Makefile.gtest
ifndef REGAL.STATIC
@ -41,7 +43,7 @@ REGALTEST.SRCS.NAMES := $(notdir $(REGALTEST.SRCS))
REGALTEST.OBJS := $(addprefix tmp/$(SYSTEM)/regaltest/static/,$(REGALTEST.SRCS.NAMES))
REGALTEST.OBJS := $(REGALTEST.OBJS:.cpp=.o)
REGALTEST.DEPS := $(REGALTEST.DEPS:.o=.d)
REGALTEST.CFLAGS := -Isrc/googletest/include -Isrc/googlemock/include -Isrc/regal -Isrc/boost -Isrc/lookup3
REGALTEST.CFLAGS := -Isrc/googletest/include -Isrc/googlemock/include -Isrc/regal -Isrc/boost -Isrc/lookup3 -Isrc/pcre
REGALTEST.LIBS := -Llib/$(SYSTEM) $(LDFLAGS.X11) -lm
ifeq ($(filter nacl%,$(SYSTEM)),)
@ -56,12 +58,12 @@ tmp/$(SYSTEM)/regaltest/static/%.o: tests/%.cpp
@mkdir -p $(dir $@)
$(LOG_CXX)$(CCACHE) $(CXX) $(REGAL.CFLAGS) $(REGALTEST.CFLAGS) $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
bin/$(SYSTEM)/regaltest$(BIN_EXTENSION): $(REGALTEST.OBJS) lib/$(SYSTEM)/$(GTEST.STATIC) lib/$(SYSTEM)/$(REGAL.STATIC) $(REGAL.SHARED.DEPEND)
bin/$(SYSTEM)/regaltest$(BIN_EXTENSION): $(REGALTEST.OBJS) lib/$(SYSTEM)/$(GTEST.STATIC) lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) $(REGAL.SHARED.DEPEND)
@mkdir -p $(dir $@)
ifdef APITRACE.STATIC
$(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(REGALTEST.OBJS) $(REGALTEST.LIBS) $(LDFLAGS.STARTGROUP) lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(APITRACE.STATIC) $(LDFLAGS.ENDGROUP) $(REGAL.SHARED.DEPEND) $(REGAL.LIBS) lib/$(SYSTEM)/$(GTEST.STATIC) $(REGAL.LDFLAGS)
$(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(REGALTEST.OBJS) $(REGALTEST.LIBS) $(LDFLAGS.STARTGROUP) lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(APITRACE.STATIC) $(LDFLAGS.ENDGROUP) $(REGAL.SHARED.DEPEND) $(REGAL.LIBS) lib/$(SYSTEM)/$(PCRE.STATIC) lib/$(SYSTEM)/$(GTEST.STATIC) $(REGAL.LDFLAGS)
else
$(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(REGALTEST.OBJS) $(REGALTEST.LIBS) lib/$(SYSTEM)/$(REGAL.STATIC) $(REGAL.SHARED.DEPEND) $(REGAL.LIBS) lib/$(SYSTEM)/$(GTEST.STATIC) $(REGAL.LDFLAGS)
$(LOG_LD)$(CCACHE) $(LD) $(LDFLAGS.EXTRA) -o $@ $(REGALTEST.OBJS) $(REGALTEST.LIBS) lib/$(SYSTEM)/$(REGAL.STATIC) lib/$(SYSTEM)/$(PCRE.STATIC) $(REGAL.SHARED.DEPEND) $(REGAL.LIBS) lib/$(SYSTEM)/$(GTEST.STATIC) $(REGAL.LDFLAGS)
endif
ifneq ($(STRIP),)
$(LOG_STRIP)$(STRIP) -x $@

View file

@ -242,7 +242,7 @@ Browser-based interface
- Enabled by default.
- **REGAL_NO_HTTP** --- Build-time and environment variable enable/disable.
- **REGAL_HTTP** --- Build-time and environment variable enable/disable.
- **REGAL_HTTP_PORT** --- Port for HTTP connections (8080 by default)
- **REGAL_HTTP_LOG_LIMIT** --- Number of lines of logging buffered

114
build/alphatorus.inc Normal file
View file

@ -0,0 +1,114 @@
# glu.inc
#
# Generic gnumake .inc for building GLU
#
# Sources
GLU.C += src/glu/libtess/dict.c
GLU.C += src/glu/libtess/geom.c
GLU.C += src/glu/libtess/memalloc.c
GLU.C += src/glu/libtess/mesh.c
GLU.C += src/glu/libtess/normal.c
#GLU.C += src/glu/libtess/priorityq-heap.c
GLU.C += src/glu/libtess/priorityq.c
GLU.C += src/glu/libtess/render.c
GLU.C += src/glu/libtess/sweep.c
GLU.C += src/glu/libtess/tess.c
GLU.C += src/glu/libtess/tessmono.c
GLU.C += src/glu/libutil/error.c
GLU.C += src/glu/libutil/glue.c
GLU.C += src/glu/libutil/mipmap.c
GLU.C += src/glu/libutil/project.c
GLU.C += src/glu/libutil/quad.c
GLU.C += src/glu/libutil/registry.c
GLU.CXX += src/glu/libnurbs/interface/bezierEval.cc
GLU.CXX += src/glu/libnurbs/interface/bezierPatch.cc
GLU.CXX += src/glu/libnurbs/interface/bezierPatchMesh.cc
GLU.CXX += src/glu/libnurbs/interface/glcurveval.cc
GLU.CXX += src/glu/libnurbs/interface/glinterface.cc
GLU.CXX += src/glu/libnurbs/interface/glrenderer.cc
GLU.CXX += src/glu/libnurbs/interface/glsurfeval.cc
GLU.CXX += src/glu/libnurbs/interface/incurveeval.cc
GLU.CXX += src/glu/libnurbs/interface/insurfeval.cc
GLU.CXX += src/glu/libnurbs/internals/arc.cc
GLU.CXX += src/glu/libnurbs/internals/arcsorter.cc
GLU.CXX += src/glu/libnurbs/internals/arctess.cc
GLU.CXX += src/glu/libnurbs/internals/backend.cc
GLU.CXX += src/glu/libnurbs/internals/basiccrveval.cc
GLU.CXX += src/glu/libnurbs/internals/basicsurfeval.cc
GLU.CXX += src/glu/libnurbs/internals/bin.cc
GLU.CXX += src/glu/libnurbs/internals/bufpool.cc
GLU.CXX += src/glu/libnurbs/internals/cachingeval.cc
GLU.CXX += src/glu/libnurbs/internals/ccw.cc
GLU.CXX += src/glu/libnurbs/internals/coveandtiler.cc
GLU.CXX += src/glu/libnurbs/internals/curve.cc
GLU.CXX += src/glu/libnurbs/internals/curvelist.cc
GLU.CXX += src/glu/libnurbs/internals/curvesub.cc
GLU.CXX += src/glu/libnurbs/internals/dataTransform.cc
GLU.CXX += src/glu/libnurbs/internals/displaylist.cc
GLU.CXX += src/glu/libnurbs/internals/flist.cc
GLU.CXX += src/glu/libnurbs/internals/flistsorter.cc
GLU.CXX += src/glu/libnurbs/internals/hull.cc
GLU.CXX += src/glu/libnurbs/internals/intersect.cc
GLU.CXX += src/glu/libnurbs/internals/knotvector.cc
GLU.CXX += src/glu/libnurbs/internals/mapdesc.cc
GLU.CXX += src/glu/libnurbs/internals/mapdescv.cc
GLU.CXX += src/glu/libnurbs/internals/maplist.cc
GLU.CXX += src/glu/libnurbs/internals/mesher.cc
GLU.CXX += src/glu/libnurbs/internals/monotonizer.cc
GLU.CXX += src/glu/libnurbs/internals/monoTriangulationBackend.cc
GLU.CXX += src/glu/libnurbs/internals/mycode.cc
GLU.CXX += src/glu/libnurbs/internals/nurbsinterfac.cc
GLU.CXX += src/glu/libnurbs/internals/nurbstess.cc
GLU.CXX += src/glu/libnurbs/internals/patch.cc
GLU.CXX += src/glu/libnurbs/internals/patchlist.cc
GLU.CXX += src/glu/libnurbs/internals/quilt.cc
GLU.CXX += src/glu/libnurbs/internals/reader.cc
GLU.CXX += src/glu/libnurbs/internals/renderhints.cc
GLU.CXX += src/glu/libnurbs/internals/slicer.cc
GLU.CXX += src/glu/libnurbs/internals/sorter.cc
GLU.CXX += src/glu/libnurbs/internals/splitarcs.cc
GLU.CXX += src/glu/libnurbs/internals/subdivider.cc
GLU.CXX += src/glu/libnurbs/internals/tobezier.cc
GLU.CXX += src/glu/libnurbs/internals/trimline.cc
GLU.CXX += src/glu/libnurbs/internals/trimregion.cc
GLU.CXX += src/glu/libnurbs/internals/trimvertpool.cc
GLU.CXX += src/glu/libnurbs/internals/uarray.cc
GLU.CXX += src/glu/libnurbs/internals/varray.cc
GLU.CXX += src/glu/libnurbs/nurbtess/directedLine.cc
GLU.CXX += src/glu/libnurbs/nurbtess/gridWrap.cc
GLU.CXX += src/glu/libnurbs/nurbtess/monoChain.cc
GLU.CXX += src/glu/libnurbs/nurbtess/monoPolyPart.cc
GLU.CXX += src/glu/libnurbs/nurbtess/monoTriangulation.cc
GLU.CXX += src/glu/libnurbs/nurbtess/partitionX.cc
GLU.CXX += src/glu/libnurbs/nurbtess/partitionY.cc
GLU.CXX += src/glu/libnurbs/nurbtess/polyDBG.cc
GLU.CXX += src/glu/libnurbs/nurbtess/polyUtil.cc
GLU.CXX += src/glu/libnurbs/nurbtess/primitiveStream.cc
GLU.CXX += src/glu/libnurbs/nurbtess/quicksort.cc
GLU.CXX += src/glu/libnurbs/nurbtess/rectBlock.cc
GLU.CXX += src/glu/libnurbs/nurbtess/sampleComp.cc
GLU.CXX += src/glu/libnurbs/nurbtess/sampleCompBot.cc
GLU.CXX += src/glu/libnurbs/nurbtess/sampleCompRight.cc
GLU.CXX += src/glu/libnurbs/nurbtess/sampleCompTop.cc
GLU.CXX += src/glu/libnurbs/nurbtess/sampledLine.cc
GLU.CXX += src/glu/libnurbs/nurbtess/sampleMonoPoly.cc
GLU.CXX += src/glu/libnurbs/nurbtess/searchTree.cc
#
GLU.CFLAGS := -Isrc/glu/include -Isrc/glu/libnurbs/interface -Isrc/glu/libnurbs/internals -Isrc/glu/libnurbs/nurbtess
GLU.CFLAGS += -DLIBRARYBUILD
GLU.SHARED := libRegalGLU.so
GLU.STATIC := libRegalGLUlib.a
ifneq ($(filter darwin%,$(SYSTEM)),)
GLU.SHARED := libRegalGLU.dylib
endif
ifneq ($(filter nacl%,$(SYSTEM)),)
GLU.SHARED :=
endif

View file

@ -23,6 +23,7 @@ include $(regal_path)/build/zlib.inc
include $(regal_path)/build/snappy.inc
include $(regal_path)/build/apitrace.inc
include $(regal_path)/build/glslopt.inc
include $(regal_path)/build/pcre.inc
include $(regal_path)/build/regal.inc
#
@ -65,15 +66,20 @@ apitrace_c_includes := $(patsubst $(LOCAL_PATH)/../%,%,$(apitrace_c_includes))
apitrace_export_c_includes := $(regal_path)/include
#
#
# glsl optimizer
#
glslopt_src_files := $(patsubst %,$(regal_path)/%,$(GLSLOPT.CXX))
glslopt_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(glslopt_src_files))
glslopt_c_includes := $(patsubst -I%,$(regal_path)/%,$(GLSLOPT.INCLUDE))
#
# pcre
#
pcre_src_files := $(patsubst %,$(regal_path)/%,$(PCRE.C))
pcre_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(pcre_src_files))
pcre_c_includes := $(patsubst -I%,$(regal_path)/%,$(PCRE.INCLUDE))
#
# regal
#
@ -82,7 +88,7 @@ regal_src_files := $(patsubst %,$(regal_path)/%,$(REGAL.CXX))
regal_src_files += $(regal_path)/src/civetweb/civetweb.c $(regal_path)/src/md5/src/md5.c $(regal_path)/src/jsonsl/jsonsl.c
regal_src_files := $(patsubst $(LOCAL_PATH)/%,%,$(regal_src_files))
regal_c_includes := $(regal_path)/include $(regal_path)/src/regal $(regal_path)/src/boost $(regal_path)/src/civetweb $(regal_path)/src/md5/include $(regal_path)/src/lookup3 $(regal_path)/src/jsonsl
regal_c_includes := $(regal_path)/include $(regal_path)/src/regal $(regal_path)/src/path $(regal_path)/src/boost $(regal_path)/src/civetweb $(regal_path)/src/md5/include $(regal_path)/src/lookup3 $(regal_path)/src/jsonsl $(regal_path)/src/glsl/include $(regal_path)/src/glsl/src/glsl $(regal_path)/src/glsl/src/mesa $(regal_path)/src/pcre
regal_c_includes := $(patsubst $(LOCAL_PATH)/../%,%,$(regal_c_includes))
regal_export_c_includes := $(regal_path)/include
@ -139,7 +145,7 @@ LOCAL_ARM_MODE := arm
include $(BUILD_STATIC_LIBRARY)
# include $(CLEAR_VARS)
# LOCAL_MODULE := glslopt
# LOCAL_MODULE := glslopt
# LOCAL_SRC_FILES := $(glslopt_src_files)
# LOCAL_CFLAGS := $(regal_cflags)
# LOCAL_C_INCLUDES := $(glslopt_c_includes)
@ -147,12 +153,31 @@ include $(BUILD_STATIC_LIBRARY)
# LOCAL_ARM_MODE := arm
# include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := glslopt
LOCAL_SRC_FILES := $(glslopt_src_files)
LOCAL_CFLAGS := $(regal_cflags) -Wno-redefinitions
LOCAL_C_INCLUDES := $(glslopt_c_includes)
LOCAL_EXPORT_LDLIBS :=
LOCAL_ARM_MODE := arm
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := pcre
LOCAL_SRC_FILES := $(pcre_src_files)
LOCAL_CFLAGS := $(regal_cflags) -DHAVE_CONFIG_H=1 -DPCRE_STATIC=1
LOCAL_C_INCLUDES := $(pcre_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)
LOCAL_CFLAGS := $(regal_cflags)
LOCAL_C_INCLUDES := $(regal_c_includes)
LOCAL_EXPORT_C_INCLUDES := $(regal_export_c_includes)
LOCAL_STATIC_LIBRARIES := glslopt pcre
LOCAL_EXPORT_LDLIBS := -llog
LOCAL_ARM_MODE := arm
include $(BUILD_STATIC_LIBRARY)
@ -164,6 +189,7 @@ 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_STATIC_LIBRARIES += glslopt pcre
LOCAL_LDLIBS := -llog
LOCAL_EXPORT_LDLIBS := -llog
LOCAL_ARM_MODE := arm

View file

@ -1,3 +1,6 @@
#seth: need to specify this manually to get the latest
NDK_TOOLCHAIN_VERSION := 4.8
APP_MODULES := Regal_static Regal
APP_STL := stlport_static
APP_PLATFORM := android-9

View file

@ -33,7 +33,6 @@ APITRACE.CXX += src/apitrace/dispatch/glproc_regal.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/wrappers/regaltrace.cpp
#

View file

@ -62,7 +62,6 @@ GLSLOPT.CXX += src/glsl/src/glsl/lower_variable_index_to_cond_assign.cpp
GLSLOPT.CXX += src/glsl/src/glsl/lower_vec_index_to_cond_assign.cpp
GLSLOPT.CXX += src/glsl/src/glsl/lower_vec_index_to_swizzle.cpp
GLSLOPT.CXX += src/glsl/src/glsl/lower_vector.cpp
#GLSLOPT.CXX += src/glsl/src/glsl/main.cpp
GLSLOPT.CXX += src/glsl/src/glsl/opt_algebraic.cpp
GLSLOPT.CXX += src/glsl/src/glsl/opt_array_splitting.cpp
GLSLOPT.CXX += src/glsl/src/glsl/opt_constant_folding.cpp
@ -102,10 +101,15 @@ GLSLOPT.H :=
GLSLOPT.H.OTHER :=
#
# Includes
GLSLOPT.INCLUDE :=
GLSLOPT.INCLUDE += -Isrc/glsl/include
GLSLOPT.INCLUDE += -Isrc/glsl/src/glsl
GLSLOPT.INCLUDE += -Isrc/glsl/src/mesa
ifeq ($(PROFILE_OS),Windows)
GLSLOPT.INCLUDES += -Isrc/glsl/include/c99
endif
GLSLOPT.STATIC ?= libglslopt.a

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -13,8 +13,6 @@
43777CE917DBF46700EA874E /* glcaps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB417DBF46700EA874E /* glcaps.cpp */; };
43777CEA17DBF46700EA874E /* gltrace_state.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB517DBF46700EA874E /* gltrace_state.cpp */; };
43777CEB17DBF46700EA874E /* regaltrace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB617DBF46700EA874E /* regaltrace.cpp */; };
43777CEC17DBF46700EA874E /* trace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB717DBF46700EA874E /* trace.cpp */; };
43777CED17DBF46700EA874E /* trace.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 43777CB817DBF46700EA874E /* trace.hpp */; };
43777CEE17DBF46700EA874E /* glproc_regal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43777CB917DBF46700EA874E /* glproc_regal.cpp */; };
43777CEF17DBF46700EA874E /* glproc.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 43777CBA17DBF46700EA874E /* glproc.hpp */; };
43777CF017DBF46700EA874E /* formatter.hpp in Headers */ = {isa = PBXBuildFile; fileRef = 43777CBB17DBF46700EA874E /* formatter.hpp */; };
@ -70,8 +68,6 @@
43777CB417DBF46700EA874E /* glcaps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = glcaps.cpp; path = ../../../src/apitrace/wrappers/glcaps.cpp; sourceTree = "<group>"; };
43777CB517DBF46700EA874E /* gltrace_state.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gltrace_state.cpp; path = ../../../src/apitrace/wrappers/gltrace_state.cpp; sourceTree = "<group>"; };
43777CB617DBF46700EA874E /* regaltrace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = regaltrace.cpp; path = ../../../src/apitrace/wrappers/regaltrace.cpp; sourceTree = "<group>"; };
43777CB717DBF46700EA874E /* trace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = trace.cpp; path = ../../../src/apitrace/wrappers/trace.cpp; sourceTree = "<group>"; };
43777CB817DBF46700EA874E /* trace.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = trace.hpp; path = ../../../src/apitrace/wrappers/trace.hpp; sourceTree = "<group>"; };
43777CB917DBF46700EA874E /* glproc_regal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = glproc_regal.cpp; path = ../../../src/apitrace/dispatch/glproc_regal.cpp; sourceTree = "<group>"; };
43777CBA17DBF46700EA874E /* glproc.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = glproc.hpp; path = ../../../src/apitrace/dispatch/glproc.hpp; sourceTree = "<group>"; };
43777CBB17DBF46700EA874E /* formatter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = formatter.hpp; path = ../../../src/apitrace/common/formatter.hpp; sourceTree = "<group>"; };
@ -157,8 +153,6 @@
43777CB417DBF46700EA874E /* glcaps.cpp */,
43777CB517DBF46700EA874E /* gltrace_state.cpp */,
43777CB617DBF46700EA874E /* regaltrace.cpp */,
43777CB717DBF46700EA874E /* trace.cpp */,
43777CB817DBF46700EA874E /* trace.hpp */,
43777CB917DBF46700EA874E /* glproc_regal.cpp */,
43777CBA17DBF46700EA874E /* glproc.hpp */,
43777CBB17DBF46700EA874E /* formatter.hpp */,
@ -215,7 +209,6 @@
files = (
43777CE717DBF46700EA874E /* eglsize.hpp in Headers */,
43777CE817DBF46700EA874E /* glsize.hpp in Headers */,
43777CED17DBF46700EA874E /* trace.hpp in Headers */,
43777CEF17DBF46700EA874E /* glproc.hpp in Headers */,
43777CF017DBF46700EA874E /* formatter.hpp in Headers */,
43777CF117DBF46700EA874E /* os_binary.hpp in Headers */,
@ -299,7 +292,6 @@
43777CE917DBF46700EA874E /* glcaps.cpp in Sources */,
43777CEA17DBF46700EA874E /* gltrace_state.cpp in Sources */,
43777CEB17DBF46700EA874E /* regaltrace.cpp in Sources */,
43777CEC17DBF46700EA874E /* trace.cpp in Sources */,
43777CEE17DBF46700EA874E /* glproc_regal.cpp in Sources */,
43777CF417DBF46700EA874E /* os_posix.cpp in Sources */,
43777CF917DBF46700EA874E /* os_win32.cpp in Sources */,

98
build/pcre.inc Normal file
View file

@ -0,0 +1,98 @@
# pcre.inc
#
# Generic gnumake .inc for building pcre
#
# Sources
PCRE.C :=
#PCRE.C += src/pcre/dftables.c
PCRE.C += src/pcre/pcre16_byte_order.c
PCRE.C += src/pcre/pcre16_chartables.c
PCRE.C += src/pcre/pcre16_compile.c
PCRE.C += src/pcre/pcre16_config.c
PCRE.C += src/pcre/pcre16_dfa_exec.c
PCRE.C += src/pcre/pcre16_exec.c
PCRE.C += src/pcre/pcre16_fullinfo.c
PCRE.C += src/pcre/pcre16_get.c
PCRE.C += src/pcre/pcre16_globals.c
PCRE.C += src/pcre/pcre16_jit_compile.c
PCRE.C += src/pcre/pcre16_maketables.c
PCRE.C += src/pcre/pcre16_newline.c
PCRE.C += src/pcre/pcre16_ord2utf16.c
PCRE.C += src/pcre/pcre16_printint.c
PCRE.C += src/pcre/pcre16_refcount.c
PCRE.C += src/pcre/pcre16_string_utils.c
PCRE.C += src/pcre/pcre16_study.c
PCRE.C += src/pcre/pcre16_tables.c
PCRE.C += src/pcre/pcre16_ucd.c
PCRE.C += src/pcre/pcre16_utf16_utils.c
PCRE.C += src/pcre/pcre16_valid_utf16.c
PCRE.C += src/pcre/pcre16_version.c
PCRE.C += src/pcre/pcre16_xclass.c
PCRE.C += src/pcre/pcre32_byte_order.c
PCRE.C += src/pcre/pcre32_chartables.c
PCRE.C += src/pcre/pcre32_compile.c
PCRE.C += src/pcre/pcre32_config.c
PCRE.C += src/pcre/pcre32_dfa_exec.c
PCRE.C += src/pcre/pcre32_exec.c
PCRE.C += src/pcre/pcre32_fullinfo.c
PCRE.C += src/pcre/pcre32_get.c
PCRE.C += src/pcre/pcre32_globals.c
PCRE.C += src/pcre/pcre32_jit_compile.c
PCRE.C += src/pcre/pcre32_maketables.c
PCRE.C += src/pcre/pcre32_newline.c
PCRE.C += src/pcre/pcre32_ord2utf32.c
PCRE.C += src/pcre/pcre32_printint.c
PCRE.C += src/pcre/pcre32_refcount.c
PCRE.C += src/pcre/pcre32_string_utils.c
PCRE.C += src/pcre/pcre32_study.c
PCRE.C += src/pcre/pcre32_tables.c
PCRE.C += src/pcre/pcre32_ucd.c
PCRE.C += src/pcre/pcre32_utf32_utils.c
PCRE.C += src/pcre/pcre32_valid_utf32.c
PCRE.C += src/pcre/pcre32_version.c
PCRE.C += src/pcre/pcre32_xclass.c
PCRE.C += src/pcre/pcre_byte_order.c
PCRE.C += src/pcre/pcre_chartables.c
PCRE.C += src/pcre/pcre_compile.c
PCRE.C += src/pcre/pcre_config.c
#PCRE.C += src/pcre/pcredemo.c
PCRE.C += src/pcre/pcre_dfa_exec.c
PCRE.C += src/pcre/pcre_exec.c
PCRE.C += src/pcre/pcre_fullinfo.c
PCRE.C += src/pcre/pcre_get.c
PCRE.C += src/pcre/pcre_globals.c
#PCRE.C += src/pcre/pcregrep.c
PCRE.C += src/pcre/pcre_jit_compile.c
PCRE.C += src/pcre/pcre_jit_test.c
PCRE.C += src/pcre/pcre_maketables.c
PCRE.C += src/pcre/pcre_newline.c
PCRE.C += src/pcre/pcre_ord2utf8.c
PCRE.C += src/pcre/pcreposix.c
PCRE.C += src/pcre/pcre_printint.c
PCRE.C += src/pcre/pcre_refcount.c
PCRE.C += src/pcre/pcre_string_utils.c
PCRE.C += src/pcre/pcre_study.c
PCRE.C += src/pcre/pcre_tables.c
#PCRE.C += src/pcre/pcretest.c
PCRE.C += src/pcre/pcre_ucd.c
PCRE.C += src/pcre/pcre_valid_utf8.c
PCRE.C += src/pcre/pcre_version.c
PCRE.C += src/pcre/pcre_xclass.c
# Internal Headers
# seth: is this used for dependencies?
PCRE.H :=
# Other Headers
# seth: do all of these need to be specified?
PCRE.H.OTHER :=
#
# Includes
PCRE.INCLUDE :=
PCRE.INCLUDE += -Isrc/pcre
PCRE.STATIC ?= libpcre.a

View file

@ -172,7 +172,7 @@
<AdditionalIncludeDirectories>../../../../src/jsonsl;../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<WarningLevel>Level4</WarningLevel>
<PreprocessorDefinitions>PPAPI;REGAL_NO_TLS=1;REGAL_WIN_TLS=0;REGAL_DECL_EXPORT;REGAL_SYS_WGL_DECLARE_WGL;JSONSL_STATE_GENERIC=1;DNDEBUG;REGAL_DECL_EXPORT=1;REGAL_LOG=0;REGAL_LOG_ALL=0;REGAL_LOG_ONCE=0;REGAL_LOG_JSON=0;REGAL_NO_HTTP=1;REGAL_NO_ASSERT=1;REGAL_NO_PNG=1;REGAL_ERROR=0;REGAL_DEBUG=0;REGAL_CACHE=0;REGAL_EMULATION=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>PPAPI;REGAL_NO_TLS=1;REGAL_WIN_TLS=0;REGAL_DECL_EXPORT;REGAL_SYS_WGL_DECLARE_WGL;JSONSL_STATE_GENERIC=1;DNDEBUG;REGAL_DECL_EXPORT=1;REGAL_LOG=0;REGAL_LOG_ALL=0;REGAL_LOG_ONCE=0;REGAL_LOG_JSON=0;REGAL_HTTP=0;REGAL_NO_ASSERT=1;REGAL_NO_PNG=1;REGAL_ERROR=0;REGAL_DEBUG=0;REGAL_CACHE=0;REGAL_EMULATION=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
</ClCompile>
@ -279,4 +279,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View file

@ -6,6 +6,7 @@
# Regal Sources
REGAL.CXX :=
REGAL.CXX += src/regal/RegalShaderInstance.cpp
REGAL.CXX += src/regal/RegalIff.cpp
REGAL.CXX += src/regal/RegalQuads.cpp
REGAL.CXX += src/regal/Regal.cpp
@ -28,6 +29,7 @@ REGAL.CXX += src/regal/RegalDispatch.cpp
REGAL.CXX += src/regal/RegalStatistics.cpp
REGAL.CXX += src/regal/RegalLookup.cpp
REGAL.CXX += src/regal/RegalPlugin.cpp
REGAL.CXX += src/regal/RegalShader.cpp
REGAL.CXX += src/regal/RegalToken.cpp
REGAL.CXX += src/regal/RegalDispatchGlobal.cpp
REGAL.CXX += src/regal/RegalDispatcher.cpp
@ -49,6 +51,7 @@ REGAL.CXX += src/regal/RegalDispatchTrace.cpp
REGAL.CXX += src/regal/RegalDispatchMissing.cpp
REGAL.CXX += src/regal/RegalPixelConversions.cpp
REGAL.CXX += src/regal/RegalHttp.cpp
REGAL.CXX += src/regal/RegalDispatchHttp.cpp
REGAL.CXX += src/regal/RegalJson.cpp
REGAL.CXX += src/regal/RegalFavicon.cpp
REGAL.CXX += src/regal/RegalMac.cpp
@ -85,6 +88,7 @@ REGAL.H += src/regal/RegalXfer.h
REGAL.H += src/regal/RegalFrame.h
REGAL.H += src/regal/RegalHelper.h
REGAL.H += src/regal/RegalHttp.h
REGAL.H += src/regal/RegalDispatchHttp.h
REGAL.H += src/regal/RegalJson.h
REGAL.H += src/regal/RegalJson.inl
REGAL.H += src/regal/RegalIff.h
@ -94,6 +98,7 @@ REGAL.H += src/regal/RegalLog.h
REGAL.H += src/regal/RegalLookup.h
REGAL.H += src/regal/RegalMarker.h
REGAL.H += src/regal/RegalNamespace.h
REGAL.H += src/regal/RegalShader.h
REGAL.H += src/regal/RegalTexC.h
REGAL.H += src/regal/RegalTexSto.h
REGAL.H += src/regal/RegalMac.h
@ -128,6 +133,7 @@ REGAL.H.OTHER += src/lookup3/lookup3.h
#
REGAL.INCLUDE :=
REGAL.INCLUDE += -Isrc/regal
REGAL.INCLUDE += -Isrc/zlib/include
@ -135,8 +141,17 @@ REGAL.INCLUDE += -Isrc/libpng/include
REGAL.INCLUDE += -Isrc/civetweb
REGAL.INCLUDE += -Isrc/md5/include
REGAL.INCLUDE += -Isrc/lookup3
REGAL.INCLUDE += -Isrc/pcre
REGAL.INCLUDE += -Isrc/jsonsl
REGAL.INCLUDE += -Isrc/boost
REGAL.INCLUDE += -Isrc/glsl/include
REGAL.INCLUDE += -Isrc/glsl/src/glsl
REGAL.INCLUDE += -Isrc/glsl/src/mesa
ifeq ($(PROFILE_OS),Windows)
REGAL.INCLUDE += -Isrc/glsl/include/c99
endif
REGAL.STATIC ?= libRegallib.a
REGAL.SHARED ?= libRegal.so

View file

@ -6,9 +6,11 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regal", "Regal.vcxproj", "{
{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}
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21}
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
EndProjectSection
EndProject
@ -22,9 +24,11 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalm", "Regalm.vcxproj",
{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}
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21}
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
EndProjectSection
EndProject
@ -54,6 +58,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pnglib", "pnglib.vcxproj",
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pcrelib", "pcrelib.vcxproj", "{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -66,6 +74,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "apitracelib", "apitracelib.
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "glsloptlib", "glsloptlib.vcxproj", "{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -114,6 +126,13 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus", "dreamtorus.vc
{D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E} = {D0E3B182-FE11-0FF9-FD65-CBEFAAB35A3E}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "alphatorus", "alphatorus.vcxproj", "{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}"
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}
@ -129,8 +148,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus_static", "dreamt
{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}
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21}
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}
{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}
@ -227,6 +248,14 @@ Global
{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
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.Build.0 = Debug|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.ActiveCfg = Debug|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.Build.0 = Debug|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.ActiveCfg = Debug|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.Build.0 = Release|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.ActiveCfg = Release|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.Build.0 = Release|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.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
@ -251,6 +280,14 @@ Global
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|Win32.ActiveCfg = Release|Win32
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.Build.0 = Release|x64
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.ActiveCfg = Release|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.Build.0 = Debug|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.ActiveCfg = Debug|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.Build.0 = Debug|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.ActiveCfg = Debug|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.Build.0 = Release|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.ActiveCfg = Release|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.Build.0 = Release|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.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
@ -331,6 +368,14 @@ Global
{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
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|Win32.Build.0 = Debug|Win32
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|Win32.ActiveCfg = Debug|Win32
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|x64.Build.0 = Debug|x64
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|x64.ActiveCfg = Debug|x64
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|Win32.Build.0 = Release|Win32
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|Win32.ActiveCfg = Release|Win32
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|x64.Build.0 = Release|x64
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.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
@ -369,9 +414,11 @@ Global
{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}
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {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}
{A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {AEB42855-4A0A-CC6C-C503-A2E4DA6AE61A}
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {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}
@ -382,6 +429,7 @@ Global
{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}
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3} = {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}

View file

@ -8,6 +8,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "dreamtorus", "dreamtorus.vc
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "alphatorus", "alphatorus.vcxproj", "{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "tiger", "tiger.vcxproj", "{CC6D2AA2-765F-3405-4DF6-DC537EE16992}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -45,6 +49,14 @@ Global
{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
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|Win32.Build.0 = Debug|Win32
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|Win32.ActiveCfg = Debug|Win32
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|x64.Build.0 = Debug|x64
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Debug|x64.ActiveCfg = Debug|x64
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|Win32.Build.0 = Release|Win32
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|Win32.ActiveCfg = Release|Win32
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.Release|x64.Build.0 = Release|x64
{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}.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

View file

@ -51,6 +51,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "png", "png.vcxproj", "{6446
{C04D78E5-3A59-67AE-8832-C03CE8DFF0B7} = {C04D78E5-3A59-67AE-8832-C03CE8DFF0B7}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pcrelib", "pcrelib.vcxproj", "{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -63,6 +67,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "apitracelib", "apitracelib.
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "glsloptlib", "glsloptlib.vcxproj", "{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -171,6 +179,14 @@ Global
{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
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.Build.0 = Debug|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.ActiveCfg = Debug|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.Build.0 = Debug|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.ActiveCfg = Debug|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.Build.0 = Release|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.ActiveCfg = Release|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.Build.0 = Release|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.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
@ -195,6 +211,14 @@ Global
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|Win32.ActiveCfg = Release|Win32
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.Build.0 = Release|x64
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.ActiveCfg = Release|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.Build.0 = Debug|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.ActiveCfg = Debug|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.Build.0 = Debug|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.ActiveCfg = Debug|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.Build.0 = Release|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.ActiveCfg = Release|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.Build.0 = Release|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.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

View file

@ -6,9 +6,11 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regal", "Regal.vcxproj", "{
{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}
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21}
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
EndProjectSection
EndProject
@ -22,9 +24,11 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regalm", "Regalm.vcxproj",
{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}
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{A996811D-4FA1-5874-A99B-81B8A0F3AA21} = {A996811D-4FA1-5874-A99B-81B8A0F3AA21}
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
EndProjectSection
EndProject
@ -54,6 +58,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pnglib", "pnglib.vcxproj",
{12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99} = {12EBE7B9-A6BF-51C2-BC7A-A743E21C7B99}
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pcrelib", "pcrelib.vcxproj", "{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -66,6 +74,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "apitracelib", "apitracelib.
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "glsloptlib", "glsloptlib.vcxproj", "{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -150,6 +162,14 @@ Global
{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
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.Build.0 = Debug|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.ActiveCfg = Debug|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.Build.0 = Debug|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.ActiveCfg = Debug|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.Build.0 = Release|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.ActiveCfg = Release|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.Build.0 = Release|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.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
@ -174,6 +194,14 @@ Global
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|Win32.ActiveCfg = Release|Win32
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.Build.0 = Release|x64
{A996811D-4FA1-5874-A99B-81B8A0F3AA21}.Release|x64.ActiveCfg = Release|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.Build.0 = Debug|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.ActiveCfg = Debug|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.Build.0 = Debug|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.ActiveCfg = Debug|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.Build.0 = Release|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.ActiveCfg = Release|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.Build.0 = Release|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.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

View file

@ -78,8 +78,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -96,7 +96,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;pcrelib.lib;glsloptlib.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>
@ -118,8 +118,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -133,11 +133,11 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;pcrelib.lib;glsloptlib.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>
@ -157,8 +157,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -175,7 +175,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;pcrelib.lib;glsloptlib.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>
@ -197,8 +197,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -211,11 +211,11 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;pcrelib.lib;glsloptlib.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>
@ -259,6 +259,8 @@
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchError.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGLX.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGlobal.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchHttp.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchHttp.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLoader.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLog.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchMissing.cpp" />
@ -319,6 +321,9 @@
<ClCompile Include="..\..\..\..\src\regal\RegalQuads.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalQuads.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalScopedPtr.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShader.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalShader.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShaderInstance.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedList.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedMap.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedPtr.h" />

View file

@ -16,6 +16,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pnglib", "pnglib.vcxproj",
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "pcrelib", "pcrelib.vcxproj", "{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "jsonsllib", "jsonsllib.vcxproj", "{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -24,6 +28,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "squishlib", "squishlib.vcxp
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "glsloptlib", "glsloptlib.vcxproj", "{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
EndProject
Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "snappylib", "snappylib.vcxproj", "{E3BB0211-87AF-58EF-3C65-999758F666FD}"
ProjectSection(ProjectDependencies) = postProject
EndProjectSection
@ -38,8 +46,10 @@ Project("{CF05FE22-B763-D96E-C64D-312608111C07}") = "Regaltest", "Regaltest.vcxp
{DF066256-E0AD-E016-6F07-52E868F96C02} = {DF066256-E0AD-E016-6F07-52E868F96C02}
{EF516F6A-1965-7089-C2CA-65778D394F08} = {EF516F6A-1965-7089-C2CA-65778D394F08}
{9C419167-D705-A241-8927-763A6F9A5016} = {9C419167-D705-A241-8927-763A6F9A5016}
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD} = {F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}
{B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C} = {B2F73D1B-8FA3-518D-0F85-9AAD20EF1E1C}
{27193EF0-3CCB-8553-C48A-271082615A64} = {27193EF0-3CCB-8553-C48A-271082615A64}
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B} = {1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}
{E3BB0211-87AF-58EF-3C65-999758F666FD} = {E3BB0211-87AF-58EF-3C65-999758F666FD}
{8772AF49-E799-D743-4AED-682CB7047DB9} = {8772AF49-E799-D743-4AED-682CB7047DB9}
EndProjectSection
@ -84,6 +94,14 @@ Global
{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
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.Build.0 = Debug|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|Win32.ActiveCfg = Debug|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.Build.0 = Debug|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Debug|x64.ActiveCfg = Debug|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.Build.0 = Release|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|Win32.ActiveCfg = Release|Win32
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.Release|x64.Build.0 = Release|x64
{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}.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
@ -100,6 +118,14 @@ Global
{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
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.Build.0 = Debug|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|Win32.ActiveCfg = Debug|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.Build.0 = Debug|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Debug|x64.ActiveCfg = Debug|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.Build.0 = Release|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|Win32.ActiveCfg = Release|Win32
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.Release|x64.Build.0 = Release|x64
{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}.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

View file

@ -78,8 +78,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -118,8 +118,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -133,7 +133,7 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
@ -157,8 +157,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -197,8 +197,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -211,7 +211,7 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
@ -259,6 +259,8 @@
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchError.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGLX.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGlobal.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchHttp.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchHttp.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLoader.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLog.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchMissing.cpp" />
@ -319,6 +321,9 @@
<ClCompile Include="..\..\..\..\src\regal\RegalQuads.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalQuads.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalScopedPtr.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShader.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalShader.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShaderInstance.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedList.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedMap.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedPtr.h" />

View file

@ -78,8 +78,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -96,7 +96,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.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/Regalm.def</ModuleDefinitionFile>
@ -118,8 +118,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -133,11 +133,11 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.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/Regalm.def</ModuleDefinitionFile>
@ -157,8 +157,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -175,7 +175,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.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/Regalm.def</ModuleDefinitionFile>
@ -197,8 +197,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -211,11 +211,11 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.lib;snappylib.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/Regalm.def</ModuleDefinitionFile>
@ -259,6 +259,8 @@
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchError.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGLX.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGlobal.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchHttp.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchHttp.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLoader.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLog.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchMissing.cpp" />
@ -319,6 +321,9 @@
<ClCompile Include="..\..\..\..\src\regal\RegalQuads.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalQuads.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalScopedPtr.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShader.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalShader.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShaderInstance.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedList.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedMap.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedPtr.h" />

View file

@ -78,8 +78,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -118,8 +118,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -133,7 +133,7 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
@ -157,8 +157,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -197,8 +197,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>PCRE_STATIC=1;REGAL_DECL_EXPORT;REGAL_NAMESPACE;REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -211,7 +211,7 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
@ -259,6 +259,8 @@
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchError.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGLX.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGlobal.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchHttp.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchHttp.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLoader.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLog.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchMissing.cpp" />
@ -319,6 +321,9 @@
<ClCompile Include="..\..\..\..\src\regal\RegalQuads.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalQuads.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalScopedPtr.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShader.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalShader.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShaderInstance.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedList.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedMap.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedPtr.h" />

View file

@ -78,8 +78,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTEST_HAS_RTTI=0;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../src/pcre;../../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTEST_HAS_RTTI=0;PCRE_STATIC=1;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -96,7 +96,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.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>
@ -118,8 +118,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTEST_HAS_RTTI=0;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../src/pcre;../../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTEST_HAS_RTTI=0;PCRE_STATIC=1;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -137,7 +137,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.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>
@ -157,8 +157,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTEST_HAS_RTTI=0;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../src/pcre;../../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTEST_HAS_RTTI=0;PCRE_STATIC=1;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -175,7 +175,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.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>
@ -197,8 +197,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTEST_HAS_RTTI=0;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/googletest/include;../../../../src/googlemock/include;../../../../src/googlemock;../../../../src/boost;../../../../src/regal;../../../../src/lookup3;../../../../src/pcre;../../../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GTEST_HAS_RTTI=0;PCRE_STATIC=1;REGAL_SYS_WGL_DECLARE_WGL;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -215,7 +215,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;advapi32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>gtestlib.lib;regallib.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;squishlib.lib;apitracelib.lib;pcrelib.lib;glsloptlib.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

@ -78,8 +78,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -118,8 +118,8 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
@ -133,7 +133,7 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
@ -157,8 +157,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -197,8 +197,8 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/jsonsl;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>../../../../src/boost;../../../../include;../../../../src/civetweb;../../../../src/lookup3;../../../../src/md5/include;../../../../src/libpng/include;../../../../src/zlib/include;../../../../src/squish;../../../../src/pcre;../../../../src/jsonsl;../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>REGAL_NO_SQUISH=1;REGAL_SYS_WGL_DECLARE_WGL;REGAL_WIN_TLS=1;REGAL_WRANGLER=1;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
@ -211,7 +211,7 @@
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<AdditionalOptions> /bigobj %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
@ -259,6 +259,8 @@
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchError.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGLX.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchGlobal.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchHttp.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalDispatchHttp.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLoader.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchLog.cpp" />
<ClCompile Include="..\..\..\..\src\regal\RegalDispatchMissing.cpp" />
@ -319,6 +321,9 @@
<ClCompile Include="..\..\..\..\src\regal\RegalQuads.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalQuads.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalScopedPtr.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShader.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalShader.h" />
<ClCompile Include="..\..\..\..\src\regal\RegalShaderInstance.cpp" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedList.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedMap.h" />
<ClInclude Include="..\..\..\..\src\regal\RegalSharedPtr.h" />

View file

@ -0,0 +1,244 @@
<?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>alphatorus</ProjectName>
<ProjectGuid>{B16811C6-F61E-8CD5-E8A4-94D84F05D7A3}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</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\alphatorus\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\alphatorus\</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\alphatorus\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\alphatorus\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">alphatorus</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">alphatorus</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">alphatorus</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">alphatorus</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../include;../../../../src/glu/include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GLUT_NO_LIB_PRAGMA;_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\alphatorus\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\alphatorus\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\alphatorus.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>rglut32.lib;rglu32.lib;regal32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\alphatorus.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\alphatorus.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/glu/include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GLUT_NO_LIB_PRAGMA;_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\alphatorus\</AssemblerListingLocation>
<ObjectFileName>Release\x64\alphatorus\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\alphatorus.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>rglut32.lib;rglu32.lib;regal32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\alphatorus.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\alphatorus.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/glu/include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GLUT_NO_LIB_PRAGMA;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\alphatorus\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\alphatorus\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\alphatorus.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>rglut32.lib;rglu32.lib;regal32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\alphatorus.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\alphatorus.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/glu/include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>GLUT_NO_LIB_PRAGMA;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\alphatorus\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\alphatorus\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\alphatorus.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>rglut32.lib;rglu32.lib;regal32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\alphatorus.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\alphatorus.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\examples\alphatorus\glut\code\main.cpp" />
<ClCompile Include="..\..\..\..\examples\alphatorus\src\render.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,244 @@
<?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>alphatorus_win32</ProjectName>
<ProjectGuid>{9722CBCF-433D-69FD-9DF1-5D4BEA237F5E}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</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\alphatorus_win32\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\alphatorus_win32\</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\alphatorus_win32\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\alphatorus_win32\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">alphatorus_win32</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">alphatorus_win32</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">alphatorus_win32</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">alphatorus_win32</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../include;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>;_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\alphatorus_win32\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\alphatorus_win32\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\alphatorus_win32.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>regal32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\alphatorus_win32.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\alphatorus_win32.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;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>;_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\alphatorus_win32\</AssemblerListingLocation>
<ObjectFileName>Release\x64\alphatorus_win32\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\alphatorus_win32.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>regal32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\alphatorus_win32.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<ImportLibrary>Release\x64\alphatorus_win32.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;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\alphatorus_win32\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\alphatorus_win32\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\alphatorus_win32.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>regal32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\alphatorus_win32.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\alphatorus_win32.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;../../../../examples/alphatorus/src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\alphatorus_win32\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\alphatorus_win32\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\alphatorus_win32.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>regal32.lib;gdi32.lib;user32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\alphatorus_win32.pdb</ProgramDatabaseFile>
<SubSystem>Windows</SubSystem>
<ImportLibrary>Debug\x64\alphatorus_win32.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\examples\alphatorus\src\render.cpp" />
<ClCompile Include="..\..\..\..\examples\alphatorus\win32\minimal.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -259,7 +259,6 @@
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\glcaps.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\gltrace_state.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\regaltrace.cpp" />
<ClCompile Include="..\..\..\..\src\apitrace\wrappers\trace.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

View file

@ -96,7 +96,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;glsloptlib.lib;pcrelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -137,7 +137,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;glsloptlib.lib;pcrelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -175,7 +175,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;glsloptlib.lib;pcrelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
@ -215,7 +215,7 @@
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>rglutlib.lib;rglulib.lib;regallib.lib;winmm.lib;ws2_32.lib;civetweblib.lib;md5lib.lib;jsonsllib.lib;apitracelib.lib;glsloptlib.lib;pcrelib.lib;snappylib.lib;pnglib.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>

View file

@ -0,0 +1,327 @@
<?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>glsloptlib</ProjectName>
<ProjectGuid>{1BC6E4FA-5DF0-05C0-9F6A-582B10E2F55B}</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\glsloptlib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\glsloptlib\</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\glsloptlib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\glsloptlib\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">glsloptlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">glsloptlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">glsloptlib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">glsloptlib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_ITERATOR_DEBUG_LEVEL=0;_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\glsloptlib\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\glsloptlib\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\glsloptlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\glsloptlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\glsloptlib.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/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_ITERATOR_DEBUG_LEVEL=0;_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\glsloptlib\</AssemblerListingLocation>
<ObjectFileName>Release\x64\glsloptlib\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\glsloptlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\glsloptlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\glsloptlib.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/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\glsloptlib\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\glsloptlib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\glsloptlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\glsloptlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\glsloptlib.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/glsl/include;../../../../src/glsl/src/glsl;../../../../src/glsl/src/mesa;../../../../src/glsl/include/c99;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\glsloptlib\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\glsloptlib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\glsloptlib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\glsloptlib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\glsloptlib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\..\mesa\main\hash_table.c" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\..\mesa\main\imports.c" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\..\mesa\program\prog_hash_table.c" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\..\mesa\program\symbol_table.c" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ast_array_index.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ast_expr.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ast_function.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ast_to_hir.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ast_type.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\builtin_function.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\builtin_variables.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glcpp\glcpp-lex.c" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glcpp\glcpp-parse.c" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glcpp\pp.c" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glsl_lexer.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glsl_optimizer.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glsl_parser.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glsl_parser_extras.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glsl_symbol_table.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\glsl_types.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\hir_field_selection.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_basic_block.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_builder.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_clone.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_constant_expression.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_expression_flattening.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_function.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_function_can_inline.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_function_detect_recursion.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_hierarchical_visitor.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_hv_accept.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_import_prototypes.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_print_glsl_visitor.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_print_visitor.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_reader.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_rvalue_visitor.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_unused_structs.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_validate.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ir_variable_refcount.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\link_functions.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\link_uniform_block_active_visitor.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\link_uniform_blocks.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\link_uniform_initializers.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\link_uniforms.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\link_varyings.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\linker.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\loop_analysis.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\loop_controls.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\loop_unroll.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_clip_distance.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_discard.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_discard_flow.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_if_to_cond_assign.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_instructions.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_jumps.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_mat_op_to_vec.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_noise.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_packed_varyings.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_variable_index_to_cond_assign.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_vec_index_to_cond_assign.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_vec_index_to_swizzle.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\lower_vector.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_algebraic.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_array_splitting.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_constant_folding.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_constant_propagation.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_constant_variable.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_copy_propagation.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_copy_propagation_elements.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_dead_code.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_dead_code_local.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_dead_functions.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_flatten_nested_if_blocks.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_function_inlining.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_if_simplification.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_noop_swizzle.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_redundant_jumps.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_structure_splitting.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_swizzle_swizzle.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\opt_tree_grafting.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\ralloc.c" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\s_expression.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\standalone_scaffolding.cpp" />
<ClCompile Include="..\..\..\..\src\glsl\src\glsl\strtod.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,268 @@
<?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>pcrelib</ProjectName>
<ProjectGuid>{F429E8BA-6BB6-211C-2C88-BD0EA55CF9FD}</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\pcrelib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Release\x64\pcrelib\</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\pcrelib\</IntDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Debug\x64\pcrelib\</IntDir>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">pcrelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">pcrelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">pcrelib</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">pcrelib</TargetName>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>../../../../src/pcre;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H=1;HAVE_DIRENT_H=0;HAVE_INTTYPES_H=0;HAVE_STDINT_H=0;HAVE_UNISTD_H=0;HAVE_WINDOWS_H=1;PCRE_STATIC=1;_ITERATOR_DEBUG_LEVEL=0;_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\pcrelib\</AssemblerListingLocation>
<ObjectFileName>Release\Win32\pcrelib\</ObjectFileName>
<ProgramDataBaseFileName>Release\Win32\pcrelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\Win32\pcrelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Release\Win32\pcrelib.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/pcre;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H=1;HAVE_DIRENT_H=0;HAVE_INTTYPES_H=0;HAVE_STDINT_H=0;HAVE_UNISTD_H=0;HAVE_WINDOWS_H=1;PCRE_STATIC=1;_ITERATOR_DEBUG_LEVEL=0;_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\pcrelib\</AssemblerListingLocation>
<ObjectFileName>Release\x64\pcrelib\</ObjectFileName>
<ProgramDataBaseFileName>Release\x64\pcrelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Release\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<ProgramDatabaseFile>Release\x64\pcrelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Release\x64\pcrelib.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/pcre;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H=1;HAVE_DIRENT_H=0;HAVE_INTTYPES_H=0;HAVE_STDINT_H=0;HAVE_UNISTD_H=0;HAVE_WINDOWS_H=1;PCRE_STATIC=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\Win32\pcrelib\</AssemblerListingLocation>
<ObjectFileName>Debug\Win32\pcrelib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\Win32\pcrelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\Win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\Win32\pcrelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
<ImportLibrary>Debug\Win32\pcrelib.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/pcre;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>HAVE_CONFIG_H=1;HAVE_DIRENT_H=0;HAVE_INTTYPES_H=0;HAVE_STDINT_H=0;HAVE_UNISTD_H=0;HAVE_WINDOWS_H=1;PCRE_STATIC=1;_ITERATOR_DEBUG_LEVEL=0;_CRT_SECURE_NO_WARNINGS=1;WIN32;_WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>
</PrecompiledHeader>
<AssemblerListingLocation>Debug\x64\pcrelib\</AssemblerListingLocation>
<ObjectFileName>Debug\x64\pcrelib\</ObjectFileName>
<ProgramDataBaseFileName>Debug\x64\pcrelib.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<SuppressStartupBanner>true</SuppressStartupBanner>
<CompileAs>Default</CompileAs>
<DisableSpecificWarnings>4996</DisableSpecificWarnings>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<AdditionalOptions> %(AdditionalOptions)</AdditionalOptions>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>Debug\x64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ModuleDefinitionFile></ModuleDefinitionFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>Debug\x64\pcrelib.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<ImportLibrary>Debug\x64\pcrelib.lib</ImportLibrary>
</Link>
<Midl>
<HeaderFileName>
</HeaderFileName>
</Midl>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0409</Culture>
</ResourceCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\..\src\pcre\pcre_byte_order.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_chartables.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_compile.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_config.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_dfa_exec.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_exec.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_fullinfo.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_get.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_globals.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_jit_compile.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_jit_test.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_maketables.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_newline.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_ord2utf8.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_printint.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_refcount.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_string_utils.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_study.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_tables.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_ucd.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_valid_utf8.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_version.c" />
<ClCompile Include="..\..\..\..\src\pcre\pcre_xclass.c" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\..\..\src\pcre\pcre.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

View file

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>minimalAndroid</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2009, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.regal.alphatorus">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<application
android:icon="@drawable/ic_launcher_regal"
android:label="@string/alphatorus_activity"
android:debuggable="true"
>
<activity android:name="AlphatorusActivity"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:launchMode="singleTask"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-feature android:glEsVersion="0x00020000"/>
<uses-sdk android:minSdkVersion="10"/>
</manifest>

View file

@ -0,0 +1,2 @@
# Project target.
target=android-15

View file

@ -0,0 +1,40 @@
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libalphatorus
LOCAL_CFLAGS := -Werror
LOCAL_ARM_MODE := arm
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 := zlib snappy
LOCAL_WHOLE_STATIC_LIBRARIES := Regal_static apitrace
LOCAL_CFLAGS := -DANDROID=1
LOCAL_LDLIBS := -llog
#-lGLESv2
include $(BUILD_SHARED_LIBRARY)
$(call import-add-path, $(LOCAL_PATH)/../../../../build/android/Regal)
$(call import-module, jni)

View file

@ -0,0 +1,6 @@
APP_STL := stlport_static
ifeq ($(NDK_DEBUG),1)
$(warning NDK_DEBUG set, enabling debug build.)
APP_OPTIM := debug
endif

View file

@ -0,0 +1,66 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
*/
#include <jni.h>
#include <android/log.h>
#include <GL/Regal.h>
#include "render.h"
#include <cmath>
#include <cstdio>
#include <cstdlib>
#define LOG_TAG "alphatorus"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
extern "C"
{
JNIEXPORT void JNICALL Java_com_regal_alphatorus_AlphatorusLib_init(JNIEnv *env, jobject obj, jint width, jint height);
JNIEXPORT void JNICALL Java_com_regal_alphatorus_AlphatorusLib_step(JNIEnv *env, jobject obj);
};
JNIEXPORT void JNICALL Java_com_regal_alphatorus_AlphatorusLib_init(JNIEnv *env, jobject obj, jint width, jint height)
{
// On Android there is a new context each time the application
// is activated - we ought to clean up the Regal resources for
// the old context, but there is no API for that yet.
RegalMakeCurrent(eglGetCurrentContext());
alphaTorusInit();
alphaTorusReshape(width, height);
}
JNIEXPORT void JNICALL Java_com_regal_alphatorus_AlphatorusLib_step(JNIEnv *env, jobject obj)
{
//glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
alphaTorusDisplay( true );
}

View file

@ -0,0 +1,11 @@
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "ant.properties", and override values to adapt the script to your
# project structure.
# Project target.
target=android-10

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2006, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<!-- This file contains resource definitions for displayed strings, allowing
them to be changed based on the locale and options. -->
<resources>
<!-- Simple strings. -->
<string name="alphatorus_activity">alphatorus</string>
</resources>

View file

@ -0,0 +1,46 @@
/*
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.regal.alphatorus;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.WindowManager;
import java.io.File;
public class AlphatorusActivity extends Activity {
AlphatorusView mView;
@Override protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
mView = new AlphatorusView(getApplication());
setContentView(mView);
}
@Override protected void onPause() {
super.onPause();
mView.onPause();
}
@Override protected void onResume() {
super.onResume();
mView.onResume();
}
}

View file

@ -0,0 +1,33 @@
/*
* Copyright (C) 2007 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.regal.alphatorus;
// Wrapper for native library
public class AlphatorusLib {
static {
System.loadLibrary("alphatorus");
}
/**
* @param width the current view width
* @param height the current view height
*/
public static native void init(int width, int height);
public static native void step();
}

View file

@ -0,0 +1,339 @@
/*
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.regal.alphatorus;
/*
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import android.content.Context;
import android.graphics.PixelFormat;
import android.opengl.GLSurfaceView;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import javax.microedition.khronos.egl.EGL10;
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.egl.EGLContext;
import javax.microedition.khronos.egl.EGLDisplay;
import javax.microedition.khronos.opengles.GL10;
/**
* A simple GLSurfaceView sub-class that demonstrate how to perform
* OpenGL ES 2.0 rendering into a GL Surface. Note the following important
* details:
*
* - The class must use a custom context factory to enable 2.0 rendering.
* See ContextFactory class definition below.
*
* - The class must use a custom EGLConfigChooser to be able to select
* an EGLConfig that supports 2.0. This is done by providing a config
* specification to eglChooseConfig() that has the attribute
* EGL10.ELG_RENDERABLE_TYPE containing the EGL_OPENGL_ES2_BIT flag
* set. See ConfigChooser class definition below.
*
* - The class must select the surface's format, then choose an EGLConfig
* that matches it exactly (with regards to red/green/blue/alpha channels
* bit depths). Failure to do so would result in an EGL_BAD_MATCH error.
*/
class AlphatorusView extends GLSurfaceView {
private static String TAG = "AlphatorusView";
private static final boolean DEBUG = false;
public AlphatorusView(Context context) {
super(context);
init(false, 0, 0);
}
public AlphatorusView(Context context, boolean translucent, int depth, int stencil) {
super(context);
init(translucent, depth, stencil);
}
private void init(boolean translucent, int depth, int stencil) {
/* By default, GLSurfaceView() creates a RGB_565 opaque surface.
* If we want a translucent one, we should change the surface's
* format here, using PixelFormat.TRANSLUCENT for GL Surfaces
* is interpreted as any 32-bit surface with alpha by SurfaceFlinger.
*/
if (translucent) {
this.getHolder().setFormat(PixelFormat.TRANSLUCENT);
}
/* Setup the context factory for 2.0 rendering.
* See ContextFactory class definition below
*/
setEGLContextFactory(new ContextFactory());
/* We need to choose an EGLConfig that matches the format of
* our surface exactly. This is going to be done in our
* custom config chooser. See ConfigChooser class definition
* below.
*/
setEGLConfigChooser( translucent ?
new ConfigChooser(8, 8, 8, 8, depth, stencil) :
new ConfigChooser(5, 6, 5, 0, depth, stencil) );
/* Set the renderer responsible for frame rendering */
setRenderer(new Renderer());
}
private static class ContextFactory implements GLSurfaceView.EGLContextFactory {
private static int EGL_CONTEXT_CLIENT_VERSION = 0x3098;
public EGLContext createContext(EGL10 egl, EGLDisplay display, EGLConfig eglConfig) {
Log.w(TAG, "creating OpenGL ES 2.0 context");
checkEglError("Before eglCreateContext", egl);
int[] attrib_list = {EGL_CONTEXT_CLIENT_VERSION, 2, EGL10.EGL_NONE };
EGLContext context = egl.eglCreateContext(display, eglConfig, EGL10.EGL_NO_CONTEXT, attrib_list);
checkEglError("After eglCreateContext", egl);
return context;
}
public void destroyContext(EGL10 egl, EGLDisplay display, EGLContext context) {
egl.eglDestroyContext(display, context);
}
}
private static void checkEglError(String prompt, EGL10 egl) {
int error;
while ((error = egl.eglGetError()) != EGL10.EGL_SUCCESS) {
Log.e(TAG, String.format("%s: EGL error: 0x%x", prompt, error));
}
}
private static class ConfigChooser implements GLSurfaceView.EGLConfigChooser {
public ConfigChooser(int r, int g, int b, int a, int depth, int stencil) {
mRedSize = r;
mGreenSize = g;
mBlueSize = b;
mAlphaSize = a;
mDepthSize = depth;
mStencilSize = stencil;
}
/* This EGL config specification is used to specify 2.0 rendering.
* We use a minimum size of 4 bits for red/green/blue, but will
* perform actual matching in chooseConfig() below.
*/
private static int EGL_OPENGL_ES2_BIT = 4;
private static int[] s_configAttribs2 =
{
EGL10.EGL_RED_SIZE, 4,
EGL10.EGL_GREEN_SIZE, 4,
EGL10.EGL_BLUE_SIZE, 4,
EGL10.EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
EGL10.EGL_NONE
};
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display) {
/* Get the number of minimally matching EGL configurations
*/
int[] num_config = new int[1];
egl.eglChooseConfig(display, s_configAttribs2, null, 0, num_config);
int numConfigs = num_config[0];
if (numConfigs <= 0) {
throw new IllegalArgumentException("No configs match configSpec");
}
/* Allocate then read the array of minimally matching EGL configs
*/
EGLConfig[] configs = new EGLConfig[numConfigs];
egl.eglChooseConfig(display, s_configAttribs2, configs, numConfigs, num_config);
if (DEBUG) {
printConfigs(egl, display, configs);
}
/* Now return the "best" one
*/
return chooseConfig(egl, display, configs);
}
public EGLConfig chooseConfig(EGL10 egl, EGLDisplay display,
EGLConfig[] configs) {
for(EGLConfig config : configs) {
int d = findConfigAttrib(egl, display, config,
EGL10.EGL_DEPTH_SIZE, 0);
int s = findConfigAttrib(egl, display, config,
EGL10.EGL_STENCIL_SIZE, 0);
// We need at least mDepthSize and mStencilSize bits
if (d < mDepthSize || s < mStencilSize)
continue;
// We want an *exact* match for red/green/blue/alpha
int r = findConfigAttrib(egl, display, config,
EGL10.EGL_RED_SIZE, 0);
int g = findConfigAttrib(egl, display, config,
EGL10.EGL_GREEN_SIZE, 0);
int b = findConfigAttrib(egl, display, config,
EGL10.EGL_BLUE_SIZE, 0);
int a = findConfigAttrib(egl, display, config,
EGL10.EGL_ALPHA_SIZE, 0);
if (r == mRedSize && g == mGreenSize && b == mBlueSize && a == mAlphaSize)
return config;
}
return null;
}
private int findConfigAttrib(EGL10 egl, EGLDisplay display,
EGLConfig config, int attribute, int defaultValue) {
if (egl.eglGetConfigAttrib(display, config, attribute, mValue)) {
return mValue[0];
}
return defaultValue;
}
private void printConfigs(EGL10 egl, EGLDisplay display,
EGLConfig[] configs) {
int numConfigs = configs.length;
Log.w(TAG, String.format("%d configurations", numConfigs));
for (int i = 0; i < numConfigs; i++) {
Log.w(TAG, String.format("Configuration %d:\n", i));
printConfig(egl, display, configs[i]);
}
}
private void printConfig(EGL10 egl, EGLDisplay display,
EGLConfig config) {
int[] attributes = {
EGL10.EGL_BUFFER_SIZE,
EGL10.EGL_ALPHA_SIZE,
EGL10.EGL_BLUE_SIZE,
EGL10.EGL_GREEN_SIZE,
EGL10.EGL_RED_SIZE,
EGL10.EGL_DEPTH_SIZE,
EGL10.EGL_STENCIL_SIZE,
EGL10.EGL_CONFIG_CAVEAT,
EGL10.EGL_CONFIG_ID,
EGL10.EGL_LEVEL,
EGL10.EGL_MAX_PBUFFER_HEIGHT,
EGL10.EGL_MAX_PBUFFER_PIXELS,
EGL10.EGL_MAX_PBUFFER_WIDTH,
EGL10.EGL_NATIVE_RENDERABLE,
EGL10.EGL_NATIVE_VISUAL_ID,
EGL10.EGL_NATIVE_VISUAL_TYPE,
0x3030, // EGL10.EGL_PRESERVED_RESOURCES,
EGL10.EGL_SAMPLES,
EGL10.EGL_SAMPLE_BUFFERS,
EGL10.EGL_SURFACE_TYPE,
EGL10.EGL_TRANSPARENT_TYPE,
EGL10.EGL_TRANSPARENT_RED_VALUE,
EGL10.EGL_TRANSPARENT_GREEN_VALUE,
EGL10.EGL_TRANSPARENT_BLUE_VALUE,
0x3039, // EGL10.EGL_BIND_TO_TEXTURE_RGB,
0x303A, // EGL10.EGL_BIND_TO_TEXTURE_RGBA,
0x303B, // EGL10.EGL_MIN_SWAP_INTERVAL,
0x303C, // EGL10.EGL_MAX_SWAP_INTERVAL,
EGL10.EGL_LUMINANCE_SIZE,
EGL10.EGL_ALPHA_MASK_SIZE,
EGL10.EGL_COLOR_BUFFER_TYPE,
EGL10.EGL_RENDERABLE_TYPE,
0x3042 // EGL10.EGL_CONFORMANT
};
String[] names = {
"EGL_BUFFER_SIZE",
"EGL_ALPHA_SIZE",
"EGL_BLUE_SIZE",
"EGL_GREEN_SIZE",
"EGL_RED_SIZE",
"EGL_DEPTH_SIZE",
"EGL_STENCIL_SIZE",
"EGL_CONFIG_CAVEAT",
"EGL_CONFIG_ID",
"EGL_LEVEL",
"EGL_MAX_PBUFFER_HEIGHT",
"EGL_MAX_PBUFFER_PIXELS",
"EGL_MAX_PBUFFER_WIDTH",
"EGL_NATIVE_RENDERABLE",
"EGL_NATIVE_VISUAL_ID",
"EGL_NATIVE_VISUAL_TYPE",
"EGL_PRESERVED_RESOURCES",
"EGL_SAMPLES",
"EGL_SAMPLE_BUFFERS",
"EGL_SURFACE_TYPE",
"EGL_TRANSPARENT_TYPE",
"EGL_TRANSPARENT_RED_VALUE",
"EGL_TRANSPARENT_GREEN_VALUE",
"EGL_TRANSPARENT_BLUE_VALUE",
"EGL_BIND_TO_TEXTURE_RGB",
"EGL_BIND_TO_TEXTURE_RGBA",
"EGL_MIN_SWAP_INTERVAL",
"EGL_MAX_SWAP_INTERVAL",
"EGL_LUMINANCE_SIZE",
"EGL_ALPHA_MASK_SIZE",
"EGL_COLOR_BUFFER_TYPE",
"EGL_RENDERABLE_TYPE",
"EGL_CONFORMANT"
};
int[] value = new int[1];
for (int i = 0; i < attributes.length; i++) {
int attribute = attributes[i];
String name = names[i];
if ( egl.eglGetConfigAttrib(display, config, attribute, value)) {
Log.w(TAG, String.format(" %s: %d\n", name, value[0]));
} else {
// Log.w(TAG, String.format(" %s: failed\n", name));
while (egl.eglGetError() != EGL10.EGL_SUCCESS);
}
}
}
// Subclasses can adjust these values:
protected int mRedSize;
protected int mGreenSize;
protected int mBlueSize;
protected int mAlphaSize;
protected int mDepthSize;
protected int mStencilSize;
private int[] mValue = new int[1];
}
private static class Renderer implements GLSurfaceView.Renderer {
public void onDrawFrame(GL10 gl) {
AlphatorusLib.step();
}
public void onSurfaceChanged(GL10 gl, int width, int height) {
AlphatorusLib.init(width, height);
}
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
// Do nothing.
}
}
}

View file

@ -0,0 +1,37 @@
all: alphatorus
clean:
rm -f alphatorus
rm -rf obj
REGAL_DIR := ../../../../regal
REGAL_SRC := $(wildcard $(REGAL_DIR)/gen/*.cpp $(REGAL_DIR)/src/*.cpp)
REGAL_INC := $(REGAL_DIR)/include $(REGAL_DIR)/src
REGAL_DEF := -DREGAL_SYS_EGL=1
SHARED_DIR := ../src
SHARED_SRC := $(wildcard $(SHARED_DIR)/*.cpp)
SHARED_INC := $(SHARED_DIR)
LOCAL_SRC := $(wildcard *.cpp)
MY_SRC := $(REGAL_SRC) $(LOCAL_SRC) $(SHARED_SRC)
MY_SRC_DIRS := $(sort $(dir $(MY_SRC)))
MY_OBJ := $(MY_SRC)
MY_OBJ := $(patsubst %.cpp, obj$(CURDIR)/%.o, $(MY_OBJ))
MY_OBJ := $(patsubst %.c, obj$(CURDIR)/%.o, $(MY_OBJ))
MY_OBJ_DIRS := $(sort $(dir $(MY_OBJ)))
MY_INC := $(REGAL_INC) $(SHARED_INC)
MY_CMD_INC := $(patsubst %, -I %, $(MY_INC))
obj$(CURDIR)/%.o: %.cpp
@mkdir -p $(dir $@)
g++ -g -c -o $@ $(MY_CMD_INC) $(REGAL_DEF) $<
@echo $@ ---- $<
alphatorus: $(MY_OBJ)
g++ -g -o $@ $(MY_OBJ) -L$(REGAL_DIR)/lib -lRegal -lX11 -lpthread

View file

@ -0,0 +1,431 @@
/* Created by exoticorn ( http://talk.maemo.org/showthread.php?t=37356 )
* edited and commented by André Bergner [endboss]
*
* libraries needed: libx11-dev, libgles2-dev
*
* compile with: g++ -lX11 -lEGL -lGLESv2 egl-example.cpp
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
using namespace std;
#include <cmath>
#include <sys/time.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include <X11/Xutil.h>
#include <GL/Regal.h>
#include "render.h"
/*
#include <GLES2/gl2.h>
#include <EGL/egl.h>
*/
#include <dlfcn.h>
const char vertex_src [] =
" \
attribute vec4 position; \
varying mediump vec2 pos; \
uniform vec4 offset; \
\
void main() \
{ \
gl_Position = position + offset; \
pos = position.xy; \
} \
";
const char fragment_src [] =
" \
varying mediump vec2 pos; \
uniform mediump float phase; \
\
void main() \
{ \
gl_FragColor = vec4( 1., 0.9, 0.7, 1.0 ) * \
cos( 30.*sqrt(pos.x*pos.x + 1.5*pos.y*pos.y) \
+ atan(pos.y,pos.x) - phase ); \
} \
";
// some more formulas to play with...
// cos( 20.*(pos.x*pos.x + pos.y*pos.y) - phase );
// cos( 20.*sqrt(pos.x*pos.x + pos.y*pos.y) + atan(pos.y,pos.x) - phase );
// cos( 30.*sqrt(pos.x*pos.x + 1.5*pos.y*pos.y - 1.8*pos.x*pos.y*pos.y)
// + atan(pos.y,pos.x) - phase );
void
print_shader_info_log (
GLuint shader // handle to the shader
)
{
GLint length;
glGetShaderiv ( shader , GL_INFO_LOG_LENGTH , &length );
if ( length ) {
char* buffer = new char [ length ];
glGetShaderInfoLog ( shader , length , NULL , buffer );
cout << "shader info: " << buffer << flush;
delete [] buffer;
GLint success;
glGetShaderiv( shader, GL_COMPILE_STATUS, &success );
if ( success != GL_TRUE ) exit ( 1 );
}
}
GLuint
load_shader (
const char *shader_source,
GLenum type
)
{
GLuint shader = glCreateShader( type );
glShaderSource ( shader , 1 , &shader_source , NULL );
glCompileShader ( shader );
print_shader_info_log ( shader );
return shader;
}
Display *x_display;
Window win;
EGLDisplay egl_display;
EGLContext egl_context;
GLfloat
norm_x = 0.0,
norm_y = 0.0,
offset_x = 0.0,
offset_y = 0.0,
p1_pos_x = 0.0,
p1_pos_y = 0.0;
GLint
phase_loc,
offset_loc,
position_loc;
EGLSurface egl_surface;
bool update_pos = false;
const float vertexArray[] = {
0.0, 0.5, 0.0,
-0.5, 0.0, 0.0,
0.0, -0.5, 0.0,
0.5, 0.0, 0.0,
0.0, 0.5, 0.0
};
void render()
{
static float phase = 0;
static int donesetup = 0;
static XWindowAttributes gwa;
//// draw
if ( !donesetup ) {
XWindowAttributes gwa;
XGetWindowAttributes ( x_display , win , &gwa );
glViewport ( 0 , 0 , gwa.width , gwa.height );
glClearColor ( 1.0 , 0.06 , 0.07 , 1.); // background color
donesetup = 1;
}
static int color = 1;
if (color)
glClearColor ( 1.0 , 0.06 , 0.07 , 1.); // background color
else
glClearColor ( 0.0 , 1.0 , 0.07 , 1.); // background color
color = !color;
glClear ( GL_COLOR_BUFFER_BIT );
glUniform1f ( phase_loc , phase ); // write the value of phase to the shaders phase
phase = fmodf ( phase + 0.5f , 2.f * 3.141f ); // and update the local variable
if ( update_pos ) { // if the position of the texture has changed due to user action
GLfloat old_offset_x = offset_x;
GLfloat old_offset_y = offset_y;
offset_x = norm_x - p1_pos_x;
offset_y = norm_y - p1_pos_y;
p1_pos_x = norm_x;
p1_pos_y = norm_y;
offset_x += old_offset_x;
offset_y += old_offset_y;
update_pos = false;
}
glUniform4f ( offset_loc , offset_x , offset_y , 0.0 , 0.0 );
glVertexAttribPointer ( position_loc, 3, GL_FLOAT, false, 0, vertexArray );
glEnableVertexAttribArray ( position_loc );
glBlendFunc(GL_ONE, GL_ONE);
//glEnable(GL_BLEND);
//glDrawArrays ( GL_TRIANGLE_STRIP, 0, 5 );
int ret;
ret = eglSwapBuffers ( egl_display, egl_surface ); // get the rendered buffer to the screen
printf("swap returned %i\n", ret);
}
////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
/////// the X11 part //////////////////////////////////////////////////////////////////
// in the first part the program opens a connection to the X11 window manager
//
x_display = XOpenDisplay ( NULL ); // open the standard display (the primary screen)
if ( x_display == NULL ) {
cerr << "cannot connect to X server" << endl;
return 1;
}
Window root = DefaultRootWindow( x_display ); // get the root window (usually the whole screen)
XSetWindowAttributes swa;
swa.event_mask = ExposureMask | PointerMotionMask | KeyPressMask;
win = XCreateWindow ( // create a window with the provided parameters
x_display, root,
0, 0, 800, 480, 0,
CopyFromParent, InputOutput,
CopyFromParent, CWEventMask,
&swa );
XSetWindowAttributes xattr;
Atom atom;
int one = 1;
xattr.override_redirect = False;
XChangeWindowAttributes ( x_display, win, CWOverrideRedirect, &xattr );
/*atom = XInternAtom ( x_display, "_NET_WM_STATE_FULLSCREEN", True );
XChangeProperty (
x_display, win,
XInternAtom ( x_display, "_NET_WM_STATE", True ),
XA_ATOM, 32, PropModeReplace,
(unsigned char*) &atom, 1 );*/
/*XChangeProperty (
x_display, win,
XInternAtom ( x_display, "_HILDON_NON_COMPOSITED_WINDOW", True ),
XA_INTEGER, 32, PropModeReplace,
(unsigned char*) &one, 1);*/
XWMHints hints;
hints.input = True;
hints.flags = InputHint;
XSetWMHints(x_display, win, &hints);
XMapWindow ( x_display , win ); // make the window visible on the screen
XStoreName ( x_display , win , "GL test" ); // give the window a name
XSync(x_display, NULL);
//sleep(10);
//// get identifiers for the provided atom name strings
/*Atom wm_state = XInternAtom ( x_display, "_NET_WM_STATE", False );
Atom fullscreen = XInternAtom ( x_display, "_NET_WM_STATE_FULLSCREEN", False );
XEvent xev;
memset ( &xev, 0, sizeof(xev) );
xev.type = ClientMessage;
xev.xclient.window = win;
xev.xclient.message_type = wm_state;
xev.xclient.format = 32;
xev.xclient.data.l[0] = 1;
xev.xclient.data.l[1] = fullscreen;
XSendEvent ( // send an event mask to the X-server
x_display,
DefaultRootWindow ( x_display ),
False,
SubstructureNotifyMask,
&xev );*/
/////// the egl part //////////////////////////////////////////////////////////////////
// egl provides an interface to connect the graphics related functionality of openGL ES
// with the windowing interface and functionality of the native operation system (X11
// in our case.
egl_display = eglGetDisplay( (EGLNativeDisplayType) x_display );
if ( egl_display == EGL_NO_DISPLAY ) {
cerr << "Got no EGL display." << endl;
return 1;
}
if ( !eglInitialize( egl_display, NULL, NULL ) ) {
cerr << "Unable to initialize EGL" << endl;
return 1;
}
EGLint attr[] = { // some attributes to set up our egl-interface
EGL_BUFFER_SIZE, 32,
EGL_RENDERABLE_TYPE,
EGL_OPENGL_ES_BIT,
EGL_NONE
};
EGLConfig ecfg;
EGLint num_config;
if ( !eglChooseConfig( egl_display, attr, &ecfg, 1, &num_config ) ) {
cerr << "Failed to choose config (eglError: " << eglGetError() << ")" << endl;
return 1;
}
if ( num_config != 1 ) {
cerr << "Didn't get exactly one config, but " << num_config << endl;
return 1;
}
egl_surface = eglCreateWindowSurface ( egl_display, ecfg, (EGLNativeWindowType)win, NULL );
if ( egl_surface == EGL_NO_SURFACE ) {
cerr << "Unable to create EGL surface (eglError: " << eglGetError() << ")" << endl;
return 1;
}
//// egl-contexts collect all state descriptions needed required for operation
EGLint ctxattr[] = {
EGL_CONTEXT_CLIENT_VERSION, 2,
EGL_NONE
};
egl_context = eglCreateContext ( egl_display, ecfg, EGL_NO_CONTEXT, ctxattr );
if ( egl_context == EGL_NO_CONTEXT ) {
cerr << "Unable to create EGL context (eglError: " << eglGetError() << ")" << endl;
return 1;
}
int i = -1;
eglQueryContext(egl_display, egl_context, EGL_CONTEXT_CLIENT_VERSION, &i);
printf("EGL client context version : %i!\n", i);
//// associate the egl-context with the egl-surface
eglMakeCurrent( egl_display, egl_surface, egl_surface, egl_context );
/////// the openGL part ///////////////////////////////////////////////////////////////
printf("GL version string: %s.\n", glGetString(GL_VENDOR));
printf("GL extension string: %s.\n", glGetString(GL_EXTENSIONS));
printf("%x\n.", eglGetProcAddress("glMapBufferOES"));
GLuint vertexShader = load_shader ( vertex_src , GL_VERTEX_SHADER ); // load vertex shader
GLuint fragmentShader = load_shader ( fragment_src , GL_FRAGMENT_SHADER ); // load fragment shader
GLuint shaderProgram = glCreateProgram (); // create program object
glAttachShader ( shaderProgram, vertexShader ); // and attach both...
glAttachShader ( shaderProgram, fragmentShader ); // ... shaders to it
glLinkProgram ( shaderProgram ); // link the program
glUseProgram ( shaderProgram ); // and select it for usage
//// now get the locations (kind of handle) of the shaders variables
position_loc = glGetAttribLocation ( shaderProgram , "position" );
phase_loc = glGetUniformLocation ( shaderProgram , "phase" );
offset_loc = glGetUniformLocation ( shaderProgram , "offset" );
if ( position_loc < 0 || phase_loc < 0 || offset_loc < 0 ) {
cerr << "Unable to get uniform location" << endl;
return 1;
}
const float
window_width = 800.0,
window_height = 480.0;
//// this is needed for time measuring --> frames per second
struct timezone tz;
timeval t1, t2;
gettimeofday ( &t1 , &tz );
int num_frames = 0;
bool quit = false;
alphaTorusReshape( window_width, window_height );
int frame_count = 0;
XWindowAttributes gwa;
XGetWindowAttributes ( x_display , win , &gwa );
glViewport ( 0 , 0 , gwa.width , gwa.height );
glClearColor ( 0, 0, 1.0 , 1.0); // background color
while ( !quit ) { // the main loop
while ( XPending ( x_display ) ) { // check for events from the x-server
XEvent xev;
XNextEvent( x_display, &xev );
if ( xev.type == MotionNotify ) { // if mouse has moved
// cout << "move to: << xev.xmotion.x << "," << xev.xmotion.y << endl;
GLfloat window_y = (window_height - xev.xmotion.y) - window_height / 2.0;
norm_y = window_y / (window_height / 2.0);
GLfloat window_x = xev.xmotion.x - window_width / 2.0;
norm_x = window_x / (window_width / 2.0);
update_pos = true;
}
if ( xev.type == KeyPress ) ;
}
//render(); // now we finally put something on the screen
alphaTorusDisplay( true );
eglSwapBuffers ( egl_display, egl_surface ); // get the rendered buffer to the screen
if ( ++num_frames % 100 == 0 ) {
gettimeofday( &t2, &tz );
float dt = t2.tv_sec - t1.tv_sec + (t2.tv_usec - t1.tv_usec) * 1e-6;
cout << "fps: " << num_frames / dt << endl;
num_frames = 0;
t1 = t2;
}
frame_count++;
if( frame_count > 10000 ) {
break;
}
// usleep( 1000*10 );
}
//// cleaning up...
eglDestroyContext ( egl_display, egl_context );
eglDestroySurface ( egl_display, egl_surface );
eglTerminate ( egl_display );
XDestroyWindow ( x_display, win );
XCloseDisplay ( x_display );
return 0;
}

View file

@ -0,0 +1,187 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Created by Cass Everitt on 2/1/12.
*/
#include <GL/Regal.h>
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/RegalGLUT.h>
#endif
#include <GL/RegalGLU.h>
#include "render.h"
#include <cstdio>
#include <cstdlib>
static void myDisplay()
{
alphaTorusDisplay(true);
glutSwapBuffers();
}
static void myTick(int dummy)
{
glutPostRedisplay();
glutTimerFunc( 16, myTick, 0 );
}
static void myToggle(GLenum e, const char *message)
{
if (glIsEnabled(e))
glDisable(e);
else
glEnable(e);
if (message)
printf("%s %s.\n",message, glIsEnabled(e) ? "enabled" : "disabled");
}
static void myKeyboard(unsigned char c, int x, int y)
{
switch (c)
{
case 'q':
case 27: /* Esc key */
exit(0);
break;
// GL_REGAL_enable
// https://github.com/p3/regal/blob/master/doc/extensions/GL_REGAL_enable.txt
case 'e':
case 'E':
myToggle(GL_ERROR_REGAL,"Regal error checking is");
break;
case 'd':
case 'D':
myToggle(GL_DEBUG_REGAL,"Regal debug checking is");
break;
case 'l':
case 'L':
myToggle(GL_LOG_REGAL,"Regal driver logging is");
break;
case 'm':
case 'M':
myToggle(GL_EMULATION_REGAL,"Regal emulation is");
break;
case 'r':
case 'R':
myToggle(GL_DRIVER_REGAL,"Regal driver is");
break;
}
}
static void myOutput(GLenum stream, GLsizei length, const GLchar *message, GLvoid *context)
{
static int line = 0;
fprintf(stdout,"%6d | %s",++line,message);
fflush(stdout);
}
static void myError(GLenum error)
{
printf("alphatorus error: %s\n",glErrorStringREGAL(error));
}
int main(int argc, const char *argv[])
{
#ifndef EMSCRIPTEN
glutInitDisplayString("rgba>=8 depth double");
glutInitWindowSize(500, 500);
#endif
glutInit( &argc, (char **) argv);
glutCreateWindow("alphatorus");
glLogMessageCallbackREGAL(myOutput);
// Regal workaround for OSX GLUT
#ifdef __APPLE__
RegalMakeCurrent(CGLGetCurrentContext());
#endif
// Regal workaround for Emscripten GLUT emulation
#ifdef EMSCRIPTEN
RegalMakeCurrent((RegalSystemContext)1);
#endif
RegalSetErrorCallback(myError);
// Exercise REGAL_extension_query extension
if (glIsSupportedREGAL("GL_REGAL_extension_query"))
{
printf("GL_REGAL_extension_query is supported.\n");
if (glIsSupportedREGAL("GL_EXT_debug_marker"))
printf("GL_EXT_debug_marker is supported.\n");
else
printf("GL_EXT_debug_marker is not supported.\n");
if (glIsSupportedREGAL("GL_EXT_framebuffer_object"))
printf("GL_EXT_framebuffer_object is supported.\n");
else
printf("GL_EXT_framebuffer_object is not supported.\n");
if (glIsSupportedREGAL("GL_EXT_direct_state_access"))
printf("GL_EXT_direct_state_access is supported.\n");
else
printf("GL_EXT_direct_state_access is not supported.\n");
if (glIsSupportedREGAL("GL_NV_path_rendering"))
printf("GL_NV_path_rendering is supported.\n");
else
printf("GL_NV_path_rendering is not supported.\n");
}
printf("\n");
printf("E - Toggle GL error checking.\n");
printf("D - Toggle debug checking.\n");
printf("L - Toggle driver logging.\n");
printf("M - Toggle emulation.\n");
printf("R - Toggle driver calls.\n");
printf("\n");
glutTimerFunc(16, myTick, 0);
glutDisplayFunc(myDisplay);
glutReshapeFunc(alphaTorusReshape);
glutKeyboardFunc(myKeyboard);
glutMainLoop();
return 0;
}

View file

@ -0,0 +1,260 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
433CA18314D9E709007E13F5 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA18214D9E709007E13F5 /* main.cpp */; };
433CA18514D9F6AF007E13F5 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 433CA18414D9F6AF007E13F5 /* GLUT.framework */; };
433CA18914D9FAF9007E13F5 /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA18814D9FAF9007E13F5 /* render.cpp */; };
433CA19514DA0DF3007E13F5 /* RegalFixedFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19114DA0DF3007E13F5 /* RegalFixedFunction.cpp */; };
433CA19C14DA0F7A007E13F5 /* Regal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19614DA0F7A007E13F5 /* Regal.cpp */; };
433CA19D14DA0F7A007E13F5 /* RegalEmuDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19814DA0F7A007E13F5 /* RegalEmuDispatch.cpp */; };
433CA19E14DA0F7A007E13F5 /* RegalErrorDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19914DA0F7A007E13F5 /* RegalErrorDispatch.cpp */; };
433CA19F14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 433CA19A14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
433CA17014D9E566007E13F5 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
433CA17214D9E566007E13F5 /* minimal_glut */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = minimal_glut; sourceTree = BUILT_PRODUCTS_DIR; };
433CA18214D9E709007E13F5 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = code/main.cpp; sourceTree = "<group>"; };
433CA18414D9F6AF007E13F5 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = System/Library/Frameworks/GLUT.framework; sourceTree = SDKROOT; };
433CA18814D9FAF9007E13F5 /* render.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = render.cpp; path = code/render.cpp; sourceTree = "<group>"; };
433CA18E14DA0DF3007E13F5 /* linear.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = linear.h; path = ../../src/linear.h; sourceTree = "<group>"; };
433CA18F14DA0DF3007E13F5 /* RegalDsa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalDsa.h; path = ../../src/RegalDsa.h; sourceTree = "<group>"; };
433CA19014DA0DF3007E13F5 /* RegalEmu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalEmu.h; path = ../../src/RegalEmu.h; sourceTree = "<group>"; };
433CA19114DA0DF3007E13F5 /* RegalFixedFunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalFixedFunction.cpp; path = ../../src/RegalFixedFunction.cpp; sourceTree = "<group>"; };
433CA19214DA0DF3007E13F5 /* RegalFixedFunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalFixedFunction.h; path = ../../src/RegalFixedFunction.h; sourceTree = "<group>"; };
433CA19314DA0DF3007E13F5 /* RegalImmediate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalImmediate.h; path = ../../src/RegalImmediate.h; sourceTree = "<group>"; };
433CA19414DA0DF3007E13F5 /* RegalVao.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalVao.h; path = ../../src/RegalVao.h; sourceTree = "<group>"; };
433CA19614DA0F7A007E13F5 /* Regal.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Regal.cpp; path = ../../gen/Regal.cpp; sourceTree = "<group>"; };
433CA19714DA0F7A007E13F5 /* Regal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Regal.h; path = ../../gen/Regal.h; sourceTree = "<group>"; };
433CA19814DA0F7A007E13F5 /* RegalEmuDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalEmuDispatch.cpp; path = ../../gen/RegalEmuDispatch.cpp; sourceTree = "<group>"; };
433CA19914DA0F7A007E13F5 /* RegalErrorDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalErrorDispatch.cpp; path = ../../gen/RegalErrorDispatch.cpp; sourceTree = "<group>"; };
433CA19A14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegalLoaderDispatch.cpp; path = ../../gen/RegalLoaderDispatch.cpp; sourceTree = "<group>"; };
433CA19B14DA0F7A007E13F5 /* RegalPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = RegalPrivate.h; path = ../../gen/RegalPrivate.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
433CA16F14D9E566007E13F5 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
433CA18514D9F6AF007E13F5 /* GLUT.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
433CA16714D9E566007E13F5 = {
isa = PBXGroup;
children = (
435A392514D9E6B3006D7F44 /* code */,
433CA18414D9F6AF007E13F5 /* GLUT.framework */,
433CA17314D9E566007E13F5 /* Products */,
);
sourceTree = "<group>";
};
433CA17314D9E566007E13F5 /* Products */ = {
isa = PBXGroup;
children = (
433CA17214D9E566007E13F5 /* minimal_glut */,
);
name = Products;
sourceTree = "<group>";
};
433CA18D14DA0DB8007E13F5 /* Regal */ = {
isa = PBXGroup;
children = (
433CA19614DA0F7A007E13F5 /* Regal.cpp */,
433CA19714DA0F7A007E13F5 /* Regal.h */,
433CA19814DA0F7A007E13F5 /* RegalEmuDispatch.cpp */,
433CA19914DA0F7A007E13F5 /* RegalErrorDispatch.cpp */,
433CA19A14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp */,
433CA19B14DA0F7A007E13F5 /* RegalPrivate.h */,
433CA18E14DA0DF3007E13F5 /* linear.h */,
433CA18F14DA0DF3007E13F5 /* RegalDsa.h */,
433CA19014DA0DF3007E13F5 /* RegalEmu.h */,
433CA19114DA0DF3007E13F5 /* RegalFixedFunction.cpp */,
433CA19214DA0DF3007E13F5 /* RegalFixedFunction.h */,
433CA19314DA0DF3007E13F5 /* RegalImmediate.h */,
433CA19414DA0DF3007E13F5 /* RegalVao.h */,
);
name = Regal;
sourceTree = "<group>";
};
435A392514D9E6B3006D7F44 /* code */ = {
isa = PBXGroup;
children = (
433CA18D14DA0DB8007E13F5 /* Regal */,
433CA18214D9E709007E13F5 /* main.cpp */,
433CA18814D9FAF9007E13F5 /* render.cpp */,
);
name = code;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
433CA17114D9E566007E13F5 /* minimal_glut */ = {
isa = PBXNativeTarget;
buildConfigurationList = 433CA17C14D9E566007E13F5 /* Build configuration list for PBXNativeTarget "minimal_glut" */;
buildPhases = (
433CA16E14D9E566007E13F5 /* Sources */,
433CA16F14D9E566007E13F5 /* Frameworks */,
433CA17014D9E566007E13F5 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = minimal_glut;
productName = minimal_glut;
productReference = 433CA17214D9E566007E13F5 /* minimal_glut */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
433CA16914D9E566007E13F5 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0420;
ORGANIZATIONNAME = n/a;
};
buildConfigurationList = 433CA16C14D9E566007E13F5 /* Build configuration list for PBXProject "minimal_glut" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = 433CA16714D9E566007E13F5;
productRefGroup = 433CA17314D9E566007E13F5 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
433CA17114D9E566007E13F5 /* minimal_glut */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
433CA16E14D9E566007E13F5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
433CA18314D9E709007E13F5 /* main.cpp in Sources */,
433CA18914D9FAF9007E13F5 /* render.cpp in Sources */,
433CA19514DA0DF3007E13F5 /* RegalFixedFunction.cpp in Sources */,
433CA19C14DA0F7A007E13F5 /* Regal.cpp in Sources */,
433CA19D14DA0F7A007E13F5 /* RegalEmuDispatch.cpp in Sources */,
433CA19E14DA0F7A007E13F5 /* RegalErrorDispatch.cpp in Sources */,
433CA19F14DA0F7A007E13F5 /* RegalLoaderDispatch.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
433CA17A14D9E566007E13F5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.7;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
433CA17B14D9E566007E13F5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = "$(ARCHS_STANDARD_64_BIT)";
CLANG_ENABLE_OBJC_ARC = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.7;
SDKROOT = macosx;
};
name = Release;
};
433CA17D14D9E566007E13F5 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
433CA17E14D9E566007E13F5 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
433CA16C14D9E566007E13F5 /* Build configuration list for PBXProject "minimal_glut" */ = {
isa = XCConfigurationList;
buildConfigurations = (
433CA17A14D9E566007E13F5 /* Debug */,
433CA17B14D9E566007E13F5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
433CA17C14D9E566007E13F5 /* Build configuration list for PBXNativeTarget "minimal_glut" */ = {
isa = XCConfigurationList;
buildConfigurations = (
433CA17D14D9E566007E13F5 /* Debug */,
433CA17E14D9E566007E13F5 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 433CA16914D9E566007E13F5 /* Project object */;
}

View file

@ -0,0 +1,36 @@
all: alphatorus
clean:
rm -f alphatorus
rm -rf obj
REGAL_DIR := ../../../../regal
REGAL_SRC := $(wildcard $(REGAL_DIR)/gen/*.cpp $(REGAL_DIR)/src/*.cpp)
REGAL_INC := $(REGAL_DIR)/gen $(REGAL_DIR)/src
SHARED_DIR := ../src
SHARED_SRC := $(wildcard $(SHARED_DIR)/*.cpp)
SHARED_INC := $(SHARED_DIR)
LOCAL_SRC := $(wildcard *.cpp)
MY_SRC := $(REGAL_SRC) $(LOCAL_SRC) $(SHARED_SRC)
MY_SRC_DIRS := $(sort $(dir $(MY_SRC)))
MY_OBJ := $(MY_SRC)
MY_OBJ := $(patsubst %.cpp, obj$(CURDIR)/%.o, $(MY_OBJ))
MY_OBJ := $(patsubst %.c, obj$(CURDIR)/%.o, $(MY_OBJ))
MY_OBJ_DIRS := $(sort $(dir $(MY_OBJ)))
MY_INC := $(REGAL_INC) $(SHARED_INC)
MY_CMD_INC := $(patsubst %, -I %, $(MY_INC))
obj$(CURDIR)/%.o: %.cpp
@mkdir -p $(dir $@)
g++ -g -c -o $@ $(MY_CMD_INC) $<
@echo $@ ---- $<
alphatorus: $(MY_OBJ)
g++ -g -o $@ $(MY_OBJ) -lX11 -lpthread

View file

@ -0,0 +1,131 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
*/
#include <GL/Regal.h>
#include "render.h"
#include <unistd.h>
#include <cstdlib>
#include <cstring>
#include <cstdio>
int main (int argc, char ** argv)
{
Display *dpy = XOpenDisplay(0);
PFNGLXCREATECONTEXTATTRIBSARBPROC glXCreateContextAttribsARB = NULL;
const char *extensions = glXQueryExtensionsString(dpy, DefaultScreen(dpy));
printf("%s\n",extensions);
static int visual_attribs[] =
{
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
GLX_DOUBLEBUFFER, true,
GLX_RED_SIZE, 1,
GLX_GREEN_SIZE, 1,
GLX_BLUE_SIZE, 1,
None
};
printf("Getting framebuffer config.\n");
int fbcount;
GLXFBConfig *fbc = glXChooseFBConfig(dpy, DefaultScreen(dpy), visual_attribs, &fbcount);
if (!fbc)
{
printf("Failed to retrieve a framebuffer config.\n");
return 1;
}
printf("Getting XVisualInfo\n");
XVisualInfo *vi = glXGetVisualFromFBConfig(dpy, fbc[0]);
XSetWindowAttributes swa;
printf("Creating colormap\n");
swa.colormap = XCreateColormap(dpy, RootWindow(dpy, vi->screen), vi->visual, AllocNone);
swa.border_pixel = 0;
swa.event_mask = StructureNotifyMask;
printf("Creating window\n");
int width = 500;
int height = 500;
Window win = XCreateWindow(dpy, RootWindow(dpy, vi->screen), 0, 0, width, height, 0, vi->depth, InputOutput, vi->visual, CWBorderPixel|CWColormap|CWEventMask, &swa);
if (!win)
{
printf("Failed to create window\n");
return 1;
}
printf("Mapping window\n");
XMapWindow(dpy, win);
// Create an oldstyle context first, to get the correct function pointer for glXCreateContextAttribsARB
GLXContext ctx_old = glXCreateContext(dpy, vi, 0, GL_TRUE);
glXCreateContextAttribsARB = (PFNGLXCREATECONTEXTATTRIBSARBPROC) glXGetProcAddress((const GLubyte*)"glXCreateContextAttribsARB");
printf("glxCreateContextAttribsARB %p\n",glXCreateContextAttribsARB);
glXMakeCurrent(dpy, 0, 0);
glXDestroyContext(dpy, ctx_old);
if (glXCreateContextAttribsARB == NULL)
{
printf("glXCreateContextAttribsARB entry point not found. Aborting.\n");
return false;
}
static int context_attribs[] =
{
GLX_CONTEXT_MAJOR_VERSION_ARB, 3,
GLX_CONTEXT_MINOR_VERSION_ARB, 0,
None
};
printf("Creating context\n");
GLXContext ctx = glXCreateContextAttribsARB(dpy, fbc[0], NULL, true, context_attribs);
if (!ctx)
{
printf("Failed to create GL3 context.\n");
return 1;
}
printf("Making context current.\n");
glXMakeCurrent(dpy, win, ctx);
alphaTorusReshape( width, height );
for(int i = 0; i < 1000000; i++ ) {
alphaTorusDisplay( true );
glXSwapBuffers( dpy, win );
usleep( 16000 );
}
ctx = glXGetCurrentContext();
glXMakeCurrent(dpy, 0, 0);
glXDestroyContext(dpy, ctx);
}

View file

@ -0,0 +1,2 @@
/* Localized versions of Info.plist keys */

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,39 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Based on code by Christopher J. W. Lloyd.
*/
#import <Cocoa/Cocoa.h>
@interface RGLOpenGLContext : NSOpenGLContext {
}
-(void)makeCurrentContext;
@end

View file

@ -0,0 +1,43 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Based on code by Christopher J. W. Lloyd.
*/
#import "RGLOpenGLContext.h"
void RegalMakeCurrent( CGLContextObj ctxobj );
@implementation RGLOpenGLContext
-(void)makeCurrentContext {
[super makeCurrentContext];
RegalMakeCurrent( CGLGetCurrentContext() );
}
@end

View file

@ -0,0 +1,38 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Created by Cass Everitt on 3/15/11.
*/
#import <Cocoa/Cocoa.h>
@interface GlesView : NSOpenGLView {
}
- (void)render;
@end

View file

@ -0,0 +1,109 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Created by Cass Everitt on 3/15/11.
*/
#import "RegalView.h"
#import "RGLOpenGLContext.h"
#include "render.h"
#include <stdio.h>
@implementation GlesView
bool resized = false;
NSTimer *timer = nil;
- (id)initWithCoder:(NSCoder *)aDecoder {
[super initWithCoder: aDecoder];
NSOpenGLPixelFormatAttribute attr[] = {
#if 1
NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersionLegacy,
#else
NSOpenGLPFAOpenGLProfile, NSOpenGLProfileVersion3_2Core,
#endif
NSOpenGLPFADoubleBuffer,
NSOpenGLPFAAccelerated,
NSOpenGLPFAAlphaSize, 8,
NSOpenGLPFAColorSize, 32,
NSOpenGLPFADepthSize, 24,
NSOpenGLPFAStencilSize, 0,
0
};
NSOpenGLPixelFormat *fmt = [[NSOpenGLPixelFormat alloc] initWithAttributes:attr];
[self setPixelFormat: fmt];
RGLOpenGLContext *rglCtx = [[RGLOpenGLContext alloc] initWithFormat:fmt shareContext:nil];
[self setOpenGLContext: rglCtx];
[rglCtx setView:self];
timer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector (render) userInfo:nil repeats:YES];
resized = false;
return self;
}
- (void)drawRect:(NSRect)dirtyRect {
if( resized == false ) {
[self windowResized:NULL];
resized = true;
}
alphaTorusDisplay( true );
CGLFlushDrawable( CGLGetCurrentContext() );
//[[self openGLContext] flushBuffer];
}
- (void) render {
[self setNeedsDisplay:YES];
}
- (void)viewDidMoveToWindow
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(windowResized:) name:NSWindowDidResizeNotification
object:[self window]];
}
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
- (void)windowResized:(NSNotification *)notification;
{
NSRect rect = [[[self window] contentView] frame];
NSRect crect = NSRectFromCGRect( CGRectMake( 0, 0, rect.size.width, rect.size.height ) );
[self setFrame: crect];
[self lockFocus];
alphaTorusReshape( rect.size.width, rect.size.height );
resized = true;
[self unlockFocus];
}
@end

View file

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIconFile</key>
<string>nv.icns</string>
<key>CFBundleIdentifier</key>
<string>com.nvidia.${PRODUCT_NAME:rfc1034identifier}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View file

@ -0,0 +1,574 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; };
256AC3DA0F4B6AC300CF3369 /* alphatorusAppDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* alphatorusAppDelegate.mm */; };
43085426148B0F3400AE231A /* RGLOpenGLContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 43085425148B0F3400AE231A /* RGLOpenGLContext.m */; };
431D3C0815C9B648009DD04F /* libRegal.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 431D3C0715C9B636009DD04F /* libRegal.a */; };
4344FC911332A8BA006F07E8 /* nv.icns in Resources */ = {isa = PBXBuildFile; fileRef = 4344FC901332A8BA006F07E8 /* nv.icns */; };
43787F5014E8512400636639 /* render.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43787F4E14E8512400636639 /* render.cpp */; };
43E244C6133066AF0040E20D /* RegalView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 43E244C5133066AF0040E20D /* RegalView.mm */; };
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
8D11072D0486CEB800E47090 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.mm */; settings = {ATTRIBUTES = (); }; };
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
BC3A59B31804680000992687 /* libapitrace.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8ABB1804648500C68C71 /* libapitrace.a */; };
BC3A59BA1804680400992687 /* libjsonsl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8AC2180464A200C68C71 /* libjsonsl.a */; };
BC3A59BB1804680800992687 /* libmd5.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8AC8180464B200C68C71 /* libmd5.a */; };
BC3A59BC1804680B00992687 /* libmongoose.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8ACE180464C500C68C71 /* libmongoose.a */; };
BC3A59BD1804680E00992687 /* libsnappy.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8AD4180464D700C68C71 /* libsnappy.a */; };
BC3A59BE1804681100992687 /* libsquish.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BC9F8ADA180464F400C68C71 /* libsquish.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
431D3C0615C9B636009DD04F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 43A6C1C615C48CD90063667E;
remoteInfo = Regal;
};
439EB69A183D2AF800842DA0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4359158318367621002CB92C;
remoteInfo = RegalDynamic;
};
439EB69C183D2AF800842DA0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 435916DA18367DEE002CB92C;
remoteInfo = RegalWrangler;
};
439EB69E183D2AF800842DA0 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4359176F18367E05002CB92C;
remoteInfo = RegalWranglerDynamic;
};
BC9F8ABA1804648500C68C71 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BC9F8AB61804648400C68C71 /* apitrace.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 433667A917C56F3500D45AD9;
remoteInfo = apitrace;
};
BC9F8AC1180464A200C68C71 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BC9F8ABD180464A200C68C71 /* jsonsl.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4336679417C56EF900D45AD9;
remoteInfo = jsonsl;
};
BC9F8AC7180464B200C68C71 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BC9F8AC3180464B100C68C71 /* md5.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4336678117C56DFD00D45AD9;
remoteInfo = md5;
};
BC9F8ACD180464C500C68C71 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BC9F8AC9180464C500C68C71 /* mongoose.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4336676E17C56DC700D45AD9;
remoteInfo = mongoose;
};
BC9F8AD3180464D700C68C71 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BC9F8ACF180464D700C68C71 /* snappy.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4336665817C56AA300D45AD9;
remoteInfo = snappy;
};
BC9F8AD9180464F400C68C71 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BC9F8AD5180464F400C68C71 /* squish.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 4336667917C56B5200D45AD9;
remoteInfo = squish;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = "<absolute>"; };
1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = "<group>"; };
256AC3D80F4B6AC300CF3369 /* alphatorusAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = alphatorusAppDelegate.h; sourceTree = "<group>"; };
256AC3D90F4B6AC300CF3369 /* alphatorusAppDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = alphatorusAppDelegate.mm; sourceTree = "<group>"; };
256AC3F00F4B6AF500CF3369 /* alphatorus_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = alphatorus_Prefix.pch; sourceTree = "<group>"; };
29B97316FDCFA39411CA2CEA /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
43085424148B0F3400AE231A /* RGLOpenGLContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RGLOpenGLContext.h; sourceTree = "<group>"; };
43085425148B0F3400AE231A /* RGLOpenGLContext.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RGLOpenGLContext.m; sourceTree = "<group>"; };
431D3BFF15C9B635009DD04F /* Regal.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Regal.xcodeproj; path = ../../../build/mac/Regal/Regal.xcodeproj; sourceTree = "<group>"; };
4344FC901332A8BA006F07E8 /* nv.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = nv.icns; sourceTree = "<group>"; };
43787F4E14E8512400636639 /* render.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = render.cpp; path = ../src/render.cpp; sourceTree = "<group>"; };
43787F4F14E8512400636639 /* render.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = render.h; path = ../src/render.h; sourceTree = "<group>"; };
43E244C4133066AF0040E20D /* RegalView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegalView.h; sourceTree = "<group>"; };
43E244C5133066AF0040E20D /* RegalView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = RegalView.mm; sourceTree = "<group>"; };
8D1107310486CEB800E47090 /* alphatorus-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "alphatorus-Info.plist"; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* alphatorus.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = alphatorus.app; sourceTree = BUILT_PRODUCTS_DIR; };
BC9F8AB61804648400C68C71 /* apitrace.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = apitrace.xcodeproj; path = ../../../build/mac/apitrace/apitrace.xcodeproj; sourceTree = "<group>"; };
BC9F8ABD180464A200C68C71 /* jsonsl.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = jsonsl.xcodeproj; path = ../../../build/mac/jsonsl/jsonsl.xcodeproj; sourceTree = "<group>"; };
BC9F8AC3180464B100C68C71 /* md5.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = md5.xcodeproj; path = ../../../build/mac/md5/md5.xcodeproj; sourceTree = "<group>"; };
BC9F8AC9180464C500C68C71 /* mongoose.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = mongoose.xcodeproj; path = ../../../build/mac/mongoose/mongoose.xcodeproj; sourceTree = "<group>"; };
BC9F8ACF180464D700C68C71 /* snappy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = snappy.xcodeproj; path = ../../../build/mac/snappy/snappy.xcodeproj; sourceTree = "<group>"; };
BC9F8AD5180464F400C68C71 /* squish.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = squish.xcodeproj; path = ../../../build/mac/squish/squish.xcodeproj; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
8D11072E0486CEB800E47090 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
BC3A59BE1804681100992687 /* libsquish.a in Frameworks */,
BC3A59BD1804680E00992687 /* libsnappy.a in Frameworks */,
BC3A59BC1804680B00992687 /* libmongoose.a in Frameworks */,
BC3A59BB1804680800992687 /* libmd5.a in Frameworks */,
BC3A59BA1804680400992687 /* libjsonsl.a in Frameworks */,
BC3A59B31804680000992687 /* libapitrace.a in Frameworks */,
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
431D3C0815C9B648009DD04F /* libRegal.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
};
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
isa = PBXGroup;
children = (
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
13E42FB307B3F0F600E4EEF1 /* CoreData.framework */,
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
);
name = "Other Frameworks";
sourceTree = "<group>";
};
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
8D1107320486CEB800E47090 /* alphatorus.app */,
);
name = Products;
sourceTree = "<group>";
};
29B97314FDCFA39411CA2CEA /* alphatorus */ = {
isa = PBXGroup;
children = (
431D3BFF15C9B635009DD04F /* Regal.xcodeproj */,
BC9F8AD5180464F400C68C71 /* squish.xcodeproj */,
BC9F8ACF180464D700C68C71 /* snappy.xcodeproj */,
BC9F8AC9180464C500C68C71 /* mongoose.xcodeproj */,
BC9F8AC3180464B100C68C71 /* md5.xcodeproj */,
BC9F8ABD180464A200C68C71 /* jsonsl.xcodeproj */,
BC9F8AB61804648400C68C71 /* apitrace.xcodeproj */,
29B97315FDCFA39411CA2CEA /* code */,
29B97317FDCFA39411CA2CEA /* Resources */,
29B97323FDCFA39411CA2CEA /* Frameworks */,
19C28FACFE9D520D11CA2CBB /* Products */,
);
name = alphatorus;
sourceTree = "<group>";
};
29B97315FDCFA39411CA2CEA /* code */ = {
isa = PBXGroup;
children = (
43787F4E14E8512400636639 /* render.cpp */,
43787F4F14E8512400636639 /* render.h */,
43085424148B0F3400AE231A /* RGLOpenGLContext.h */,
43085425148B0F3400AE231A /* RGLOpenGLContext.m */,
256AC3D80F4B6AC300CF3369 /* alphatorusAppDelegate.h */,
256AC3D90F4B6AC300CF3369 /* alphatorusAppDelegate.mm */,
43E244C4133066AF0040E20D /* RegalView.h */,
43E244C5133066AF0040E20D /* RegalView.mm */,
256AC3F00F4B6AF500CF3369 /* alphatorus_Prefix.pch */,
29B97316FDCFA39411CA2CEA /* main.mm */,
);
name = code;
sourceTree = "<group>";
};
29B97317FDCFA39411CA2CEA /* Resources */ = {
isa = PBXGroup;
children = (
4344FC901332A8BA006F07E8 /* nv.icns */,
8D1107310486CEB800E47090 /* alphatorus-Info.plist */,
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
1DDD58140DA1D0A300B32029 /* MainMenu.xib */,
);
name = Resources;
sourceTree = "<group>";
};
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
);
name = Frameworks;
sourceTree = "<group>";
};
431D3C0015C9B635009DD04F /* Products */ = {
isa = PBXGroup;
children = (
431D3C0715C9B636009DD04F /* libRegal.a */,
439EB69B183D2AF800842DA0 /* libRegal.dylib */,
439EB69D183D2AF800842DA0 /* libRegalW.a */,
439EB69F183D2AF800842DA0 /* libRegalW.dylib */,
);
name = Products;
sourceTree = "<group>";
};
BC9F8AB71804648400C68C71 /* Products */ = {
isa = PBXGroup;
children = (
BC9F8ABB1804648500C68C71 /* libapitrace.a */,
);
name = Products;
sourceTree = "<group>";
};
BC9F8ABE180464A200C68C71 /* Products */ = {
isa = PBXGroup;
children = (
BC9F8AC2180464A200C68C71 /* libjsonsl.a */,
);
name = Products;
sourceTree = "<group>";
};
BC9F8AC4180464B100C68C71 /* Products */ = {
isa = PBXGroup;
children = (
BC9F8AC8180464B200C68C71 /* libmd5.a */,
);
name = Products;
sourceTree = "<group>";
};
BC9F8ACA180464C500C68C71 /* Products */ = {
isa = PBXGroup;
children = (
BC9F8ACE180464C500C68C71 /* libmongoose.a */,
);
name = Products;
sourceTree = "<group>";
};
BC9F8AD0180464D700C68C71 /* Products */ = {
isa = PBXGroup;
children = (
BC9F8AD4180464D700C68C71 /* libsnappy.a */,
);
name = Products;
sourceTree = "<group>";
};
BC9F8AD6180464F400C68C71 /* Products */ = {
isa = PBXGroup;
children = (
BC9F8ADA180464F400C68C71 /* libsquish.a */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
8D1107260486CEB800E47090 /* alphatorus */ = {
isa = PBXNativeTarget;
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "alphatorus" */;
buildPhases = (
8D1107290486CEB800E47090 /* Resources */,
8D11072C0486CEB800E47090 /* Sources */,
8D11072E0486CEB800E47090 /* Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = alphatorus;
productInstallPath = "$(HOME)/Applications";
productName = alphatorus;
productReference = 8D1107320486CEB800E47090 /* alphatorus.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0440;
};
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "alphatorus" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
English,
Japanese,
French,
German,
);
mainGroup = 29B97314FDCFA39411CA2CEA /* alphatorus */;
projectDirPath = "";
projectReferences = (
{
ProductGroup = BC9F8AB71804648400C68C71 /* Products */;
ProjectRef = BC9F8AB61804648400C68C71 /* apitrace.xcodeproj */;
},
{
ProductGroup = BC9F8ABE180464A200C68C71 /* Products */;
ProjectRef = BC9F8ABD180464A200C68C71 /* jsonsl.xcodeproj */;
},
{
ProductGroup = BC9F8AC4180464B100C68C71 /* Products */;
ProjectRef = BC9F8AC3180464B100C68C71 /* md5.xcodeproj */;
},
{
ProductGroup = BC9F8ACA180464C500C68C71 /* Products */;
ProjectRef = BC9F8AC9180464C500C68C71 /* mongoose.xcodeproj */;
},
{
ProductGroup = 431D3C0015C9B635009DD04F /* Products */;
ProjectRef = 431D3BFF15C9B635009DD04F /* Regal.xcodeproj */;
},
{
ProductGroup = BC9F8AD0180464D700C68C71 /* Products */;
ProjectRef = BC9F8ACF180464D700C68C71 /* snappy.xcodeproj */;
},
{
ProductGroup = BC9F8AD6180464F400C68C71 /* Products */;
ProjectRef = BC9F8AD5180464F400C68C71 /* squish.xcodeproj */;
},
);
projectRoot = "";
targets = (
8D1107260486CEB800E47090 /* alphatorus */,
);
};
/* End PBXProject section */
/* Begin PBXReferenceProxy section */
431D3C0715C9B636009DD04F /* libRegal.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRegal.a;
remoteRef = 431D3C0615C9B636009DD04F /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
439EB69B183D2AF800842DA0 /* libRegal.dylib */ = {
isa = PBXReferenceProxy;
fileType = "compiled.mach-o.dylib";
path = libRegal.dylib;
remoteRef = 439EB69A183D2AF800842DA0 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
439EB69D183D2AF800842DA0 /* libRegalW.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libRegalW.a;
remoteRef = 439EB69C183D2AF800842DA0 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
439EB69F183D2AF800842DA0 /* libRegalW.dylib */ = {
isa = PBXReferenceProxy;
fileType = "compiled.mach-o.dylib";
path = libRegalW.dylib;
remoteRef = 439EB69E183D2AF800842DA0 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BC9F8ABB1804648500C68C71 /* libapitrace.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libapitrace.a;
remoteRef = BC9F8ABA1804648500C68C71 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BC9F8AC2180464A200C68C71 /* libjsonsl.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libjsonsl.a;
remoteRef = BC9F8AC1180464A200C68C71 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BC9F8AC8180464B200C68C71 /* libmd5.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libmd5.a;
remoteRef = BC9F8AC7180464B200C68C71 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BC9F8ACE180464C500C68C71 /* libmongoose.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libmongoose.a;
remoteRef = BC9F8ACD180464C500C68C71 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BC9F8AD4180464D700C68C71 /* libsnappy.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libsnappy.a;
remoteRef = BC9F8AD3180464D700C68C71 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
BC9F8ADA180464F400C68C71 /* libsquish.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
path = libsquish.a;
remoteRef = BC9F8AD9180464F400C68C71 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
/* End PBXReferenceProxy section */
/* Begin PBXResourcesBuildPhase section */
8D1107290486CEB800E47090 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */,
4344FC911332A8BA006F07E8 /* nv.icns in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
8D11072C0486CEB800E47090 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8D11072D0486CEB800E47090 /* main.mm in Sources */,
256AC3DA0F4B6AC300CF3369 /* alphatorusAppDelegate.mm in Sources */,
43E244C6133066AF0040E20D /* RegalView.mm in Sources */,
43085426148B0F3400AE231A /* RGLOpenGLContext.m in Sources */,
43787F5014E8512400636639 /* render.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
089C165DFE840E0CC02AAC07 /* English */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
};
1DDD58140DA1D0A300B32029 /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
1DDD58150DA1D0A300B32029 /* English */,
);
name = MainMenu.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = alphatorus_Prefix.pch;
INFOPLIST_FILE = "alphatorus-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.6;
PRODUCT_NAME = alphatorus;
SDKROOT = macosx;
};
name = Debug;
};
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
COMBINE_HIDPI_IMAGES = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = alphatorus_Prefix.pch;
INFOPLIST_FILE = "alphatorus-Info.plist";
INSTALL_PATH = "$(HOME)/Applications";
MACOSX_DEPLOYMENT_TARGET = 10.6;
PRODUCT_NAME = alphatorus;
SDKROOT = macosx;
};
name = Release;
};
C01FCF4F08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ../../../include;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
C01FCF5008A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = ../../../include;
SDKROOT = macosx;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "alphatorus" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4B08A954540054247B /* Debug */,
C01FCF4C08A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "alphatorus" */ = {
isa = XCConfigurationList;
buildConfigurations = (
C01FCF4F08A954540054247B /* Debug */,
C01FCF5008A954540054247B /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
}

View file

@ -0,0 +1,40 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Created by Cass Everitt on 3/15/11.
*/
#import <Cocoa/Cocoa.h>
@interface glesAppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *window;
}
@property (assign) IBOutlet NSWindow *window;
@end

View file

@ -0,0 +1,42 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Created by Cass Everitt on 3/15/11.
*/
#import "alphatorusAppDelegate.h"
@implementation glesAppDelegate
@synthesize window;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
}
@end

View file

@ -0,0 +1,7 @@
//
// Prefix header for all source files of the 'gles' target in the 'gles' project
//
#ifdef __OBJC__
#import <Cocoa/Cocoa.h>
#endif

View file

@ -0,0 +1,37 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Created by Cass Everitt on 3/15/11.
*/
#import <Cocoa/Cocoa.h>
int main(int argc, char *argv[])
{
return NSApplicationMain(argc, (const char **) argv);
}

Binary file not shown.

View file

@ -0,0 +1,352 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Created by Cass Everitt on 3/16/11.
*/
#include <GL/Regal.h>
#include "render.h"
#include <cstdio>
#include <cmath>
#ifndef M_PI
#define M_PI 3.141572654
#endif
static GLenum texunit = GL_TEXTURE1;
GLuint prog;
struct Torus {
float circleRadius;
float tubeRadius;
Torus( float c, float t ) : circleRadius( c ), tubeRadius( t ) {}
void Vertex( float u, float v )
{
float theta = (float) (u * 2.0 * M_PI);
float rho = (float) (v * 2.0 * M_PI);
float x = (float) (cos( theta ) * ( circleRadius + cos( rho ) * tubeRadius ));
float y = (float) (sin( theta ) * ( circleRadius + cos( rho ) * tubeRadius ));
float z = (float) (sin( rho ) * tubeRadius);
float nx = (float) (cos( rho ) * cos(theta));
float ny = (float) (cos( rho ) * sin(theta));
float nz = (float) (sin( rho ));
glNormal3f( nx, ny, nz );
glMultiTexCoord2f( texunit, u, v );
glVertex3f( x, y, z );
}
};
static void drawAnObject()
{
glPushGroupMarkerEXT(0, "drawAnObject");
Torus t( 0.7f, 0.4f );
int I = 30;
int J = 30;
glColor3f( 0.8f, 0.8f, 0.8f );
for(int j = 0; j < J / 2 - 1; j++)
{
float v0 = (j+0.0f)/(J-1.0f);
float v1 = (j+1.0f)/(J-1.0f);
glBegin( GL_TRIANGLE_STRIP );
for(int i = 0; i < I; i++)
{
float u = i/(I-1.0f);
t.Vertex( u, v1 );
t.Vertex( u, v0 );
}
glEnd();
}
glPopGroupMarkerEXT();
}
static int width;
static int height;
void alphaTorusReshape( int w, int h ) {
width = w;
height = h;
float a = float(w)/float(h);
glPushGroupMarkerEXT(0, "reshape");
glViewport(0, 0, width, height);
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
if( a > 1 ) {
glFrustum( -0.1 * a, 0.1 * a, -0.1, 0.1, 0.1, 100.0 );
} else {
glFrustum( -0.1, 0.1, -0.1 / a, 0.1 / a, 0.1, 100.0 );
}
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
glTranslatef( 0, 0, -2 );
glPopGroupMarkerEXT();
}
static void regalerr( GLenum err ) {
const char * errstr = NULL;
switch( err ) {
case GL_INVALID_ENUM: errstr = "INVALID ENUM"; break;
case GL_INVALID_OPERATION: errstr = "INVALID OPERATION"; break;
case GL_INVALID_VALUE: errstr = "INVALID VALUE"; break;
default:
fprintf( stderr, "Got a GL error: %d!\n", err );
break;
}
if( errstr ) {
fprintf( stderr, "Got a GL error: %s\n", errstr );
}
;
}
static GLuint tex;
void alphaTorusInitProgram() {
GLuint vs = glCreateShader( GL_VERTEX_SHADER );
{
char vshader[] =
"varying vec4 ocol;\n"
"varying vec2 tc;\n"
"\n"
"void main() {\n"
" gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;\n"
" ocol = gl_Normal.xyzz;\n"
" tc = gl_MultiTexCoord1.xy;\n"
"}\n";
char *vshader_list[] = { vshader, NULL };
int vshader_list_sizes[] = { sizeof( vshader ), 0 };
glShaderSource( vs, 1, vshader_list, vshader_list_sizes );
glCompileShader( vs );
char dbgLog[1<<15];
int dbgLogLen = 0;
glGetShaderInfoLog( vs, (1<<15) - 2, &dbgLogLen, dbgLog );
dbgLog[ dbgLogLen ] = 0;
printf( "%s\n", dbgLog );
}
GLuint fs = glCreateShader( GL_FRAGMENT_SHADER );
{
char fshader[] =
"uniform sampler2D tex;\n"
"varying vec4 ocol;\n"
"varying vec2 tc;\n"
"\n"
"void main() {\n"
" gl_FragColor.xyz = texture2D(tex, tc).xyz;\n"
" gl_FragColor.w = tc.x;\n"
"}\n";
char *fshader_list[] = { fshader, NULL };
int fshader_list_sizes[] = { sizeof( fshader ), 0 };
glShaderSource( fs, 1, fshader_list, fshader_list_sizes );
glCompileShader( fs );
char dbgLog[1<<15];
int dbgLogLen = 0;
glGetShaderInfoLog( fs, (1<<15) - 2, &dbgLogLen, dbgLog );
dbgLog[ dbgLogLen ] = 0;
printf( "%s\n", dbgLog );
}
prog = glCreateProgram();
glAttachShader( prog, vs );
glAttachShader( prog, fs );
glLinkProgram( prog );
{
char dbgLog[1<<15];
int dbgLogLen = 0;
glGetProgramInfoLog( prog, (1<<15) - 2, &dbgLogLen, dbgLog );
dbgLog[ dbgLogLen ] = 0;
printf( "%s\n", dbgLog );
}
glProgramUniform1iEXT( prog, glGetUniformLocation( prog, "tex" ), 1 );
glUseProgram( 0 );
}
void alphaTorusInit()
{
glPushGroupMarkerEXT(0, "init");
glGenTextures( 1, &tex );
GLubyte pix[] = {
0x60, 0xff, 0x00, 0x7f, 0xff, 0x00, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0xcf,
0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x5f, 0xff, 0x80, 0x00, 0x0f,
0x80, 0x80, 0xff, 0x00, 0xff, 0x00, 0x00, 0xff, 0x80, 0x80, 0x80, 0xff, 0x00, 0x80, 0x80, 0xff,
0x00, 0xff, 0xff, 0xff, 0x00, 0x80, 0x00, 0xff, 0x80, 0x00, 0xff, 0xaf, 0x00, 0x00, 0x80, 0xff
};
glTextureImage2DEXT( tex, GL_TEXTURE_2D, 0, GL_RGBA, 4, 4, 0, GL_RGBA, GL_UNSIGNED_BYTE, pix );
glTextureParameteriEXT( tex, GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
glTextureParameteriEXT( tex, GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR );
glBindMultiTextureEXT( texunit, GL_TEXTURE_2D, tex );
GLfloat mat_specular[] = { 0.0f, 0.0f, 1.0f, 1.0f };
GLfloat mat_shininess[] = { 50.0f };
GLfloat light_position[] = { 1.0f, 1.0f, 0.2f, 1.0f };
GLfloat light_atten[] = { 1.0f, 1.0f, 1.0f };
GLfloat light_diffuse[] = { 10.0f, 10.0f, 10.0f, 10.0f };
GLfloat light_specular[] = { 10.0f, 10.0f, 10.0f, 10.0f };
GLfloat light_spotdir[] = { -0.1f, -0.1f, -1.0f };
GLfloat light_spotcut[] = { 30.0f };
GLfloat light_spotexp[] = { 3.0f };
glClearColor (0.0, 0.0, 0.0, 0.0);
//glShadeModel (GL_SMOOTH);
glMatrixPushEXT( GL_MODELVIEW );
glMatrixLoadIdentityEXT( GL_MODELVIEW );
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, mat_shininess);
//glMaterialfv(GL_BACK, GL_SHININESS, mat_shininess);
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glLightf( GL_LIGHT0, GL_LINEAR_ATTENUATION, light_atten[1] );
glLightf( GL_LIGHT0, GL_QUADRATIC_ATTENUATION, light_atten[2] );
glLightfv( GL_LIGHT0, GL_DIFFUSE, light_diffuse );
glLightfv( GL_LIGHT0, GL_SPECULAR, light_specular );
glLightfv( GL_LIGHT0, GL_SPOT_DIRECTION, light_spotdir );
glLightfv( GL_LIGHT0, GL_SPOT_CUTOFF, light_spotcut );
glLightfv( GL_LIGHT0, GL_SPOT_EXPONENT, light_spotexp );
//GLfloat light_ambient[] = { 0.0, -1.0, 0.0, 0.0 };
//glLightfv(GL_LIGHT0, GL_AMBIENT, light_ambient);
glMatrixPopEXT( GL_MODELVIEW );
glLightModeli( GL_LIGHT_MODEL_LOCAL_VIEWER, GL_TRUE );
glLightModelf( GL_LIGHT_MODEL_COLOR_CONTROL, GL_SEPARATE_SPECULAR_COLOR );
glEnable( GL_COLOR_MATERIAL ) ;
glColorMaterial( GL_BACK, GL_SPECULAR );
glLightModeli( GL_LIGHT_MODEL_TWO_SIDE, GL_TRUE );
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glFogi( GL_FOG_MODE, GL_LINEAR );
glFogf( GL_FOG_START, 2.0f );
glFogf( GL_FOG_END, 4.0f );
GLfloat fog_color[] = { 1.0, 1.0, 0.0, 0.0 };
glFogfv( GL_FOG_COLOR, fog_color );
glEnable( GL_CLIP_PLANE3 );
GLdouble clip[] = { 1, 1, -1, 0 };
glClipPlane( GL_CLIP_PLANE3, clip );
alphaTorusInitProgram();
glPopGroupMarkerEXT();
}
void alphaTorusDisplay( bool clear )
{
static float alphaRef = 0.0f;
static int count = 0;
if( count == 0 ) {
alphaTorusInit();
}
glPushGroupMarkerEXT(0, "display");
#if 1
if( count == 0 ) {
RegalSetErrorCallback( regalerr );
} else if( count == 11 ) {
RegalSetErrorCallback( NULL );
}
count++;
#endif
GLenum funcs[] = { GL_LESS, GL_LEQUAL, GL_GREATER, GL_GEQUAL, GL_NOTEQUAL, GL_EQUAL, GL_ALWAYS, GL_NEVER };
int idx = int(alphaRef) % ( sizeof( funcs ) / sizeof( funcs[0] ) );
float ref = alphaRef - floor(alphaRef);
glAlphaFunc( funcs[idx], ref );
alphaRef += 1.0f/128.0f;
if( count & 0xf ) {
glEnable( GL_ALPHA_TEST );
}
if( clear ) {
GLfloat cc[][4] = {
{ 1, 0, 0, 0 },
{ .5, 0, 0, 0 },
{ 0, 1, 0, 0 },
{ 0, .5, 0, 0 },
{ 0, 0, 1, 0 },
{ 0, 0, .5, 0 },
{ 1, 1, 1, 0 },
{ .5, .5, .5, 0 }
};
glClearDepth( 1.0 );
glClearColor( cc[idx][0], cc[idx][1], cc[idx][2], cc[idx][3] );
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
}
glEnable( GL_DEPTH_TEST );
for( int i = 0; i < 4; i++ ) {
glActiveTexture( GL_TEXTURE0 + i );
glDisable( GL_TEXTURE_2D );
}
glBindMultiTextureEXT( texunit, GL_TEXTURE_2D, tex );
glActiveTexture( texunit );
glEnable( GL_TEXTURE_2D );
glMatrixLoadIdentityEXT( texunit );
glEnable( GL_FOG );
glUseProgram( prog );
glEnable( GL_NORMALIZE );
glDisable( GL_RESCALE_NORMAL );
glMultiTexEnviEXT( texunit, GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE );
drawAnObject();
glDisable( GL_ALPHA_TEST );
glUseProgram( 0 );
glPopGroupMarkerEXT();
glFrameTerminatorGREMEDY();
//printf( "Draw with r=%f\n", r );
}

View file

@ -0,0 +1,36 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
- Created by Cass Everitt on 3/16/11.
*/
#pragma once
extern void alphaTorusInit();
extern void alphaTorusReshape( int w, int h );
extern void alphaTorusDisplay( bool clear );

View file

@ -0,0 +1,186 @@
/*
This is free and unencumbered software released into the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or
distribute this software, either in source code form or as a compiled
binary, for any purpose, commercial or non-commercial, and by any
means.
In jurisdictions that recognize copyright laws, the author or authors
of this software dedicate any and all copyright interest in the
software to the public domain. We make this dedication for the benefit
of the public at large and to the detriment of our heirs and
successors. We intend this dedication to be an overt act of
relinquishment in perpetuity of all present and future rights to this
software under copyright law.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
For more information, please refer to <http://unlicense.org/>
*/
// An example of the minimal Win32 OpenGL (via Regal) program.
// It only works in 16 bit color modes or higher (since it doesn't
// create a palette).
#include <windows.h>
#include <GL/Regal.h>
#include "render.h"
#include <cstdio>
#include <cstdlib>
using namespace std;
LRESULT WINAPI
WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
static PAINTSTRUCT ps;
switch(uMsg)
{
case WM_PAINT:
alphaTorusDisplay(true);
SwapBuffers(GetDC(hWnd));
BeginPaint(hWnd, &ps);
EndPaint(hWnd, &ps);
return 0;
case WM_SIZE:
alphaTorusReshape(LOWORD(lParam), HIWORD(lParam));
PostMessage(hWnd, WM_PAINT, 0, 0);
return 0;
case WM_CHAR:
switch (wParam) {
case 27: /* ESC key */
PostQuitMessage(0);
break;
}
return 0;
case WM_CLOSE:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}
HWND
CreateOpenGLWindow(LPCTSTR title, int x, int y, int width, int height, BYTE type, DWORD flags)
{
int pf;
HDC hDC;
HWND hWnd;
WNDCLASS wc;
PIXELFORMATDESCRIPTOR pfd;
static HINSTANCE hInstance = 0;
/* only register the window class once - use hInstance as a flag. */
if (!hInstance)
{
hInstance = GetModuleHandle(NULL);
wc.style = CS_OWNDC;
wc.lpfnWndProc = (WNDPROC)WindowProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_WINLOGO);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = NULL;
wc.lpszMenuName = NULL;
wc.lpszClassName = TEXT("OpenGL");
if (!RegisterClass(&wc))
{
MessageBox(NULL, TEXT("RegisterClass() failed: Cannot register window class."),
TEXT("Error"), MB_OK);
return NULL;
}
}
hWnd = CreateWindow(TEXT("OpenGL"), title,
WS_OVERLAPPEDWINDOW | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
x, y, width, height, NULL, NULL, hInstance, NULL);
if (!hWnd)
{
MessageBox(NULL, TEXT("CreateWindow() failed: Cannot create a window."),
TEXT("Error"), MB_OK);
return NULL;
}
hDC = GetDC(hWnd);
/* there is no guarantee that the contents of the stack that become
the pfd are zeroed, therefore _make sure_ to clear these bits. */
memset(&pfd, 0, sizeof(pfd));
pfd.nSize = sizeof(pfd);
pfd.nVersion = 1;
pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | flags;
pfd.iPixelType = type;
pfd.cColorBits = 32;
pf = ChoosePixelFormat(hDC, &pfd);
if (!pf)
{
MessageBox(NULL, TEXT("ChoosePixelFormat() failed: Cannot find a suitable pixel format."),
TEXT("Error"), MB_OK);
return 0;
}
if (!SetPixelFormat(hDC, pf, &pfd)) {
MessageBox(NULL, TEXT("SetPixelFormat() failed: Cannot set format specified."),
TEXT("Error"), MB_OK);
return 0;
}
DescribePixelFormat(hDC, pf, sizeof(PIXELFORMATDESCRIPTOR), &pfd);
ReleaseDC(hWnd, hDC);
return hWnd;
}
int APIENTRY
WinMain(HINSTANCE hCurrentInst, HINSTANCE hPreviousInst, LPSTR lpszCmdLine, int nCmdShow)
{
HDC hDC; /* device context */
HGLRC hRC; /* opengl context */
HWND hWnd; /* window */
MSG msg; /* message */
hWnd = CreateOpenGLWindow(TEXT("alphatorus_win32"), 0, 0, 256, 256, PFD_TYPE_RGBA, PFD_DOUBLEBUFFER);
if (!hWnd)
exit(1);
hDC = GetDC(hWnd);
hRC = wglCreateContext(hDC);
wglMakeCurrent(hDC,hRC);
RegalMakeCurrent(hRC);
ShowWindow(hWnd, nCmdShow);
while(GetMessage(&msg, hWnd, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
RegalMakeCurrent(NULL);
ReleaseDC(hWnd, hDC);
wglDeleteContext(hRC);
DestroyWindow(hWnd);
return (int) msg.wParam;
}

View file

@ -117,13 +117,24 @@
* GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t
* defined properly.
*/
/* <windef.h> */
#ifndef APIENTRY
/* <windef.h> and <gl.h>*/
#ifdef APIENTRY
# ifndef GLAPIENTRY
# define GLAPIENTRY APIENTRY
# endif
# ifndef GLEWAPIENTRY
# define GLEWAPIENTRY APIENTRY
# endif
#else
#define GLEW_APIENTRY_DEFINED
# if defined(__MINGW32__) || defined(__CYGWIN__)
# define APIENTRY __stdcall
# elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__)
# if defined(__MINGW32__) || defined(__CYGWIN__) || (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__)
# define APIENTRY __stdcall
# ifndef GLAPIENTRY
# define GLAPIENTRY __stdcall
# endif
# ifndef GLEWAPIENTRY
# define GLEWAPIENTRY __stdcall
# endif
# else
# define APIENTRY
# endif
@ -180,14 +191,6 @@ typedef _W64 int ptrdiff_t;
# endif
#endif
#ifndef GLAPIENTRY
#define GLAPIENTRY APIENTRY
#endif
#ifndef GLEWAPIENTRY
#define GLEWAPIENTRY APIENTRY
#endif
/*
* GLEW_STATIC is defined for static library.
* GLEW_BUILD is defined for building the DLL library.
@ -249,6 +252,8 @@ typedef _W64 int ptrdiff_t;
#define GLAPI extern
#endif
#endif /* _WIN32 */
#ifndef GLAPIENTRY
#define GLAPIENTRY
#endif
@ -257,8 +262,6 @@ typedef _W64 int ptrdiff_t;
#define GLEWAPIENTRY
#endif
#endif /* _WIN32 */
#ifdef __cplusplus
extern "C" {
#endif
@ -2535,7 +2538,7 @@ typedef void (GLAPIENTRY * PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
#define GL_DEBUG_CATEGORY_APPLICATION_AMD 0x914F
#define GL_DEBUG_CATEGORY_OTHER_AMD 0x9150
typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam);
typedef void (GLAPIENTRY *GLDEBUGPROCAMD)(GLuint id, GLenum category, GLenum severity, GLsizei length, const GLchar* message, void* userParam);
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void *userParam);
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled);
@ -3803,7 +3806,7 @@ typedef void (GLAPIENTRY * PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum sr
#define GL_DEBUG_SEVERITY_MEDIUM_ARB 0x9147
#define GL_DEBUG_SEVERITY_LOW_ARB 0x9148
typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam);
typedef void (GLAPIENTRY *GLDEBUGPROCARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam);
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKARBPROC) (GLDEBUGPROCARB callback, const void *userParam);
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLARBPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled);
@ -8582,6 +8585,7 @@ typedef void (GLAPIENTRY * PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC) (GLuint v
typedef void (GLAPIENTRY * PFNGLVERTEXARRAYNORMALOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset);
typedef void (GLAPIENTRY * PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
typedef void (GLAPIENTRY * PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) (GLuint vaobj, GLuint index, GLuint divisor);
typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset);
typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLintptr offset);
typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset);
@ -8796,6 +8800,7 @@ typedef void (GLAPIENTRY * PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC) (GLuint vaobj, G
#define glVertexArrayNormalOffsetEXT GLEW_GET_FUN(__glewVertexArrayNormalOffsetEXT)
#define glVertexArraySecondaryColorOffsetEXT GLEW_GET_FUN(__glewVertexArraySecondaryColorOffsetEXT)
#define glVertexArrayTexCoordOffsetEXT GLEW_GET_FUN(__glewVertexArrayTexCoordOffsetEXT)
#define glVertexArrayVertexAttribDivisorEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribDivisorEXT)
#define glVertexArrayVertexAttribIOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribIOffsetEXT)
#define glVertexArrayVertexAttribOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexAttribOffsetEXT)
#define glVertexArrayVertexOffsetEXT GLEW_GET_FUN(__glewVertexArrayVertexOffsetEXT)
@ -11237,7 +11242,7 @@ typedef void (GLAPIENTRY * PFNGLTEXSCISSORINTELPROC) (GLenum target, GLclampf tl
#define GL_DEBUG_SEVERITY_LOW 0x9148
#define GL_DEBUG_OUTPUT 0x92E0
typedef void (APIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam);
typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam);
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECALLBACKPROC) (GLDEBUGPROC callback, const void *userParam);
typedef void (GLAPIENTRY * PFNGLDEBUGMESSAGECONTROLPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled);
@ -16691,6 +16696,7 @@ GLEW_FUN_EXPORT PFNGLVERTEXARRAYMULTITEXCOORDOFFSETEXTPROC __glewVertexArrayMult
GLEW_FUN_EXPORT PFNGLVERTEXARRAYNORMALOFFSETEXTPROC __glewVertexArrayNormalOffsetEXT;
GLEW_FUN_EXPORT PFNGLVERTEXARRAYSECONDARYCOLOROFFSETEXTPROC __glewVertexArraySecondaryColorOffsetEXT;
GLEW_FUN_EXPORT PFNGLVERTEXARRAYTEXCOORDOFFSETEXTPROC __glewVertexArrayTexCoordOffsetEXT;
GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC __glewVertexArrayVertexAttribDivisorEXT;
GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBIOFFSETEXTPROC __glewVertexArrayVertexAttribIOffsetEXT;
GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXATTRIBOFFSETEXTPROC __glewVertexArrayVertexAttribOffsetEXT;
GLEW_FUN_EXPORT PFNGLVERTEXARRAYVERTEXOFFSETEXTPROC __glewVertexArrayVertexOffsetEXT;
@ -18276,8 +18282,6 @@ GLEWAPI const GLubyte * GLEWAPIENTRY glewGetString (GLenum name);
#ifdef GLEW_APIENTRY_DEFINED
#undef GLEW_APIENTRY_DEFINED
#undef APIENTRY
#undef GLAPIENTRY
#define GLAPIENTRY
#endif
#ifdef GLEW_CALLBACK_DEFINED

View file

@ -832,6 +832,38 @@ typedef GLXPixmap ( * PFNGLXCREATEGLXPIXMAPMESAPROC) (Display* dpy, XVisualInfo
#endif /* GLX_MESA_pixmap_colormap */
/* ------------------------ GLX_MESA_query_renderer ------------------------ */
#ifndef GLX_MESA_query_renderer
#define GLX_MESA_query_renderer 1
#define GLX_RENDERER_VENDOR_ID_MESA 0x8183
#define GLX_RENDERER_DEVICE_ID_MESA 0x8184
#define GLX_RENDERER_VERSION_MESA 0x8185
#define GLX_RENDERER_ACCELERATED_MESA 0x8186
#define GLX_RENDERER_VIDEO_MEMORY_MESA 0x8187
#define GLX_RENDERER_UNIFIED_MEMORY_ARCHITECTURE_MESA 0x8188
#define GLX_RENDERER_PREFERRED_PROFILE_MESA 0x8189
#define GLX_RENDERER_OPENGL_CORE_PROFILE_VERSION_MESA 0x818A
#define GLX_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION_MESA 0x818B
#define GLX_RENDERER_OPENGL_ES_PROFILE_VERSION_MESA 0x818C
#define GLX_RENDERER_OPENGL_ES2_PROFILE_VERSION_MESA 0x818D
#define GLX_RENDERER_ID_MESA 0x818E
typedef Bool ( * PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC) (int attribute, unsigned int* value);
typedef const char* ( * PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC) (int attribute);
typedef Bool ( * PFNGLXQUERYRENDERERINTEGERMESAPROC) (Display* dpy, int screen, int renderer, int attribute, unsigned int *value);
typedef const char* ( * PFNGLXQUERYRENDERERSTRINGMESAPROC) (Display *dpy, int screen, int renderer, int attribute);
#define glXQueryCurrentRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererIntegerMESA)
#define glXQueryCurrentRendererStringMESA GLXEW_GET_FUN(__glewXQueryCurrentRendererStringMESA)
#define glXQueryRendererIntegerMESA GLXEW_GET_FUN(__glewXQueryRendererIntegerMESA)
#define glXQueryRendererStringMESA GLXEW_GET_FUN(__glewXQueryRendererStringMESA)
#define GLXEW_MESA_query_renderer GLXEW_GET_VAR(__GLXEW_MESA_query_renderer)
#endif /* GLX_MESA_query_renderer */
/* ------------------------ GLX_MESA_release_buffers ----------------------- */
#ifndef GLX_MESA_release_buffers
@ -889,6 +921,19 @@ typedef void ( * PFNGLXCOPYIMAGESUBDATANVPROC) (Display *dpy, GLXContext srcCtx,
#endif /* GLX_NV_copy_image */
/* ------------------------ GLX_NV_delay_before_swap ----------------------- */
#ifndef GLX_NV_delay_before_swap
#define GLX_NV_delay_before_swap 1
typedef Bool ( * PFNGLXDELAYBEFORESWAPNVPROC) (Display* dpy, GLXDrawable drawable, GLfloat seconds);
#define glXDelayBeforeSwapNV GLXEW_GET_FUN(__glewXDelayBeforeSwapNV)
#define GLXEW_NV_delay_before_swap GLXEW_GET_VAR(__GLXEW_NV_delay_before_swap)
#endif /* GLX_NV_delay_before_swap */
/* -------------------------- GLX_NV_float_buffer -------------------------- */
#ifndef GLX_NV_float_buffer
@ -1474,6 +1519,11 @@ GLXEW_FUN_EXPORT PFNGLXCOPYSUBBUFFERMESAPROC __glewXCopySubBufferMESA;
GLXEW_FUN_EXPORT PFNGLXCREATEGLXPIXMAPMESAPROC __glewXCreateGLXPixmapMESA;
GLXEW_FUN_EXPORT PFNGLXQUERYCURRENTRENDERERINTEGERMESAPROC __glewXQueryCurrentRendererIntegerMESA;
GLXEW_FUN_EXPORT PFNGLXQUERYCURRENTRENDERERSTRINGMESAPROC __glewXQueryCurrentRendererStringMESA;
GLXEW_FUN_EXPORT PFNGLXQUERYRENDERERINTEGERMESAPROC __glewXQueryRendererIntegerMESA;
GLXEW_FUN_EXPORT PFNGLXQUERYRENDERERSTRINGMESAPROC __glewXQueryRendererStringMESA;
GLXEW_FUN_EXPORT PFNGLXRELEASEBUFFERSMESAPROC __glewXReleaseBuffersMESA;
GLXEW_FUN_EXPORT PFNGLXSET3DFXMODEMESAPROC __glewXSet3DfxModeMESA;
@ -1483,6 +1533,8 @@ GLXEW_FUN_EXPORT PFNGLXSWAPINTERVALMESAPROC __glewXSwapIntervalMESA;
GLXEW_FUN_EXPORT PFNGLXCOPYIMAGESUBDATANVPROC __glewXCopyImageSubDataNV;
GLXEW_FUN_EXPORT PFNGLXDELAYBEFORESWAPNVPROC __glewXDelayBeforeSwapNV;
GLXEW_FUN_EXPORT PFNGLXBINDVIDEODEVICENVPROC __glewXBindVideoDeviceNV;
GLXEW_FUN_EXPORT PFNGLXENUMERATEVIDEODEVICESNVPROC __glewXEnumerateVideoDevicesNV;
@ -1603,10 +1655,12 @@ GLXEW_VAR_EXPORT GLboolean __GLXEW_INTEL_swap_event;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_agp_offset;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_copy_sub_buffer;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_pixmap_colormap;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_query_renderer;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_release_buffers;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_set_3dfx_mode;
GLXEW_VAR_EXPORT GLboolean __GLXEW_MESA_swap_control;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_copy_image;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_delay_before_swap;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_float_buffer;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_multisample_coverage;
GLXEW_VAR_EXPORT GLboolean __GLXEW_NV_present_video;

94
scripts/Dispatch.py Normal file
View file

@ -0,0 +1,94 @@
#!/usr/bin/python -B
import re
from string import Template
from string import join
from copy import deepcopy
#
# Apply per-section substitutions
#
# Inputs:
#
# code - the substituted code snippets for each section
# formula - formula dictionary
# subs - substitutions for string.Template.substitute
#
def substitute(entry, formula, section, subs):
if not section in formula:
return
# Turn a string into a list, if necessary
tmp = formula[section]
if isinstance(tmp,str) or isinstance(tmp,unicode):
tmp = tmp.split('\n')
entry[section] = [ Template(i).substitute(subs) for i in tmp ]
def dispatchGenCode(func, formulae):
if formulae==None:
return None
name = func.name
# list of function parameter names
arglist = [ i.name.strip() for i in func.parameters ]
# arg is a mapping from arg0 to function parameter name...
arg = {}
for i in range(len(arglist)):
arg['arg%d' % i] = arglist[i]
# ... and mappings from arg0plus to lists of function parameters
for i in range(0,5):
label = 'arg%dplus' % i;
if len(arglist) > 0 :
arg[label] = ', '.join(arglist)
arglist.pop(0)
else :
arg[label] = ''
# Iterate over the formulae
#
# k is the key
# i is the formula
for k,i in formulae.iteritems():
# Cache the compiled regular expressions, as needed
if 'entries_re' not in i:
i['entries_re'] = [ re.compile( '^%s$' % j ) for j in i['entries'] ]
# A list of matches containing (match object, formula name, formula)
# Look for matches, ideally only one
m = [ [j.match(name),k,i] for k,i in formulae.iteritems() for j in i['entries_re'] ]
m = [ j for j in m if j[0] ]
assert len(m)<=1, 'Ambiguous match (%s) for %s - giving up.'%(', '.join([j[1] for j in m]),name)
if len(m):
match = m[0][0]
formula = m[0][2]
code = { 'name' : name }
subs = deepcopy(arg)
for l in range( len(match.groups()) + 1):
subs['m%d' % l] = match.group( l )
subs['name'] = name
substitute( code, formula, 'pre', subs )
substitute( code, formula, 'post', subs )
return code
return None

View file

@ -33,6 +33,7 @@ formulae = {
'glGenSamplers', # Sampler object emulation
'glGetTexImage',
'glTexImage(1|3)D',
'glGetTexLevelParameter(f|i)v',
'glBlitFramebufferANGLE' # Emulate glBlitFramebuffer?
],
'impl' : [
@ -76,7 +77,6 @@ formulae = {
'glEvalMesh(1|2)',
'glEvalPoint(1|2)',
'glGenLists',
'glGetTexLevelParameter(f|i)v',
'glLineStipple',
'glMap(1|2)(d|f)',
'glMapGrid(1|2)(d|f)',

View file

@ -111,7 +111,15 @@ iffFormulae = {
],
},
'FfnShadow' : {
'entries' : [ 'gl(MatrixMode|BindProgramPipeline|UseProgram|Enable|Disable)' ],
'entries' : [ 'gl(MatrixMode|BindProgramPipeline|Enable|Disable)' ],
'impl' : [
'if( ! _context->iff->Shadow${m1}( ${arg0plus} ) ) {',
' _context->dispatcher.emulation.gl${m1}( ${arg0plus} );',
'}',
],
},
'FfnShadowProgram' : {
'entries' : [ 'gl(UseProgram)(ObjectARB|)' ],
'impl' : [
'if( ! _context->iff->Shadow${m1}( ${arg0plus} ) ) {',
' _context->dispatcher.emulation.gl${m1}( ${arg0plus} );',
@ -270,5 +278,45 @@ iffFormulae = {
'CreateShader' : {
'entries' : [ 'glCreateShader(ObjectARB)?', ],
'impl' : [ 'return _context->iff->CreateShader( _context, ${arg0} );', ],
}
},
'Uniform' : {
'entries' : [ 'glUniform(1|2|3|4)(d|f|i|ui)(ARB|)', ],
'impl' : [
'if( _context->iff->currinst ) {',
' _context->iff->Uniform( _context, ${m1}, ${arg0}, 1, ${arg1plus} );',
'} else {',
' _context->dispatcher.emulation.${m0}( ${arg0plus} );',
'}',
],
},
'Uniformv' : {
'entries' : [ 'glUniform(1|2|3|4)(d|f|i|ui)v(ARB|)', ],
'impl' : [
'if( _context->iff->currinst ) {',
' _context->iff->Uniform( _context, ${m1}, ${arg0plus} );',
'} else {',
' _context->dispatcher.emulation.${m0}( ${arg0plus} );',
'}',
],
},
'UniformMatrix' : {
'entries' : [ 'glUniformMatrix(2|3|4)(d|f)v(ARB|)', ],
'impl' : [
'if( _context->iff->currinst ) {',
' _context->iff->UniformMatrix( _context, ${m1}, ${m1}, ${arg0plus} );',
'} else {',
' _context->dispatcher.emulation.${m0}( ${arg0plus} );',
'}',
],
},
'UniformMatrixNonSquare' : {
'entries' : [ 'glUniformMatrix(2|3|4)x(2|3|4)(d|f)v(ARB|)', ],
'impl' : [
'if( _context->iff->currinst ) {',
' _context->iff->UniformMatrix( _context, ${m1}, ${m2}, ${arg0plus} );',
'} else {',
' _context->dispatcher.emulation.${m0}( ${arg0plus} );',
'}',
],
},
}

View file

@ -52,6 +52,10 @@ if (ret)
{
Init::init();
Init::makeCurrent(RegalSystemContext(hglrc));
RegalContext *_context = REGAL_GET_CONTEXT();
RegalAssert(_context);
_context->hglrc = hglrc;
_context->hdc = hDC;
}'''
},

View file

@ -10,7 +10,7 @@ formulaeGlobal = {
'Insert' : {
'entries' : [ 'glInsertEventMarkerEXT' ],
'cond' : '_context->info->gl_ext_debug_marker',
'cond' : 'true || _context->info->gl_ext_debug_marker',
'prefix' : '''
const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024;
const std::string _message = Marker::toStringEXT(length,marker,maxLength);''',
@ -22,7 +22,7 @@ RegalAssert(_context->info);'''
'Push' : {
'entries' : [ 'glPushGroupMarkerEXT' ],
'cond' : '_context->info->gl_ext_debug_marker',
'cond' : 'true || _context->info->gl_ext_debug_marker',
'prefix' : '''
const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024;
const std::string _message = Marker::toStringEXT(length,marker,maxLength);''',
@ -34,7 +34,7 @@ if (_context->marker)
'Pop' : {
'entries' : [ 'glPopGroupMarkerEXT' ],
'cond' : '_context->info->gl_ext_debug_marker',
'cond' : 'true || _context->info->gl_ext_debug_marker',
'prefix' : '''
if (_context && _context->marker)
_context->marker->PopGroupMarker(*_context);''',
@ -50,7 +50,7 @@ if (_context && _context->marker)
'KHR_debug Push' : {
'entries' : [ 'glPushDebugGroup' ],
'cond' : '_context->info->gl_khr_debug',
'cond' : 'true || _context->info->gl_khr_debug',
'prefix' : '''
const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024;
const std::string _message = Marker::toStringKHR(length,message,maxLength);''',
@ -60,7 +60,7 @@ const std::string _message = Marker::toStringKHR(length,message,maxLength);''',
},
'KHR_debug Pop' : {
'entries' : [ 'glPopDebugGroup' ],
'cond' : '_context->info->gl_khr_debug',
'cond' : 'true || _context->info->gl_khr_debug',
'prefix' : [ 'if (_context->marker)',
' _context->marker->PopGroupMarker(*_context);' ],
'impl' : [ 'RegalAssert(_context->info);' ]
@ -68,7 +68,7 @@ const std::string _message = Marker::toStringKHR(length,message,maxLength);''',
'KHR_debug Insert' : {
'entries' : [ 'glDebugMessageInsert' ],
'cond' : '_context->info->gl_khr_debug',
'cond' : 'true || _context->info->gl_khr_debug',
'prefix' : '''
const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024;
const std::string _message = Marker::toStringKHR(length,buf,maxLength);''',
@ -84,7 +84,7 @@ const std::string _message = Marker::toStringKHR(length,buf,maxLength);''',
'ARB_debug_output Insert' : {
'entries' : [ 'glDebugMessageInsertARB' ],
'cond' : '_context->info->gl_arb_debug_output',
'cond' : 'true || _context->info->gl_arb_debug_output',
'prefix' : '''
const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024;
const std::string _message = Marker::toStringEXT(length,buf,maxLength);''',
@ -100,7 +100,7 @@ const std::string _message = Marker::toStringEXT(length,buf,maxLength);''',
'AMD_debug_output Insert' : {
'entries' : [ 'glDebugMessageInsertAMD' ],
'cond' : '_context->info->gl_amd_debug_output',
'cond' : 'true || _context->info->gl_amd_debug_output',
'prefix' : '''
const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024;
const std::string _message = Marker::toStringEXT(length,buf,maxLength);''',
@ -113,7 +113,7 @@ const std::string _message = Marker::toStringEXT(length,buf,maxLength);''',
'GL_GREMEDY_string_marker' : {
'entries' : [ 'glStringMarkerGREMEDY' ],
'cond' : '_context->info->gl_gremedy_string_marker',
'cond' : 'true || _context->info->gl_gremedy_string_marker',
'prefix' : '''
const GLsizei maxLength = _context && _context->emuInfo ? _context->emuInfo->gl_max_debug_message_length : 1024;
const std::string _message = Marker::toStringEXT(len,static_cast<const char *>(string),maxLength);''',

View file

@ -49,6 +49,14 @@ ppaFormulae = {
'}',
],
},
'GetTexParam' : {
'entries' : [ 'glGet(Tex|Texture)(Level|)Parameter(f|i)v(EXT|)' ],
'impl' : [
'if( ! _context->ppa->glGet${m1}${m2}Parameter( _context, ${arg0plus} ) ) {',
' _context->dispatcher.emulation.glGet${m1}${m2}Parameter${m3}v${m4}( ${arg0plus} );',
'}',
],
},
'IsEnabled' : {
'entries' : [ 'glIsEnabled(i|)' ],
'impl' : [

View file

@ -21,6 +21,10 @@ quadsFormulae = {
'entries' : [ 'glProvokingVertex(EXT|)' ],
'prefix' : [ '_context->quads->glProvokingVertex( ${arg0plus} );', ],
},
'BindBuffer' : {
'entries' : [ 'glBindBuffer(EXT|)' ],
'prefix' : [ '_context->quads->glBindBuffer( ${arg0plus} );', ],
},
'quads' : {
'entries' : [ 'glDrawArrays(EXT|)' ],
'impl' : [

View file

@ -45,6 +45,7 @@ from RegalDispatchEmu import *
from RegalDispatchGMock import *
from RegalDispatchGLX import *
from RegalDispatchLog import *
from RegalDispatchHttp import *
from RegalDispatchLoader import *
from RegalDispatchMissing import *
from RegalDispatchPpapi import *
@ -225,6 +226,7 @@ def generate(apis, args):
generateSystemHeader(apis, args)
generateEmuSource( apis, args )
generateDispatchLog( apis, args )
generateDispatchHttp( apis, args )
generateDispatchCode( apis, args )
generateErrorSource( apis, args )
generateDebugSource( apis, args )

View file

@ -176,7 +176,7 @@ def cCodeParameter(function, parameter):
# ret - return value
#
def logFunction(function, trace = 'ITrace', input = True, output = False, ret = False):
def logFunction(function, trace = 'ITrace', input = True, output = False, ret = False, paramsOnly = False):
c = ''
args = []
for i in function.parameters:
@ -202,14 +202,20 @@ def logFunction(function, trace = 'ITrace', input = True, output = False, ret =
args = args[:14]
if len(args):
c += '%s("%s","(", ' % (trace, function.name)
if paramsOnly:
c += '%s("(", ' % trace
else:
c += '%s("%s","(", ' % (trace, function.name)
c += ', ", ", '.join(args)
c += ', ")"'
if r != None:
c += ', " returned ", %s'%(r)
c += ');'
else:
c += '%s("%s","()"' % (trace, function.name)
if paramsOnly:
c += '%s("()"' % trace
else:
c += '%s("%s","()"' % (trace, function.name)
if r != None:
c += ', " returned ", %s'%(r)
c += ');'

5
scripts/js/jquery-ui.min.css vendored Normal file

File diff suppressed because one or more lines are too long

12
scripts/js/jquery-ui.min.js vendored Normal file

File diff suppressed because one or more lines are too long

6
scripts/js/jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

31
scripts/js/js2c.py Executable file
View file

@ -0,0 +1,31 @@
#!/usr/bin/python -B
import re
def main():
files = [ 'regalweb.js', 'jquery.min.js', 'jquery-ui.min.js', 'jquery-ui.min.css' ]
outfile = open( '../../src/regal/RegalWebJs.h', 'w' )
outfile.write( "/* do not edit - generated via js2c.py from regalweb.js */\n" )
outfile.write( "namespace {\n\n" )
esc = re.compile(r'(\\|\")', re.VERBOSE)
rm = re.compile(r'(\.|-)', re.VERBOSE)
for f in files:
varname = rm.sub( '', f )
infile = open( f, 'r' )
lines = infile.readlines()
outfile.write( " const char * %s = \n" % varname )
for l in lines:
lp = esc.sub( r'\\\1', l.rstrip('\n') )
outfile.write( " \"%s\\n\"\n" % lp )
outfile.write( " ;\n\n" )
infile.close()
if f == 'regalweb.js':
outfile.write( "#if REGAL_HTTP_LOCAL_JQUERY\n" )
outfile.write( "#endif // REGAL_LOCAL_JQUERY\n\n" )
outfile.write( "}\n" )
outfile.close()
if __name__ == '__main__':
main()

517
scripts/js/regalweb.js Normal file
View file

@ -0,0 +1,517 @@
$(document).ready( regalweb );
function regalweb() {
$("body").animate( { backgroundColor: "#444444" }, 200, function() {
$.get("/debug/begin", function() {
createMainTab();
} );
} );
}
function imageLoaded( img ) {
var source = $("#" + img + "source")[0];
var canvas = $("#" + img + "canvas")[0];
var parent = source.parentNode;
var gl = canvas.gl || ( canvas.gl = canvas.getContext('webgl') || canvas.getContext("experimental-webgl") );
var rd = canvas.renderData || ( canvas.renderData = new Object() );
if( ! rd.tex ) {
rd.tex = gl.createTexture();
}
gl.bindTexture(gl.TEXTURE_2D, rd.tex);
gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, source);
if( source.tex && source.tex.GL_TEXTURE_MAG_FILTER == "GL_NEAREST" ) {
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
} else {
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
}
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
gl.bindTexture(gl.TEXTURE_2D, null);
if( source.prevWidth != source.width || source.prevHeight != source.height ) {
var w = source.width;
var h = source.height;
var a = w/h;
source.prevWidth = w;
source.prevHeight = h
$(parent).resizable({
aspectRatio: a
});
var options = $(parent).resizable("option");
w = Math.max( options.minWidth, Math.min( options.maxWidth, w ) );
if( a < 1 ) {
w *= a;
}
h = w/a;
$(parent).animate( { width: w, height: h }, 200 );
renderImage( img, { width: w, height: h } );
} else {
renderImage( img );
}
$(parent).resizable();
}
function restOfContainerWidth( jel, parentWidth ) {
var w = 0;
jel.siblings().each( function(index, el) {
w += $(el).outerWidth(true);
});
var pw = parentWidth || jel.parent().width();
var myouter = jel.outerWidth(true) - jel.width();
var resizeMarginRight = jel[0].resizeMarginRight || 0;
jel.width( pw - w - myouter - 2 - resizeMarginRight );
}
function renderImage( img, size ) {
var render = $("#" + img + "render")[0];
var source = $("#" + img + "source")[0];
var canvas = $("#" + img + "canvas")[0];
var slider = $("#" + img + "opacity");
var gl = canvas.gl || ( canvas.gl = canvas.getContext('webgl') || canvas.getContext("experimental-webgl" ) );
var parent = source.parentNode;
var w = parent.clientWidth;
var h = parent.clientHeight;
if( size ) {
w = size.width;
h = size.height;
}
if( w <= 0 || h <= 0 ) {
return;
}
var opacity = slider.slider("option", "value") / 100.0;
canvas.width = render.width = w;
canvas.height = render.height = h;
gl.viewport( 0, 0, w, h );
gl.clearColor( 1, 0, 0, 0 );
gl.clear( gl.COLOR_BUFFER_BIT );
var rd = canvas.renderData || ( canvas.renderData = new Object() );
if( ! rd.vb ) {
rd.vb = gl.createBuffer();
gl.bindBuffer( gl.ARRAY_BUFFER, rd.vb );
gl.bufferData( gl.ARRAY_BUFFER, new Float32Array( [ -1, -1, 1, -1, 1, 1, -1, -1, 1, 1, -1, 1 ] ), gl.STATIC_DRAW);
rd.vs = gl.createShader( gl.VERTEX_SHADER );
gl.shaderSource( rd.vs,
"attribute vec2 p;\n" +
"varying vec2 tc;\n" +
"void main() {\n" +
" tc = p * 0.5 + 0.5;\n" +
" gl_Position = vec4( p.x, p.y, 0.0, 1.0 );\n" +
"}\n" );
gl.compileShader( rd.vs );
if (!gl.getShaderParameter( rd.vs, gl.COMPILE_STATUS) ) {
var infoLog = gl.getShaderInfoLog( rd.vs );
alert("Error compiling shader:\n" + infoLog);
}
rd.fs = gl.createShader( gl.FRAGMENT_SHADER );
gl.shaderSource( rd.fs,
"precision highp float;\n" +
"uniform sampler2D tex;\n" +
"uniform float opacity;\n" +
"varying vec2 tc;\n" +
"void main() {\n" +
" float checker = mod( dot( floor( vec2(gl_FragCoord.x,gl_FragCoord.y) / 8.0 ) , vec2( 1.0, 1.0 ) ) , 2.0 );\n" +
" checker = checker * 0.25 + 0.75;\n" +
" vec4 c = vec4( checker, checker, checker, 1.0 );\n" +
" vec4 t = texture2D( tex, tc );\n" +
" t.w = t.w + ( 1.0 - t.w ) * opacity;\n" +
" gl_FragColor.xyz = c.xyz * (1.0 - t.w) + t.xyz * t.w;\n" +
" gl_FragColor.w = 1.0;\n" +
"}\n" );
gl.compileShader( rd.fs );
if (!gl.getShaderParameter( rd.fs, gl.COMPILE_STATUS) ) {
var infoLog = gl.getShaderInfoLog( rd.fs );
alert("Error compiling shader:\n" + infoLog);
}
rd.prog = gl.createProgram();
gl.attachShader( rd.prog, rd.vs );
gl.attachShader( rd.prog, rd.fs );
gl.linkProgram( rd.prog );
gl.bindAttribLocation( rd.prog, 0, "p" );
gl.linkProgram( rd.prog );
gl.useProgram( rd.prog );
gl.uniform1i( gl.getUniformLocation( rd.prog, "tex" ), 0 );
rd.opacityLoc = gl.getUniformLocation( rd.prog, "opacity" );
}
if( ! rd.tex ) {
return;
}
gl.activeTexture( gl.TEXTURE0 );
gl.bindTexture( gl.TEXTURE_2D, rd.tex );
gl.bindBuffer( gl.ARRAY_BUFFER, rd.vb );
gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0);
gl.enableVertexAttribArray( 0 );
gl.useProgram( rd.prog );
gl.uniform1f( rd.opacityLoc, opacity );
gl.drawArrays( gl.TRIANGLES, 0, 6 );
$(render).attr( "src", canvas.toDataURL() );
restOfContainerWidth( slider, w );
var filler = $("#" + img ).parent().children(".restOfWidth");
filler.css( { height: h } );
restOfContainerWidth( filler );
}
function fetch( url, callback ) {
$.ajax( {
url: url,
success: callback,
error: function( data ) {
console.log( "error! <br><br>" + data );
}
} );
}
function updateLogData() {
fetch( "/log/-100", function( logdata ) {
$("#log").html( logdata.log.join( "<br>" ) );
$("#log").scrollTop( 100000 );
} );
}
function createDebugButton( id, label ) {
var b = $('<button>', { id: id });
$(b).button( { label: label } );
$(b).click( function() {
$.get( "/debug/" + id, function() {
updateLogData();
if( label !== "play" ) {
$("#color0source")[0].onload = function() { imageLoaded( "color0" ); };
$("#color0source").attr( "src", "/fbo/0/color0?" + new Date().getTime() );
}
} );
} );
return b;
}
function createDebugToolbar() {
var t = $('<div>', { id: "debugToolbar", class: "ui-widget-header ui-corner-all" });
t.append( createDebugButton("play", "play" ) );
t.append( createDebugButton("nextFrame", "next frame" ) );
t.append( createDebugButton("nextGroup", "next group" ) );
t.append( createDebugButton("nextFbo", "next fbo" ) );
t.append( createDebugButton("nextDraw", "next draw" ) );
t.append( createDebugButton("next", "next" ) );
return t;
}
function createSlider( parent, name ) {
var sc = $('<div>');
parent.append(sc);
var pname = parent.attr("id");
var label = $('<div>');
label.text( name );
var sl = $('<div>', { id: pname + name } );
sc.append( label );
sc.append( sl );
sl.on( "slide", function( event, ui ) { renderImage( pname ); } );
sl.slider( { value: 50 } );
sc.children().css( {
verticalAlign: "middle",
margin: "5px",
display: "inline-block",
} );
}
function createImageView( p, name, url ) {
var imgView = $('<div>', { id: name } );
p.append( imgView );
var div = $('<div>', { id: name + "div" } );
var source = $('<img>', { id: name + "source", src: url } );
var canvas = $('<canvas>', { id: name + "canvas", hidden: true } );
var render = $('<img>', { id: name + "render" } );
source.css("display", "none");
imgView.append(div);
div.append( source );
div.append( canvas );
div.append( render );
div.resizable( {
aspectRatio: 1,
maxWidth: 512,
maxHeight: 512,
minWidth: 128,
minHeight: 128,
} );
div.on("resize", function( event, ui ) { renderImage(name, ui.size); } );
createSlider( imgView, "opacity" );
source.on( "load", function() { imageLoaded( name ); } );
}
function createDebug() {
var debug = $("#debug");
debug.append( createDebugToolbar() );
var debugArea = $('<div>', { id: "debugArea" } );
debug.append( debugArea );
createImageView( debugArea, "color0", "/fbo/0/color0" );
var log = $('<div>', { id: "log", class: "restOfWidth" } );
log.css( {
height: 256,
overflowX: "hide",
overflowY: "auto",
marginRight: "10px",
marginLeft: "10px",
fontSize: "80%",
fontFamily: "Courier New, Courier, monospace",
} );
debugArea.append( log );
debugArea.children().css( {
verticalAlign: "top",
margin: "5px",
display: "inline-block",
} );
debug.css( {
overflowX: "auto",
overflowY: "auto",
} );
return debug;
}
function appendObjectItems( obj ) {
var ul = $('<ul>');
for( var k in obj ) {
if( obj.hasOwnProperty(k) ) {
var li = $('<li>');
var span = $('<span>', { class: "key", text: k } );
var sp = $('<span>', { html: "&nbsp;:&nbsp;" } );
if( typeof obj[k] == "object" ) {
var child = appendObjectItems( obj[k] );
span.click( function() { $(this).next().next().toggle(); } );
} else {
var child = $('<span>', { text: obj[k] } );
}
li.append( span );
li.append( sp );
li.append( child );
ul.append( li );
}
}
return ul;
}
function loadTextureView( view, tex ) {
view.empty();
createImageView( view, "texView", "/texture/" + tex.name + "/image" );
$("#texViewsource")[0].tex = tex;
var texProps = appendObjectItems( tex );
texProps.addClass( "restOfWidth" );
view.append( texProps );
texProps.css( {
overflowX: "auto",
overflowY: "auto",
fontSize: "80%",
fontFamily: "Courier New, Courier, monospace",
} );
var keys = texProps.find(".key");
keys.css( {
color: "yellow",
} );
}
function createTextures() {
var textures = $("#textures");
var list = $('<div>', { id: "list", class: "ui-widget-header ui-corner-all" } );
list.css( {
padding: "5px",
} );
textures.append( list );
var texInfo = $('<div>', { id: "texInfo" } );
textures.append( texInfo );
fetch( "/texture", function( d ) {
var spans = new Array();
d.forEach( function( t ) { spans.push( "<span>" + t + "</span>" ); } );
list.html( "Textures: " + spans.join( ",&nbsp; " ) );
var spans = $("#textures #list span");
spans.click( function( ev ) {
fetch( "/texture/" + $(this).text(), function ( tex ) {
loadTextureView( texInfo, tex );
texInfo.children().css( {
verticalAlign: "top",
margin: "5px",
display: "inline-block",
} );
texInfo.css( {
overflowX: "auto",
overflowY: "auto",
} );
} );
} );
spans.mouseenter( function() { $(this).css( { textDecoration: "underline" } ); } );
spans.mouseleave( function() { $(this).css( { textDecoration: "none" } ); } );
} );
}
function loadProgView( view, prog ) {
view.empty();
var progProps = appendObjectItems( prog );
view.append( progProps );
progProps.css( {
overflowX: "auto",
overflowY: "auto",
fontSize: "80%",
fontFamily: "Courier New, Courier, monospace",
} );
var keys = progProps.find(".key");
keys.css( {
color: "yellow",
} );
}
function createPrograms() {
var programs = $("#programs");
var list = $('<div>', { id: "list", class: "ui-widget-header ui-corner-all" } );
list.css( { padding: "5px", } );
programs.append( list );
var progInfo = $('<div>', { id: "progInfo" } );
programs.append( progInfo );
fetch( "/program", function( d ) {
var spans = new Array();
d.forEach( function( t ) { spans.push( "<span>" + t + "</span>" ); } );
list.html( "Programs: " + spans.join( ",&nbsp; " ) );
var spans = $("#programs #list span");
spans.click( function( ev ) {
fetch( "/program/" + $(this).text(), function ( prog ) {
loadProgView( progInfo, prog );
progInfo.children().css( {
verticalAlign: "top",
margin: "5px",
} );
progInfo.css( {
overflowX: "auto",
overflowY: "auto",
} );
} );
} );
spans.mouseenter( function() { $(this).css( { textDecoration: "underline" } ); } );
spans.mouseleave( function() { $(this).css( { textDecoration: "none" } ); } );
} );
}
function loadShaderView( view, shd ) {
view.empty();
var shdProps = appendObjectItems( shd );
view.append( shdProps );
shdProps.css( {
overflowX: "auto",
overflowY: "auto",
fontSize: "80%",
fontFamily: "Courier New, Courier, monospace",
} );
var keys = shdProps.find(".key");
keys.css( {
color: "yellow",
} );
}
function createShaders() {
var shaders = $("#shaders");
var list = $('<div>', { id: "list", class: "ui-widget-header ui-corner-all" } );
list.css( { padding: "5px", } );
shaders.append( list );
var shdInfo = $('<div>', { id: "shdInfo" } );
shaders.append( shdInfo );
fetch( "/shader", function( d ) {
var spans = new Array();
d.forEach( function( t ) { spans.push( "<span>" + t + "</span>" ); } );
list.html( "Programs: " + spans.join( ",&nbsp; " ) );
var spans = $("#shaders #list span");
spans.click( function( ev ) {
fetch( "/shader/" + $(this).text(), function ( shd ) {
loadProgView( shdInfo, shd );
shdInfo.children().css( {
verticalAlign: "top",
margin: "5px",
} );
shdInfo.css( {
overflowX: "auto",
overflowY: "auto",
} );
} );
} );
spans.mouseenter( function() { $(this).css( { textDecoration: "underline" } ); } );
spans.mouseleave( function() { $(this).css( { textDecoration: "none" } ); } );
} );
}
function createGeneric( id ) {
var panel = $("#" + id);
panel.text( id );
}
function mainTabsBeforeActivate( event, ui ) {
if( ! ui.newPanel || ui.newPanel.children().length > 0 ) {
return;
}
var panel = ui.newPanel.attr("id");
var create = "create" + panel.charAt(0).toUpperCase() + panel.slice(1);
if( window.hasOwnProperty( create ) ) {
window[create]();
} else {
createGeneric( panel );
}
}
function createMainTab() {
var m = $('<div>', { id: "maintabs" } );
$(m).html(
"<ul>\n" +
" <li><a href=\"#debug\">debug</a></li>\n" +
" <li><a href=\"#programs\">programs</a></li>\n" +
" <li><a href=\"#shaders\">shaders</a></li>\n" +
" <li><a href=\"#textures\">textures</a></li>\n" +
" <li><a href=\"#buffers\">buffers</a></li>\n" +
"</ul>\n" +
"" +
"<div id=\"debug\"></div>\n" +
"<div id=\"programs\"></div>\n" +
"<div id=\"shaders\"></div>\n" +
"<div id=\"textures\"></div>\n" +
"<div id=\"buffers\"></div>\n" +
""
);
$("body").append(m);
m.on( "tabsbeforeactivate", mainTabsBeforeActivate );
createDebug();
m.tabs();
updateLogData();
$(window).resize( function() {
var log = $("#log")[0];
log.resizeMarginRight = 80;
if( log.resizeMarginRightTimeout ) {
clearTimeout( log.resizeMarginRightTimeout );
log.resizeMarginRightTimeout = 0;
}
log.resizeMarginRightTimeout = setTimeout( function() {
log.resizeMarginRight = 0;
log.resizeMarginRightTimeout = 0;
renderImage("color0");
}, 500 );
renderImage("color0");
} );
}

View file

@ -366,6 +366,9 @@ def apiFuncDefineCode(apis, args):
if function.needsContext:
c += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
c += listToString(indent(stripVertical(emuCodeGen(emue,'prefix')),' '))
c += ' #if REGAL_HTTP\n'
c += ' _context->http.callString = %s;\n' % logFunction( function, 'print_string' )
c += ' #endif\n'
c += ' %s\n' % logFunction( function, 'App' )
c += ' if (!_context) return'
if typeIsVoid(rType):
@ -431,7 +434,18 @@ def apiFuncDefineCode(apis, args):
c += listToString(indent(stripVertical(emuCodeGen(emue,'suffix')),' '))
else:
c += ' #if REGAL_HTTP\n'
c += ' {\n'
c += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
c += ' std::string params = %s\n' % logFunction( function, 'print_string', True, False, False, True)
c += ' if( _context ) {\n'
c += ' _context->http.callString = print_string( "%s", %s );\n' % ( function.name, 'params' )
c += ' }\n'
c += ' App( "%s", %s );\n' % (function.name, 'params')
c += ' }\n'
c += ' #else\n'
c += ' %s\n' % logFunction(function, 'App' )
c += ' #endif\n'
c += listToString(indent(stripVertical(emuCodeGen(emue,'prefix')),' '))
if not getattr(function,'regalOnly',False):
@ -787,6 +801,7 @@ REGAL_GLOBAL_BEGIN
using namespace REGAL_NAMESPACE_INTERNAL;
using namespace ::REGAL_NAMESPACE_INTERNAL::Logging;
using namespace ::REGAL_NAMESPACE_INTERNAL::Token;
using namespace boost::print;
extern "C" {

View file

@ -46,46 +46,46 @@ from EmuPixelTransfer import xferFormulae
# Regal.cpp emulation
emuRegal = [
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : initFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : initFormulaeGlobal },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : contextShareFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : contextStateFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : getStringFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : forceCoreFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : lookupFormulae },
{ 'type' : 'Marker', 'include' : 'RegalMarker.h', 'member' : 'marker', 'conditional' : None, 'ifdef' : None, 'formulae' : markerFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : markerFormulaeGlobal },
{ 'type' : 'Frame', 'include' : 'RegalFrame.h', 'member' : 'frame', 'conditional' : None, 'ifdef' : 'REGAL_FRAME', 'formulae' : frameFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : 'REGAL_FRAME', 'formulae' : frameFormulaeGlobal },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : extensionQueryFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : procAddressFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : errorStringFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : logFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : enableFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : cacheFormulaeGlobal },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : initFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : initFormulaeGlobal },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : contextShareFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : contextStateFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : getStringFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : forceCoreFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : lookupFormulae },
{ 'type' : 'Marker', 'include' : 'RegalMarker.h', 'member' : 'marker', 'suffix' : None, 'ifdef' : None, 'formulae' : markerFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : markerFormulaeGlobal },
{ 'type' : 'Frame', 'include' : 'RegalFrame.h', 'member' : 'frame', 'suffix' : None, 'ifdef' : 'REGAL_FRAME', 'formulae' : frameFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : 'REGAL_FRAME', 'formulae' : frameFormulaeGlobal },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : extensionQueryFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : procAddressFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : errorStringFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : logFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : enableFormulae },
{ 'type' : None, 'include' : None, 'member' : None, 'suffix' : None, 'ifdef' : None, 'formulae' : cacheFormulaeGlobal },
]
# RegalDispatchEmu.cpp fixed-function emulation
emu = [
{ 'type' : 'Emu::Obj', 'include' : 'RegalObj.h', 'member' : 'obj', 'plugin' : False, 'forced' : 'Config::forceEmuObj || REGAL_FORCE_EMU_OBJ', 'conditional' : 'Config::enableEmuObj ', 'ifdef' : 'REGAL_EMU_OBJ', 'formulae' : objFormulae },
{ 'type' : 'Emu::Hint', 'include' : 'RegalHint.h', 'member' : 'hint', 'plugin' : False, 'forced' : 'Config::forceEmuHint || REGAL_FORCE_EMU_HINT', 'conditional' : 'Config::enableEmuHint ', 'ifdef' : 'REGAL_EMU_HINT', 'formulae' : hintFormulae },
{ 'type' : 'Emu::Ppa', 'include' : 'RegalPpa.h', 'member' : 'ppa', 'plugin' : False, 'forced' : 'Config::forceEmuPpa || REGAL_FORCE_EMU_PPA', 'conditional' : 'Config::enableEmuPpa ', 'ifdef' : 'REGAL_EMU_PPA', 'formulae' : ppaFormulae },
{ 'type' : 'Emu::Ppca', 'include' : 'RegalPpca.h', 'member' : 'ppca', 'plugin' : False, 'forced' : 'Config::forceEmuPpca || REGAL_FORCE_EMU_PPCA', 'conditional' : 'Config::enableEmuPpca ', 'ifdef' : 'REGAL_EMU_PPCA', 'formulae' : ppcaFormulae },
{ 'type' : 'Emu::Bin', 'include' : 'RegalBin.h', 'member' : 'bin', 'plugin' : False, 'forced' : 'Config::forceEmuBin || REGAL_FORCE_EMU_BIN', 'conditional' : 'Config::enableEmuBin ', 'ifdef' : 'REGAL_EMU_BIN', 'formulae' : binFormulae },
{ 'type' : 'Emu::Xfer', 'include' : 'RegalXfer.h', 'member' : 'xfer', 'plugin' : False, 'forced' : 'Config::forceEmuXfer || REGAL_FORCE_EMU_XFER', 'conditional' : 'Config::enableEmuXfer ', 'ifdef' : 'REGAL_EMU_XFER', 'formulae' : xferFormulae },
{ 'type' : 'Emu::TexSto', 'include' : 'RegalTexSto.h', 'member' : 'texsto', 'plugin' : False, 'forced' : 'Config::forceEmuTexSto || REGAL_FORCE_EMU_TEXSTO', 'conditional' : 'Config::enableEmuTexSto ', 'ifdef' : 'REGAL_EMU_TEXSTO', 'formulae' : texstoFormulae },
{ 'type' : 'Emu::BaseVertex', 'include' : 'RegalBaseVertex.h', 'member' : 'bv', 'plugin' : False, 'forced' : 'Config::forceEmuBaseVertex || REGAL_FORCE_EMU_BASEVERTEX', 'conditional' : 'Config::enableEmuBaseVertex', 'ifdef' : 'REGAL_EMU_BASEVERTEX', 'formulae' : baseVertexFormulae },
{ 'type' : 'Emu::Rect', 'include' : 'RegalRect.h', 'member' : 'rect', 'plugin' : False, 'forced' : 'Config::forceEmuRect || REGAL_FORCE_EMU_RECT', 'conditional' : 'Config::enableEmuRect ', 'ifdef' : 'REGAL_EMU_RECT', 'formulae' : rectFormulae },
{ 'type' : 'Emu::Iff', 'include' : 'RegalIff.h', 'member' : 'iff', 'plugin' : False, 'forced' : 'Config::forceEmuIff || REGAL_FORCE_EMU_IFF', 'conditional' : 'Config::enableEmuIff ', 'ifdef' : 'REGAL_EMU_IFF', 'formulae' : iffFormulae },
{ 'type' : 'Emu::Quads', 'include' : 'RegalQuads.h', 'member' : 'quads', 'plugin' : False, 'forced' : 'Config::forceEmuQuads || REGAL_FORCE_EMU_QUADS', 'conditional' : 'Config::enableEmuQuads ', 'ifdef' : 'REGAL_EMU_QUADS', 'formulae' : quadsFormulae },
{ 'type' : 'Emu::So', 'include' : 'RegalSo.h', 'member' : 'so', 'plugin' : False, 'forced' : 'Config::forceEmuSo || REGAL_FORCE_EMU_SO', 'conditional' : 'Config::enableEmuSo ', 'ifdef' : 'REGAL_EMU_SO', 'formulae' : soFormulae },
{ 'type' : 'Emu::Dsa', 'include' : 'RegalDsa.h', 'member' : 'dsa', 'plugin' : False, 'forced' : 'Config::forceEmuDsa || REGAL_FORCE_EMU_OBJ', 'conditional' : 'Config::enableEmuDsa ', 'ifdef' : 'REGAL_EMU_DSA', 'formulae' : dsaFormulae },
{ 'type' : 'Emu::Vao', 'include' : 'RegalVao.h', 'member' : 'vao', 'plugin' : False, 'forced' : 'Config::forceEmuVao || REGAL_FORCE_EMU_DSA', 'conditional' : 'Config::enableEmuVao ', 'ifdef' : 'REGAL_EMU_VAO', 'formulae' : vaoFormulae },
{ 'type' : 'Emu::TexC', 'include' : 'RegalTexC.h', 'member' : 'texc', 'plugin' : False, 'forced' : 'Config::forceEmuTexC || REGAL_FORCE_EMU_TEXC', 'conditional' : 'Config::enableEmuTexC ', 'ifdef' : 'REGAL_EMU_TEXC', 'formulae' : texCFormulae },
{ 'type' : 'Emu::Filt', 'include' : 'RegalFilt.h', 'member' : 'filt', 'plugin' : False, 'forced' : 'Config::forceEmuFilter || REGAL_FORCE_EMU_FILTER', 'conditional' : 'Config::enableEmuFilter ', 'ifdef' : 'REGAL_EMU_FILTER', 'formulae' : filterFormulae },
{ 'type' : 'void', 'include' : None, 'member' : None, 'plugin' : False, 'forced' : None, 'conditional' : None, 'ifdef' : None, 'formulae' : None }
{ 'type' : 'Emu::Obj', 'include' : 'RegalObj.h', 'member' : 'obj', 'plugin' : False, 'suffix' : 'Obj', 'ifdef' : 'REGAL_EMU_OBJ', 'formulae' : objFormulae },
{ 'type' : 'Emu::Hint', 'include' : 'RegalHint.h', 'member' : 'hint', 'plugin' : False, 'suffix' : 'Hint', 'ifdef' : 'REGAL_EMU_HINT', 'formulae' : hintFormulae },
{ 'type' : 'Emu::Ppa', 'include' : 'RegalPpa.h', 'member' : 'ppa', 'plugin' : False, 'suffix' : 'Ppa', 'ifdef' : 'REGAL_EMU_PPA', 'formulae' : ppaFormulae },
{ 'type' : 'Emu::Ppca', 'include' : 'RegalPpca.h', 'member' : 'ppca', 'plugin' : False, 'suffix' : 'Ppca', 'ifdef' : 'REGAL_EMU_PPCA', 'formulae' : ppcaFormulae },
{ 'type' : 'Emu::Bin', 'include' : 'RegalBin.h', 'member' : 'bin', 'plugin' : False, 'suffix' : 'Bin', 'ifdef' : 'REGAL_EMU_BIN', 'formulae' : binFormulae },
{ 'type' : 'Emu::Xfer', 'include' : 'RegalXfer.h', 'member' : 'xfer', 'plugin' : False, 'suffix' : 'Xfer', 'ifdef' : 'REGAL_EMU_XFER', 'formulae' : xferFormulae },
{ 'type' : 'Emu::TexSto', 'include' : 'RegalTexSto.h', 'member' : 'texsto', 'plugin' : False, 'suffix' : 'TexSto', 'ifdef' : 'REGAL_EMU_TEXSTO', 'formulae' : texstoFormulae },
{ 'type' : 'Emu::BaseVertex', 'include' : 'RegalBaseVertex.h', 'member' : 'bv', 'plugin' : False, 'suffix' : 'BaseVertex', 'ifdef' : 'REGAL_EMU_BASEVERTEX', 'formulae' : baseVertexFormulae },
{ 'type' : 'Emu::Rect', 'include' : 'RegalRect.h', 'member' : 'rect', 'plugin' : False, 'suffix' : 'Rect', 'ifdef' : 'REGAL_EMU_RECT', 'formulae' : rectFormulae },
{ 'type' : 'Emu::Iff', 'include' : 'RegalIff.h', 'member' : 'iff', 'plugin' : False, 'suffix' : 'Iff', 'ifdef' : 'REGAL_EMU_IFF', 'formulae' : iffFormulae },
{ 'type' : 'Emu::Quads', 'include' : 'RegalQuads.h', 'member' : 'quads', 'plugin' : False, 'suffix' : 'Quads', 'ifdef' : 'REGAL_EMU_QUADS', 'formulae' : quadsFormulae },
{ 'type' : 'Emu::So', 'include' : 'RegalSo.h', 'member' : 'so', 'plugin' : False, 'suffix' : 'So', 'ifdef' : 'REGAL_EMU_SO', 'formulae' : soFormulae },
{ 'type' : 'Emu::Dsa', 'include' : 'RegalDsa.h', 'member' : 'dsa', 'plugin' : False, 'suffix' : 'Dsa', 'ifdef' : 'REGAL_EMU_DSA', 'formulae' : dsaFormulae },
{ 'type' : 'Emu::Vao', 'include' : 'RegalVao.h', 'member' : 'vao', 'plugin' : False, 'suffix' : 'Vao', 'ifdef' : 'REGAL_EMU_VAO', 'formulae' : vaoFormulae },
{ 'type' : 'Emu::TexC', 'include' : 'RegalTexC.h', 'member' : 'texc', 'plugin' : False, 'suffix' : 'TexC', 'ifdef' : 'REGAL_EMU_TEXC', 'formulae' : texCFormulae },
{ 'type' : 'Emu::Filt', 'include' : 'RegalFilt.h', 'member' : 'filt', 'plugin' : False, 'suffix' : 'Filter', 'ifdef' : 'REGAL_EMU_FILTER', 'formulae' : filterFormulae },
{ 'type' : 'void', 'include' : None, 'member' : None, 'plugin' : False, 'suffix' : None, 'ifdef' : None, 'formulae' : None }
]
contextHeaderTemplate = Template( '''${AUTOGENERATED}
@ -102,7 +102,9 @@ REGAL_GLOBAL_BEGIN
#include "RegalPrivate.h"
#include "RegalContextInfo.h"
#include "RegalDispatcherGL.h"
#include "RegalDispatcherGlobal.h"
#include "RegalDispatchError.h"
#include "RegalDispatchHttp.h"
#include "RegalScopedPtr.h"
#include "RegalSharedList.h"
@ -140,6 +142,11 @@ struct RegalContext
bool initialized;
DispatcherGL dispatcher;
DispatchErrorState err;
#if REGAL_HTTP
DispatchHttpState http;
#endif
scoped_ptr<DebugInfo> dbg;
scoped_ptr<ContextInfo> info;
scoped_ptr<EmuInfo> emuInfo;
@ -170,6 +177,11 @@ ${EMU_MEMBER_DECLARE}
GLXDrawable x11Drawable;
#endif
#if REGAL_SYS_WGL
HDC hdc;
HGLRC hglrc;
#endif
GLLOGPROCREGAL logCallback;
//
@ -183,10 +195,13 @@ ${EMU_MEMBER_DECLARE}
bool groupInitialized() const;
// Get any context in the share group that is
// already initialized
// The http and perhaps other threads need to be able brief, temporary access the context.
// parkContext() makes the calling thread release the context
// unparkContext() makes it current to the calling thread
void parkContext( DispatchTableGlobal & tbl );
void unparkContext( DispatchTableGlobal & tbl );
RegalContext *groupInitializedContext();
// For RegalDispatchCode
@ -225,10 +240,12 @@ REGAL_GLOBAL_BEGIN
#include "RegalConfig.h"
#include "RegalContext.h"
#include "RegalEmuInfo.h"
#include "RegalLayerInfo.h"
#include "RegalDebugInfo.h"
#include "RegalContextInfo.h"
#include "RegalStatistics.h"
${INCLUDES}#if REGAL_EMULATION
${EMU_INCLUDES}#endif
@ -261,6 +278,10 @@ ${EMU_MEMBER_CONSTRUCT}#endif
#endif
#if REGAL_SYS_GLX
x11Drawable(0),
#endif
#if REGAL_SYS_WGL
hdc(0),
hglrc(0),
#endif
logCallback(NULL),
#if REGAL_CODE
@ -313,69 +334,11 @@ RegalContext::Init()
${MEMBER_INIT}
#if REGAL_EMULATION
${EMULATION_FORCED}
if (!Config::forceEmulation)
{
// Disable ES 2.0 - specific layers, as necessary
if (!isES2())
{
enableEmuXfer = false;
enableEmuTexc = false;
}
// Disable emulated sampler objects, if possible
if (info->gl_arb_sampler_objects)
enableEmuSo = false;
#if REGAL_EMU_PATH
// Path rendering needs gp4 or gp5, for now
if (!info->gl_nv_gpu_program4 && !info->gl_nv_gpu_program5)
enableEmuPath = false;
// Disable emulated path rendering, if possible
if (info->gl_nv_path_rendering)
enableEmuPath = false;
#endif
// Disable emulated DSA, if possible
if (info->gl_ext_direct_state_access)
enableEmuDsa = false;
// Vao needs Iff
if (!enableEmuIff)
enableEmuVao = false;
// Disable emulated fixed-function, etc, for compatibility contexts
if (isCompat())
{
enableEmuObj = false;
enableEmuHint = false;
enableEmuPpa = false;
enableEmuPpca = false;
enableEmuBin = false;
enableEmuXfer = false;
enableEmuRect = false;
enableEmuIff = false;
}
}
${EMULATION_ENABLED}
// Enable emulation except for fully featured compatibility contexts
const bool enableEmulation = Config::enableEmulation && (isCore() || isES2() || (isCompat() && !info->gl_ext_direct_state_access));
#if !REGAL_FORCE_EMULATION
if (Config::forceEmulation || (enableEmulation && enableAnyEmu) || forceAnyEmu)
if (Config::enableEmulation || Config::forceEmulation)
#endif
{
${EMU_MEMBER_INIT}
@ -403,6 +366,10 @@ ${EMU_MEMBER_INIT}
}
#endif
#if REGAL_HTTP
http.Init( this );
#endif
initialized = true;
}
@ -452,37 +419,38 @@ RegalContext::groupInitialized() const
{
Internal("RegalContext::groupInitialized","()");
for (shared_list<RegalContext *>::const_iterator i = shareGroup.begin(); i!=shareGroup.end(); ++i)
{
RegalAssert(*i);
if ((*i)->initialized)
return true;
}
return false;
// The first context is always the first initialized context in the group.
return shareGroup->front()->initialized;
}
RegalContext *
RegalContext::groupInitializedContext()
void RegalContext::parkContext( DispatchTableGlobal & tbl )
{
Internal("RegalContext::groupInitializedContext","()");
#if REGAL_SYS_OSX
tbl.call(&tbl.CGLSetCurrentContext)( NULL );
#else
UNUSED_PARAMETER(tbl);
//<> # error "Implement me!"
#endif
#if REGAL_SYS_PPAPI
Init::makeCurrent(NULL,NULL);
#else
Init::makeCurrent(NULL);
#endif
}
// Look for any initialized context in the share group.
// The only way this would be expected to fail is if none
// of the contexts have been made current, triggering
// initialization.
//
// Note - linear search, but shouldn't need to look at too many
// contexts in the share group.
for (shared_list<RegalContext *>::iterator i = shareGroup.begin(); i!=shareGroup.end(); ++i)
{
RegalAssert(*i);
if ((*i)->initialized)
return *i;
}
return NULL;
void RegalContext::unparkContext( DispatchTableGlobal & tbl )
{
#if REGAL_SYS_OSX
tbl.call(&tbl.CGLSetCurrentContext)( reinterpret_cast<CGLContextObj>(sysCtx) );
#else
UNUSED_PARAMETER(tbl);
//<> # error "Implement me!"
#endif
#if REGAL_SYS_PPAPI
Init::makeCurrent(sysCtx,ppapiES2);
#else
Init::makeCurrent(sysCtx);
#endif
}
REGAL_NAMESPACE_END
@ -498,6 +466,7 @@ def generateContextHeader(apis, args):
emuForwardDeclare += 'struct %s;\n' % i['type']
emuMemberDeclare += wrapIf(i['ifdef'],' scoped_ptr<%-18s> %s;\n' % ( i['type'], i['member'] ))
emuForwardDeclare += '#if REGAL_EMULATION\n'
emuMemberDeclare += '#if REGAL_EMULATION\n'
@ -566,7 +535,6 @@ def generateContextSource(apis, args):
emuMemberInit = ''
emuMemberCleanup = ''
emulatedExtensions = []
emuEmulationForced = ''
emuEmulationEnabled = ''
for i in emuRegal:
@ -582,27 +550,14 @@ def generateContextSource(apis, args):
emuMemberInit += ' emuLevel = %d;\n' % ( len( emu ) - 1 )
emuMemberCleanup += ' // emu\n'
for api in apis:
for extension in api.extensions:
if len(extension.emulatedBy):
emulatedExtensions.append(extension)
for i in range( len( emu ) - 1 ) :
if emu[i]['member']:
emuMemberConstruct += ' %s(NULL),\n' % emu[i]['member']
forceEmu = 'forceEmu%s'%(capwords(emu[i]['member']))
enableEmu = 'enableEmu%s'%(capwords(emu[i]['member']))
emuEmulationForced += indent('const bool %-15s = %s;\n'%(forceEmu,emu[i]['forced']),' ')
emuEmulationForced += '\n'
for i in range( len( emu ) - 1 ) :
if emu[i]['include']:
emuIncludes += '#include "%s"\n' % emu[i]['include']
if emu[i]['member']:
forceEmu = 'forceEmu%s'%(capwords(emu[i]['member']))
enableEmu = 'enableEmu%s'%(capwords(emu[i]['member']))
emuEmulationForced += indent('bool %-15s = %-15s || (%s);\n'%(enableEmu,forceEmu,emu[i]['conditional'].strip()),' ')
cleanup = ''
cleanup += 'emuLevel = %d;\n' % ( int(emu[i]['level']) - 1)
cleanup += '%s->Cleanup(*this);\n' % emu[i]['member']
@ -612,40 +567,31 @@ def generateContextSource(apis, args):
revi = len( emu ) - 2 - i;
if emu[revi]['member']:
init = ''
if len(emu[revi]['ifdef']):
init += 'Info("Activating emulation layer %s");\n'%(emu[revi]['ifdef'])
init += addEmulatedExtensions(emulatedExtensions, emu[revi]['member'])
init = '{\n'
init += ' Emu::LayerInfo layer;\n'
init += ' Emu::Get%sLayerInfo( *this, layer );\n' % emu[revi]['suffix']
init += ' bool enable = false;\n'
emuMemberInit += indent(init,' ')
# Info logging of activated emulation layers
found = False
for extension in emulatedExtensions:
if extension.emulatedBy == emu[revi]['member']:
found = True
init = ''
init += 'if( Config::enableEmu%s ) {\n' % emu[revi]['suffix']
init += ' enable = layer.emulationSupported && ( layer.emulationNeeded || Config::forceEmu%s ); \n' % emu[revi]['suffix']
init += ' if( enable ) {\n'
if len(emu[revi]['ifdef']):
init += ' Info("Activating emulation layer %s");\n'%(emu[revi]['ifdef'])
init += ' %s = new %s;\n' % ( emu[revi]['member'], emu[revi]['type'] )
init += ' emuLevel = %d;\n' % ( int(emu[revi]['level']) - 1)
init += ' %s->Init(*this);\n' % emu[revi]['member']
init += ' }\n'
init += '}\n'
emuMemberInit += indent(wrapIf(emu[revi]['ifdef'], init),' ')
init += '%s = new %s;\n' % ( emu[revi]['member'], emu[revi]['type'] )
init += 'emuLevel = %d;\n' % ( int(emu[revi]['level']) - 1)
init += '%s->Init(*this);\n' % emu[revi]['member']
emuMemberInit += indent(wrapIf(emu[revi]['ifdef'],wrapCIf('enableEmu%s || forceEmu%s'%(capwords(emu[revi]['member']),capwords(emu[revi]['member'])),init)),' ')
# Force emulation layers
emuEmulationForced += '\n'
emuEmulationForced += ' const bool %-15s = '%('forceAnyEmu')
for i in range( len( emu ) - 1 ) :
if emu[i]['member']:
emuEmulationForced += '%s || '%'forceEmu%s'%(capwords(emu[i]['member']))
emuEmulationForced += 'false;\n'
# Enabled emulation layers
emuEmulationEnabled += ' bool %-15s = '%('enableAnyEmu')
for i in range( len( emu ) - 1 ) :
if emu[i]['member']:
emuEmulationEnabled += '%s || '%'enableEmu%s'%(capwords(emu[i]['member']))
emuEmulationEnabled += 'false;\n'
init = ''
init += ' Emu::Set%sEmuInfo( enable, this->emuInfo, layer );\n' % emu[revi]['suffix']
init += '}\n'
emuMemberInit += indent(init,' ')
emuMemberInit += ' emuLevel = %d;\n' % ( len( emu ) - 1 )
@ -664,7 +610,6 @@ def generateContextSource(apis, args):
substitute['EMU_MEMBER_CONSTRUCT'] = emuMemberConstruct
substitute['EMU_MEMBER_INIT'] = emuMemberInit
substitute['EMU_MEMBER_CLEANUP'] = emuMemberCleanup
substitute['EMULATION_FORCED'] = emuEmulationForced
substitute['EMULATION_ENABLED'] = emuEmulationEnabled
outputCode( '%s/RegalContext.cpp' % args.srcdir, contextSourceTemplate.substitute(substitute))

View file

@ -8,7 +8,7 @@ from ApiUtil import typeIsVoid
from ApiCodeGen import *
from RegalDispatchShared import dispatchSourceTemplate
from RegalDispatchLog import apiDispatchFuncInitCode
#from RegalDispatchLog import apiDispatchFuncInitCode
from RegalDispatchEmu import dispatchSourceTemplate
from RegalContextInfo import cond

View file

@ -0,0 +1,414 @@
#!/usr/bin/python -B
from string import Template, upper, replace
from ApiCodeGen import *
from ApiUtil import outputCode
from ApiUtil import typeIsVoid
from ApiUtil import typeIsVoidPointer
from ApiRegal import logFunction
from Dispatch import dispatchGenCode
from RegalContextInfo import cond
from RegalDispatchShared import apiDispatchFuncInitCode
from RegalDispatchShared import apiDispatchGlobalFuncInitCode
formulae = {
'bindtexture' : {
'entries' : [ 'glBindTexture(EXT|)' ],
'pre' : [
'#if REGAL_HTTP',
'if( ${arg1} != 0 ) {',
' HttpTextureInfo & hti = _context->http.texture[ ${arg1} ];',
' RegalAssert( hti.name == 0 || hti.name == ${arg1} );',
' if( hti.name == 0 ) {',
' hti.name = ${arg1};',
' hti.target = ${arg0};',
' }',
'}',
'#endif',
],
},
'bindmultitexture' : {
'entries' : [ 'glBindMultiTextureEXT' ],
'pre' : [
'#if REGAL_HTTP',
'if( ${arg2} != 0 ) {',
' HttpTextureInfo & hti = _context->http.texture[ ${arg2} ];',
' RegalAssert( hti.name == 0 || hti.name == ${arg2} );',
' if( hti.name == 0 ) {',
' hti.name = ${arg2};',
' hti.target = ${arg1};',
' }',
'}',
'#endif',
],
},
'bindtextures' : {
'entries' : [ 'glBindTextures' ],
'pre' : [
'#if REGAL_HTTP',
'if( ${arg2} != NULL ) {',
' for( int i = 0; i < ${arg1}; i++ ) {',
' if( ${arg2}[i] != 0 ) {',
' HttpTextureInfo & hti = _context->http.texture[ ${arg2}[i] ];',
' RegalAssert( hti.name == 0 || hti.name == ${arg2}[i] );',
' if( hti.name == 0 ) {',
' hti.name = ${arg2}[i];',
' hti.target = ${arg0};',
' }',
' }',
' }',
'}',
'#endif',
],
},
'deletetextures' : {
'entries' : [ 'glDeleteTextures(EXT|)' ],
'pre' : [
'#if REGAL_HTTP',
'for( int i = 0; i < ${arg0}; i++ ) {',
' _context->http.texture.erase( ${arg1}[i] );',
'}',
'#endif',
],
},
'createshader' : {
'entries' : [ 'glCreateShader(ObjectARB|)' ],
'post' : [
'#if REGAL_HTTP',
'_context->http.shader.insert( ret );',
'#endif',
],
},
'deleteshader' : {
'entries' : [ 'glDeleteShader(ObjectARB|)' ],
'post' : [
'#if REGAL_HTTP',
'_context->http.shader.erase( ${arg0} );',
'#endif',
],
},
'createprogram' : {
'entries' : [ 'glCreateProgram(ObjectARB|)' ],
'post' : [
'#if REGAL_HTTP',
'_context->http.program.insert( ret );',
'#endif',
],
},
'deleteprogram' : {
'entries' : [ 'glDeleteProgram(ObjectARB|)' ],
'post' : [
'#if REGAL_HTTP',
'_context->http.program.erase( ${arg0} );',
'#endif',
],
},
'bindfbo' : {
'entries' : [ 'glBindFramebuffer(ARB|)' ],
'pre' : [
'#if REGAL_HTTP',
'_context->http.fbo[ ${arg1} ] = HttpFboInfo( ${arg1} );',
'_context->http.count.fbo++;',
'if( _context->http.runState == RS_NextFbo ) {',
' _context->http.runState = RS_Pause;',
'}',
'#endif',
],
'post' : [
'#if REGAL_HTTP',
'_context->http.count.lastFbo = _context->http.count.call;',
'#endif',
],
},
'deletefbos' : {
'entries' : [ 'glDeleteFramebufferss(EXT|)' ],
'pre' : [
'#if REGAL_HTTP',
'for( int i = 0; i < ${arg0}; i++ ) {',
' _context->http.fbo.erase( ${arg1}[i] );',
'}',
'#endif',
],
},
'pushdebuggroup' : {
'entries' : [ 'glPushDebugGroup', 'glPushGroupMarkerEXT' ],
'pre' : [
'#if REGAL_HTTP',
'_context->http.count.group++;',
'if( _context->http.runState == RS_NextGroup ) {',
' _context->http.runState = RS_Pause;',
'}',
'_context->http.debugGroupStackDepth++;',
'#endif',
],
'post' : [
'#if REGAL_HTTP',
'_context->http.count.lastGroup = _context->http.count.call;',
'#endif',
],
},
'popdebuggroup' : {
'entries' : [ 'glPopDebugGroup', 'glPopGroupMarkerEXT' ],
'post' : [
'#if REGAL_HTTP',
'DispatchHttpState &h = _context->http;',
'if( h.runState == RS_StepOutOfGroup || h.runState == RS_NextGroup ) {',
' h.runState = RS_Pause;',
'}',
'if( h.runState == RS_StepOverGroup && h.debugGroupStackDepth == h.stepOverGroupDepth ) {',
' h.runState = RS_Pause;',
'}',
'h.debugGroupStackDepth--;',
'#endif',
],
},
'draw' : {
'entries' : [ 'gl(Multi|)Draw(Arrays|Elements).*', ],
'pre' : [
'#if REGAL_HTTP',
'_context->http.count.draw++;',
'if( _context->http.runState == RS_NextDraw ) {',
' _context->http.runState = RS_Pause;',
'}',
'#endif',
],
'post' : [
'#if REGAL_HTTP',
'_context->http.count.lastDraw = _context->http.count.call;',
'#endif',
],
},
'begin' : {
'entries' : [ 'glBegin' ],
'pre' : [
'#if REGAL_HTTP',
'_context->http.count.draw++;',
'_context->http.inBeginEnd++;',
'if( _context->http.runState == RS_NextDraw ) {',
' _context->http.runState = RS_Pause;',
'}',
'#endif',
],
'post' : [
'#if REGAL_HTTP',
'_context->http.count.lastDraw = _context->http.count.call;',
'#endif',
],
},
'end' : {
'entries' : [ 'glEnd' ],
'post' : [
'#if REGAL_HTTP',
'_context->http.inBeginEnd--;',
'_context->http.YieldToHttpServer( _context, false /*second call, don\'t update log */ );',
'#endif',
],
},
'swap' : {
'entries' : [ '(glX|wgl|egl)SwapBuffers', 'CGLFlushDrawable' ],
'pre' : [
'#if REGAL_HTTP',
'_context->http.count.frame++;',
'switch( _context->http.runState ) {',
' case RS_Run:',
' break;',
' default:',
' _context->http.runState = RS_Pause;',
'}',
'#endif',
],
'post' : [
'#if REGAL_HTTP',
'_context->http.count.lastFrame = _context->http.count.call;',
'#endif',
],
},
}
# CodeGen for dispatch table init.
dispatchHttpTemplate = Template('''${AUTOGENERATED}
${LICENSE}
#include "pch.h" /* For MS precompiled header support */
#include "RegalUtil.h"
#if REGAL_HTTP
REGAL_GLOBAL_BEGIN
#include "RegalLog.h"
#include "RegalHttp.h"
#include "RegalPush.h"
#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;
REGAL_GLOBAL_END
REGAL_NAMESPACE_BEGIN
${API_FUNC_DEFINE}
void InitDispatchTableHttp(DispatchTableGL &tbl)
{
${API_GL_DISPATCH_INIT}
}
${API_GLOBAL_DISPATCH_INIT}
REGAL_NAMESPACE_END
#endif
''')
def generateDispatchHttp(apis, args):
# CodeGen for API functions.
code = ''
categoryPrev = None
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
name = function.name
params = paramsDefaultCode(function.parameters, True)
callParams = paramsNameCode(function.parameters)
rType = typeCode(function.ret.type)
rTypes = rType.strip()
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, 'http_', name, params)
generated = dispatchGenCode( function, formulae )
retInit = ''
if not typeIsVoid(rType):
if rTypes in api.defaults:
retInit += '%s' % ( api.defaults[rTypes] )
else:
if rType[-1]=='*' or typeIsVoidPointer(rType):
retInit += 'NULL'
else:
retInit += '(%s) 0' % ( rTypes )
if not typeIsVoid(rType):
code += ' %s ret = %s;\n' % (rType, retInit)
code += ' RegalContext *_context = REGAL_GET_CONTEXT();\n'
if function.needsContext:
code += ' RegalAssert( _context );\n'
code += ' if( _context ) {\n'
if generated and 'pre' in generated:
for i in generated['pre']:
code += ' %s\n' % i
code += '#if REGAL_HTTP\n'
code += ' if( _context->http.runState == RS_Next ) {\n'
code += ' _context->http.runState = RS_Pause;\n'
code += ' }\n'
code += ' _context->http.YieldToHttpServer( _context );\n'
code += '#endif\n'
code += ' }\n'
code += '#if REGAL_HTTP\n'
if function.needsContext:
code += ' DispatchTableGL *_next = _context ? _context->dispatcher.http.next() : NULL;\n'
else:
code += ' DispatchTableGlobal *_next = dispatcherGlobal.http.next();\n'
code += ' RegalAssert(_next);\n'
code += ' '
if not typeIsVoid(rType):
code += 'ret = '
code += '_next->call(&_next->%s)(%s);\n' % ( name, callParams )
code += '#endif\n'
if generated and 'post' in generated:
code += ' if( _context ) {\n'
for i in generated['post']:
code += ' %s\n' % i
code += ' }\n'
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'
# Output
substitute = {}
substitute['LICENSE'] = args.license
substitute['AUTOGENERATED'] = args.generated
substitute['COPYRIGHT'] = args.copyright
substitute['API_FUNC_DEFINE'] = code
substitute['API_GL_DISPATCH_INIT'] = apiDispatchFuncInitCode( apis, args, 'http' )
substitute['API_GLOBAL_DISPATCH_INIT'] = apiDispatchGlobalFuncInitCode( apis, args, 'http' )
outputCode( '%s/RegalDispatchHttp.cpp' % args.srcdir, dispatchHttpTemplate.substitute(substitute))

View file

@ -68,7 +68,6 @@ exclude = [
'GL_NV_blend_equation_advanced_coherent',
'GL_NV_copy_buffer',
'GL_NV_non_square_matrices',
'GL_NV_vdpau_interop',
'GL_OES_single_precision',

View file

@ -794,7 +794,7 @@ def groupToStringCodeGen(apis, group, name, default = 'NULL', type = 'GLenum', f
enums = sorted(enums,key=lambda k : k.value)
for k in enums:
for l in k.alias:
tmp.append(' case \'%s\':'%(l))
tmp.append(' case \'%s\':'%(l))
tmp.append(' case %s: return "%s";'%(hexValue(k.value,format),k.name))
tmp.append(' default: break;')
tmp.append(' }')
@ -852,7 +852,7 @@ def generateTokenSource(apis, args):
# NV_path_rendering related
code.extend(groupToStringCodeGen(apis,'pathCoord', 'GLpathCoordToString', 'unknown'))
code.extend(groupToStringCodeGen(apis,'pathCoord', 'GLpathCoordToString', 'unknown'))
code.extend(groupToStringCodeGen(apis,'pathCommand', 'GLpathCommandToString', 'unknown', 'GLubyte', '0x%02x'))
# GLerrorToString

View file

@ -10,6 +10,7 @@ The following discussion assumes that tracing library is copied to '/data':
adb push /path/to/apitrace/build/wrappers/egltrace.so /data
Tracing on Android 4.0 and newer
--------------------------------
@ -21,12 +22,14 @@ Obtain the process name of the application to be traced (the one reported in
`ps` output, such as `com.android.settings`), and set two system properties:
PROCNAME=com.android.settings
adb root
adb shell setprop wrap.$PROCNAME LD_PRELOAD=/data/egltrace.so
adb shell setprop debug.apitrace.procname $PROCNAME
(the former is read by Dalvik and specifies wrapping prefix, the latter is
read by apitrace itself and used in case apitrace is preloaded into Java VM
globally to specify which process should be traced).
globally to specify which process should be traced). Elevating priviliges
via `adb root` is required to set the first property.
Make sure the process is not loaded before starting to trace it, for example
use `-S` flag to `am start`:
@ -34,38 +37,19 @@ use `-S` flag to `am start`:
adb shell am start -S $PROCNAME
Use `adb logcat \*:S apitrace` to examine apitrace debug output. Trace files
are saved into '/data/' directory by default:
are saved into '/data/data/$PROCNAME' directory by default:
adb pull /data/$PROCNAME.trace
adb shell rm /data/$PROCNAME.trace
(you need to `chmod 0777 /data` beforehand).
adb pull /data/data/$PROCNAME/$PROCNAME.trace
adb shell rm /data/data/$PROCNAME/$PROCNAME.trace
Injecting tracing library globally
----------------------------------
Tracing on Android pre-4.0
--------------------------
If `LD_PRELOAD` is supported (Android 2.3 "Gingerbread" and newer), it is
possible to inject `egltrace.so` into the resident Java VM, in which case
`debug.apitrace.procname` system propery is used to control for which process
tracing will be active.
`LD_PRELOAD` is supported since Android 2.3 "Gingerbread" and newer, but
injecting tracing library globally is no longer supported, as the
`debug.apitrace.procname` system propery is no longer honored.
Restarting 'zygote' (Java VM) service is not straightforward, since '/init.rc'
is read only once at system bootup, and restored from the recovery image on
reboots. Thus, you either need to augment '/init.rc' in the recovery image
with `setenv LD_PRELOAD /data/egltrace.so` in `service zygote` section, or you
can use a tool such as
[adjust-child-env](https://github.com/amonakov/adjust-child-env) to restart
the service with modified environment.
Put `adjust-child-env` and a script with the following contents into `/data`:
stop zygote
/data/adjust-child-env 1 /system/bin/app_process LD_PRELOAD=/data/egltrace.so &
sleep 1
start zygote
The scripts restarts the Java VM ('zygote') with modified environment.
Invoke the script with `adb shell` to prepare for tracing, and then follow the
Android 4.0 directions.
Consider checking out an
[older commit](https://github.com/apitrace/apitrace/commit/888112983ef9564b3a9d15699faa17c337d3942b)
if you need to trace on Android pre-4.0.

View file

@ -96,6 +96,7 @@ Several tools take `CALLSET` arguments, e.g:
apitrace dump --calls=CALLSET foo.trace
apitrace dump-images --calls=CALLSET foo.trace
apitrace trim --calls=CALLSET1 --calls=CALLSET2 foo.trace
The call syntax is very flexible. Here are a few examples:
@ -234,6 +235,10 @@ through the following extensions:
* [`GL_ARB_debug_output`](http://www.opengl.org/registry/specs/ARB/debug_output.txt)
* [`GL_EXT_debug_marker`](http://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt)
* [`GL_EXT_debug_label`](http://www.opengl.org/registry/specs/EXT/EXT_debug_label.txt)
* [`GL_AMD_debug_output`](http://www.opengl.org/registry/specs/AMD/debug_output.txt)
* [`GL_GREMEDY_string_marker`](http://www.opengl.org/registry/specs/GREMEDY/string_marker.txt)

View file

@ -47,12 +47,6 @@
#endif
#endif /* !_WIN32 */
/* Implement os::log by default, opt-out with -DTRACE_OS_LOG=0 */
#ifndef TRACE_OS_LOG
#define TRACE_OS_LOG 1
#endif
namespace os {
void log(const char *format, ...)

View file

@ -80,7 +80,16 @@ getProcessName(void)
len = strlen(buf);
#else
ssize_t len;
#ifdef ANDROID
// On Android, we are almost always interested in the actual process title
// rather than path to the VM kick-off executable
// (/system/bin/app_process).
len = 0;
#else
len = readlink("/proc/self/exe", buf, size - 1);
#endif
if (len <= 0) {
// /proc/self/exe is not available on setuid processes, so fallback to
// /proc/self/cmdline.

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