diff options
Diffstat (limited to 'make')
23 files changed, 446 insertions, 233 deletions
diff --git a/make/build-common.xml b/make/build-common.xml index a13ccefe5..876aa27ce 100644 --- a/make/build-common.xml +++ b/make/build-common.xml @@ -168,17 +168,15 @@ <property name="build.newt" value="${build}/newt" /> <property name="obj.newt" value="${build.newt}/obj"/> - <property name="junit.make" value="." /> - <property name="junit.build.xml" value="${junit.make}/build-junit.xml" /> - <property name="results.junit" value="${build}/test/results" /> - <property name="build.junit" value="${build}/test/build" /> - <property name="obj.junit" value="${build.junit}/obj"/> + <property name="results.test" value="${build}/test/results" /> + <property name="build.test" value="${build}/test/build" /> + <property name="obj.test" value="${build.test}/obj"/> <condition property="obj.custom" value="${custom.libdir}${path.separator}" else=""> <isset property="custom.libdir"/> </condition> - <property name="obj.all.paths" value="${obj.custom}${obj.gluegen}${path.separator}${obj.nativewindow}${path.separator}${obj.jogl}${path.separator}${obj.newt}${path.separator}${obj.junit}" /> + <property name="obj.all.paths" value="${obj.custom}${obj.gluegen}${path.separator}${obj.nativewindow}${path.separator}${obj.jogl}${path.separator}${obj.newt}${path.separator}${obj.test}" /> <path id="gluegen.classpath"> <pathelement location="${gluegen.jar}" /> @@ -283,6 +281,9 @@ <pathelement location="${newt.all.jar}" /> <pathelement location="${jogl.test.jar}" /> </path> + <property name="junit_jogl_newt_awt.run.jars" + value="${junit.jar}${path.separator}${ant.jar}${path.separator}${ant-junit.jar}${path.separator}${gluegen-rt.jar}${path.separator}${nativewindow.all.jar}${path.separator}${jogl.all.jar}${path.separator}${newt.all.jar}${path.separator}${jogl.test.jar}"/> + <path id="jogl_newt_all-noawt.classpath"> <pathelement location="${gluegen-rt.jar}" /> @@ -322,7 +323,7 @@ <property name="nativewindow.core.jar" value="${build.nativewindow}/nativewindow.core.jar" /> <property name="nativewindow.awt.jar" value="${build.nativewindow}/nativewindow.awt.jar" /> <property name="nativewindow.os.x11.jar" value="${build.nativewindow}/nativewindow.os.x11.jar" /> - <property name="nativewindow.os.windows.jar" value="${build.nativewindow}/nativewindow.os.windows.jar" /> + <property name="nativewindow.os.win.jar" value="${build.nativewindow}/nativewindow.os.win.jar" /> <property name="jogl.core.jar" value="${build.jogl}/jogl.core.jar" /> <property name="jogl.cg.jar" value="${build.jogl}/jogl.cg.jar" /> @@ -357,13 +358,13 @@ <property name="newt.os.win.jar" value="${build.newt}/newt.os.win.jar" /> <property name="newt.os.osx.jar" value="${build.newt}/newt.os.osx.jar" /> <property name="newt.ogl.jar" value="${build.newt}/newt.ogl.jar" /> - <property name="newt.broadcomegl.jar" value="${build.newt}/newt.broadcomegl.jar" /> - <property name="newt.intelgdl.jar" value="${build.newt}/newt.intelgdl.jar" /> + <property name="newt.hw.broadcomegl.jar" value="${build.newt}/newt.hw.broadcomegl.jar" /> + <property name="newt.hw.intelgdl.jar" value="${build.newt}/newt.hw.intelgdl.jar" /> <!-- Atomic CDC JARS --> <property name="nativewindow.core.cdc.jar" value="${build.nativewindow}/nativewindow.core.cdc.jar" /> <property name="nativewindow.os.x11.cdc.jar" value="${build.nativewindow}/nativewindow.os.x11.cdc.jar" /> - <property name="nativewindow.os.windows.cdc.jar" value="${build.nativewindow}/nativewindow.os.windows.cdc.jar" /> + <property name="nativewindow.os.win.cdc.jar" value="${build.nativewindow}/nativewindow.os.win.cdc.jar" /> <property name="jogl.core.cdc.jar" value="${build.jogl}/jogl.core.cdc.jar" /> <property name="jogl.gles1.cdc.jar" value="${build.jogl}/jogl.gles1.cdc.jar" /> @@ -384,8 +385,8 @@ <property name="newt.os.win.cdc.jar" value="${build.newt}/newt.os.win.cdc.jar" /> <property name="newt.os.osx.cdc.jar" value="${build.newt}/newt.os.osx.cdc.jar" /> <property name="newt.ogl.cdc.jar" value="${build.newt}/newt.ogl.cdc.jar" /> - <property name="newt.broadcomegl.cdc.jar" value="${build.newt}/newt.broadcomegl.cdc.jar" /> - <property name="newt.intelgdl.cdc.jar" value="${build.newt}/newt.intelgdl.cdc.jar" /> + <property name="newt.hw.broadcomegl.cdc.jar" value="${build.newt}/newt.hw.broadcomegl.cdc.jar" /> + <property name="newt.hw.intelgdl.cdc.jar" value="${build.newt}/newt.hw.intelgdl.cdc.jar" /> <!-- The location and name of the configuration ANT file that will - validate to ensure that all user-define variables are set. --> @@ -402,14 +403,7 @@ <!-- Run the GlueGen build to ensure that the GlueGen ANT task - has been built. --> - <!-- FIXME: remove passing down of antlr.jar when gluegen.properties is on all - nightly build machines --> - <ant antfile="${gluegen.build.xml}" dir="${gluegen.make}" target="all" inheritAll="false"> - <propertyset> - <propertyref name="antlr.jar" /> - <!--propertyref name="gluegen.nsig" /--> - </propertyset> - </ant> + <ant antfile="${gluegen.build.xml}" dir="${gluegen.make}" target="base.compile" inheritAll="false"/> </target> diff --git a/make/build-nativewindow.xml b/make/build-nativewindow.xml index 432646841..be8f6a7a2 100644 --- a/make/build-nativewindow.xml +++ b/make/build-nativewindow.xml @@ -560,14 +560,16 @@ </patternset> <patternset id="c.src.files.x11"> - <include name="${rootrel.generated.c}/X11/X11*.c" if="isX11"/> - <include name="${rootrel.src.c}/x11/Xmisc.c" if="isX11"/> - <include name="${rootrel.src.c}/x11/XineramaHelper.c" if="isX11"/> + <include name="${rootrel.generated.c}/X11/X11*.c"/> + <include name="${rootrel.src.c}/x11/Xmisc.c"/> + <include name="${rootrel.src.c}/x11/XineramaHelper.c"/> + <include name="${rootrel.src.c}/NativewindowCommon.c"/> </patternset> <patternset id="c.src.files.windows"> - <include name="${rootrel.generated.c}/Windows/GDI*.c" if="isWindows"/> - <include name="${rootrel.src.c}/windows/GDImisc.c" if="isWindows"/> + <include name="${rootrel.generated.c}/Windows/GDI*.c"/> + <include name="${rootrel.src.c}/windows/GDImisc.c"/> + <include name="${rootrel.src.c}/NativewindowCommon.c"/> </patternset> <echo message="Compiling @{output.lib.name}" /> @@ -591,6 +593,7 @@ <includepath path="${src.generated.c}/X11" if="isX11"/> <includepath path="${src.generated.c}/MacOSX" if="isOSX"/> <includepath path="${src.generated.c}/Windows" if="isWindows"/> + <includepath path="${src.c}"/> <!-- This must come last to not override real include paths --> <!-- includepath path="stub_includes/macosx" if="isOSX" / --> @@ -731,13 +734,13 @@ </target> <target name="build-jars-windows" depends="setup-manifestfile"> - <jar manifest="tempversion" destfile="${nativewindow.os.windows.jar}" filesonly="true"> + <jar manifest="tempversion" destfile="${nativewindow.os.win.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.windows}" /> </jar> </target> <target name="build-jars-windows-cdc" depends="setup-manifestfile-cdc"> - <jar manifest="tempversion-cdc" destfile="${nativewindow.os.windows.cdc.jar}" filesonly="true"> + <jar manifest="tempversion-cdc" destfile="${nativewindow.os.win.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.windows}" /> </jar> diff --git a/make/build-newt.xml b/make/build-newt.xml index 7f33f9c2a..3487da217 100644 --- a/make/build-newt.xml +++ b/make/build-newt.xml @@ -90,7 +90,7 @@ value="com/jogamp/newt/*, com/jogamp/newt/event/*, com/jogamp/newt/util/*, com/jogamp/newt/impl/*, com/jogamp/newt/impl/event/*"/> <property name="java.part.awt" - value="com/jogamp/newt/impl/awt/*, com/jogamp/newt/awt/*, com/jogamp/newt/event/awt/*"/> + value="com/jogamp/newt/awt/*, com/jogamp/newt/event/awt/*, com/jogamp/newt/impl/awt/**"/> <property name="java.part.x11" value="com/jogamp/newt/impl/x11/*"/> @@ -609,14 +609,14 @@ <fileset dir="${classes}" includes="${java.part.opengl}"/> </jar> - <jar manifest="tempversion" destfile="${newt.broadcomegl.jar}" filesonly="true"> + <jar manifest="tempversion" destfile="${newt.hw.broadcomegl.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.broadcomegl}"/> </jar> </target> <target name="build-jars-driver" depends="setup-manifestfile"> - <jar manifest="tempversion" destfile="${newt.intelgdl.jar}" filesonly="true"> + <jar manifest="tempversion" destfile="${newt.hw.intelgdl.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.intelgdl}"/> </jar> @@ -627,14 +627,14 @@ <fileset dir="${classes-cdc}" includes="${java.part.opengl}"/> </jar> - <jar manifest="tempversion-cdc" destfile="${newt.broadcomegl.cdc.jar}" filesonly="true"> + <jar manifest="tempversion-cdc" destfile="${newt.hw.broadcomegl.cdc.jar}" filesonly="true"> <fileset dir="${classes-cdc}" includes="${java.part.broadcomegl}"/> </jar> </target> <target name="build-jars-driver-cdc" depends="setup-manifestfile-cdc"> - <jar manifest="tempversion-cdc" destfile="${newt.intelgdl.cdc.jar}" filesonly="true"> + <jar manifest="tempversion-cdc" destfile="${newt.hw.intelgdl.cdc.jar}" filesonly="true"> <fileset dir="${classes}" includes="${java.part.intelgdl}"/> </jar> diff --git a/make/build-junit.xml b/make/build-test.xml index a271ac09e..b51e2e6c3 100644 --- a/make/build-junit.xml +++ b/make/build-test.xml @@ -15,50 +15,55 @@ - Declare all paths and user defined variables. --> <target name="declare.common" description="Declare properties" depends="common.init"> - <property name="rootrel.src.junit" value="src/junit" /> - <property name="src.junit" value="${project.root}/${rootrel.src.junit}" /> + <property name="rootrel.src.test" value="src/test" /> + <property name="src.test" value="${project.root}/${rootrel.src.test}" /> - <property name="classes" value="${build.junit}/classes" /> + <property name="classes" value="${build.test}/classes" /> <property name="classes.path" location="${classes}"/> <!-- absolute path --> - <property name="java.dir.test" value="com/jogamp/test"/> - <property name="java.part.test" value="${java.dir.test}/**"/> + <property name="java.part.test" value="com/jogamp/**"/> + <property name="java.dir.test" value="com/jogamp/opengl/test"/> + <property name="java.dir.junit" value="${java.dir.test}/junit"/> + <property name="java.dir.bugs" value="${java.dir.test}/bugs"/> - <property name="batchtest.timeout" value="1800000"/> <!-- 30 min --> + <property name="test.archive.name" value="${archive.name}-test-results"/> + <condition property="jvmarg.newt.headless" value="-XstartOnFirstThread -Djava.awt.headless=true"><isset property="isOSX"/></condition> + <condition property="jvmarg.newt.headless" value="-Djava.awt.headless=true"><not><isset property="isOSX"/></not></condition> + <property name="batchtest.timeout" value="1800000"/> <!-- 30 min --> </target> <!-- ================================================================== --> - <!-- - - Initialize all parameters required for the build and create any - - required directories. - --> - <target name="init" depends="declare.common"> - <!-- Create the required output directories. --> - <mkdir dir="${obj.junit}" /> - <mkdir dir="${classes}" /> - </target> - - <!-- ================================================================== --> <!-- - Clean up all that is built. --> <target name="clean" description="Remove all build products" depends="declare.common"> <delete includeEmptyDirs="true" quiet="true"> - <fileset dir="${build.junit}" /> + <fileset dir="${build.test}" /> </delete> </target> <!-- ================================================================== --> <!-- - - Build/run junit. + - Build/run tests/junit. --> - <target name="junit.compile.check" depends="init"> + <target name="test.compile.check" depends="declare.common"> + <!-- Create the required output directories. --> + <mkdir dir="${obj.test}" /> + <mkdir dir="${classes}" /> + + <!-- Clean the results --> + <delete quiet="true"> + <fileset dir="${results.test}" includes="**"/> + <fileset file="${build}/${test.archive.name}.zip"/> + </delete> + <mkdir dir="${results.test}" /> + <property name="jogl.test.jar.path" location="${jogl.test.jar}"/> <!-- absolute path --> <echo message="jogl.test.jar ${jogl.test.jar.path}"/> - <uptodate property="junit.compile.skip"> + <uptodate property="test.compile.skip"> <srcfiles dir= "." includes="*.xml"/> - <srcfiles dir= "${src.junit}" includes="**"/> + <srcfiles dir= "${src.test}" includes="**"/> <srcfiles file="${nativewindow.all.jar}" /> <srcfiles file="${jogl.all.jar}" /> <srcfiles file="${newt.all.jar}" /> @@ -67,7 +72,7 @@ </uptodate> </target> - <target name="junit.compile" depends="junit.compile.check" unless="junit.compile.skip"> + <target name="test.compile" depends="test.compile.check" unless="test.compile.skip"> <!-- Perform the junit pass Java compile --> <javac destdir="${classes}" source="${host.sourcelevel}" @@ -76,7 +81,7 @@ includeAntRuntime="false" debug="${javacdebug}" debuglevel="${javacdebuglevel}"> <classpath refid="junit_jogl_newt.compile.classpath"/> - <src path="${src.junit}" /> + <src path="${src.test}" /> </javac> <delete includeEmptyDirs="true" quiet="true"> <fileset file="${jogl.test.jar}" /> @@ -88,18 +93,84 @@ </jar> </target> - <target name="junit.run.setup" depends="junit.compile"> - <mkdir dir="${results.junit}" /> - <delete quiet="true"> - <fileset dir="${results.junit}" includes="**"/> - </delete> + <target name="test.manual.run" depends="test.compile"> + <for param="test.class.path.m" keepgoing="true"> + <!-- results in absolute path --> + <fileset dir="${classes}"> + <include name="${java.dir.bugs}/**/*Test*"/> + <exclude name="**/*$$*"/> + </fileset> + <sequential> + <var name="test.class.path" unset="true"/> + <property name="test.class.path" basedir="${classes}" relative="true" location="@{test.class.path.m}"/> + <var name="test.class.fqn" unset="true"/> + <pathconvert property="test.class.fqn"> + <fileset file="${classes}${file.separator}${test.class.path}"/> + <chainedmapper> + <globmapper from="${classes.path}${file.separator}*" to="*"/> <!-- rel. --> + <packagemapper from="*.class" to="*"/> <!-- FQCN --> + </chainedmapper> + </pathconvert> + <var name="test.class.result.file" value="${results.test}/TEST-${test.class.fqn}.log"/> + <echo message="Testing ${test.class.fqn} -- ${test.class.result.file}"/> + <apply dir="." executable="${java.home}/bin/java" + parallel="false" + timeout="${batchtest.timeout}" + vmlauncher="false" + relative="true" + failonerror="false" + output="${test.class.result.file}"> + <env key="${system.env.library.path}" path="${obj.all.paths}"/> + <env key="CLASSPATH" value="${junit_jogl_newt_awt.run.jars}"/> + <arg value="-Djava.library.path=${obj.all.paths}"/> + <!-- + <arg line="-Dnewt.debug.EDT"/> + --> + <srcfile/> + <mappedresources> + <fileset dir="${classes}" includes="${test.class.path}"/> + <packagemapper from="*.class" to="*"/> + </mappedresources> + </apply> + </sequential> + </for> + <antcall target="test-zip-archive" inheritRefs="true" inheritAll="true"/> + </target> - <condition property="jvmarg.newt.headless" value="-XstartOnFirstThread -Djava.awt.headless=true"><isset property="isOSX"/></condition> - <condition property="jvmarg.newt.headless" value="-Djava.awt.headless=true"><not><isset property="isOSX"/></not></condition> + <target name="junit.run.noui" depends="test.compile"> + <!-- Test*NOUI* --> + <junit forkmode="perTest" showoutput="true" fork="true" haltonerror="off" timeout="${batchtest.timeout}"> + <env key="${system.env.library.path}" path="${obj.all.paths}"/> + <jvmarg value="-Djava.library.path=${obj.all.paths}"/> + + <!-- + <jvmarg value="-Djogl.debug=all"/> + <jvmarg value="-Dgluegen.debug.NativeLibrary=true"/> + <jvmarg value="-Dgluegen.debug.ProcAddressHelper=true"/> + <jvmarg value="-Djogl.debug.GLSLState"/> + <jvmarg value="-Dnativewindow.debug=all"/> + <jvmarg value="-verbose:jni"/> + <jvmarg value="-client"/> + <jvmarg value="-d32"/> + --> + + <formatter usefile="false" type="plain"/> + <formatter usefile="true" type="xml"/> + <classpath refid="junit_jogl_awt.run.classpath"/> + + <batchtest todir="${results.test}"> + <fileset dir="${classes}"> + <include name="${java.dir.junit}/**/Test*NOUI*"/> + <exclude name="**/*$$*"/> + </fileset> + <formatter usefile="false" type="brief"/> + <formatter usefile="true" type="xml"/> + </batchtest> + </junit> </target> <!-- NEWT is currently not supported on OSX --> - <target name="junit.run.newt.headless" depends="junit.run.setup" unless="isOSX"> + <target name="junit.run.newt.headless" depends="test.compile" unless="isOSX"> <!-- Test*NEWT* Emulation of junit task, @@ -110,7 +181,7 @@ <for param="test.class.path.m" keepgoing="true"> <!-- results in absolute path --> <fileset dir="${classes}"> - <include name="${java.dir.test}/**/Test*NEWT*"/> + <include name="${java.dir.junit}/**/Test*NEWT*"/> <exclude name="**/*$$*"/> </fileset> <sequential> @@ -124,7 +195,7 @@ <packagemapper from="*.class" to="*"/> <!-- FQCN --> </chainedmapper> </pathconvert> - <var name="test.class.result.file" value="${results.junit}/TEST-${test.class.fqn}.xml"/> + <var name="test.class.result.file" value="${results.test}/TEST-${test.class.fqn}.xml"/> <echo message="Testing ${test.class.fqn} -- ${test.class.result.file}"/> <apply dir="." executable="${java.home}/bin/java" parallel="false" @@ -165,7 +236,7 @@ if run in parallel. NEWT is currently not supported on OSX --> - <target name="junit.run.newt" depends="junit.run.setup" unless="isOSX"> + <target name="junit.run.newt" depends="test.compile" unless="isOSX"> <!-- Test*NEWT* --> <junit forkmode="perTest" showoutput="true" fork="true" haltonerror="off" timeout="${batchtest.timeout}"> <env key="${system.env.library.path}" path="${obj.all.paths}"/> @@ -188,9 +259,9 @@ <formatter usefile="true" type="xml"/> <classpath refid="junit_jogl_newt.run.classpath"/> - <batchtest todir="${results.junit}"> + <batchtest todir="${results.test}"> <fileset dir="${classes}"> - <include name="${java.dir.test}/**/Test*NEWT*"/> + <include name="${java.dir.junit}/**/Test*NEWT*"/> <exclude name="**/*$$*"/> </fileset> <formatter usefile="false" type="brief"/> @@ -199,7 +270,7 @@ </junit> </target> - <target name="junit.run.awt" depends="junit.run.setup"> + <target name="junit.run.awt" depends="test.compile"> <!-- Test*AWT* --> <junit forkmode="perTest" showoutput="true" fork="true" haltonerror="off" timeout="${batchtest.timeout}"> <env key="${system.env.library.path}" path="${obj.all.paths}"/> @@ -222,9 +293,9 @@ <formatter usefile="true" type="xml"/> <classpath refid="junit_jogl_awt.run.classpath"/> - <batchtest todir="${results.junit}"> + <batchtest todir="${results.test}"> <fileset dir="${classes}"> - <include name="${java.dir.test}/**/Test*AWT*"/> + <include name="${java.dir.junit}/**/Test*AWT*"/> <exclude name="**/*$$*"/> <exclude name="**/*SWT*"/> <exclude name="**/newt/**"/> @@ -271,7 +342,7 @@ </target> <!-- NEWT is currently not supported on OSX --> - <target name="junit.run.newt.awt" depends="junit.run.setup" unless="isOSX"> + <target name="junit.run.newt.awt" depends="test.compile" unless="isOSX"> <!-- Test*AWT* --> <junit forkmode="perTest" showoutput="true" fork="true" haltonerror="off" timeout="${batchtest.timeout}"> <env key="${system.env.library.path}" path="${obj.all.paths}"/> @@ -294,9 +365,9 @@ <formatter usefile="true" type="xml"/> <classpath refid="junit_jogl_newt_awt.run.classpath"/> - <batchtest todir="${results.junit}"> + <batchtest todir="${results.test}"> <fileset dir="${classes}"> - <include name="${java.dir.test}/**/newt/**/Test*AWT*"/> + <include name="${java.dir.junit}/**/newt/**/Test*AWT*"/> <exclude name="**/*$$*"/> </fileset> <formatter usefile="false" type="brief"/> @@ -305,12 +376,22 @@ </junit> </target> - <target name="junit.run" depends="junit.run.newt.headless,junit.run.awt,junit.run.newt.awt"/> + <target name="test.auto.run" depends="junit.run"/> + <target name="junit.run" depends="junit.run.noui,junit.run.newt.headless,junit.run.awt,junit.run.newt.awt"> + <antcall target="test-zip-archive" inheritRefs="true" inheritAll="true"/> + </target> + + <!-- updates / create the test results zip file --> + <target name="test-zip-archive" depends="declare.common"> + <zip destfile="${build}/${test.archive.name}.zip" update="true"> + <zipfileset dir="${results.test}" prefix="${archive.name}/test-results"/> + </zip> + </target> <!-- ================================================================== --> <!-- - Build everything. --> - <target name="all" description="Build JOGL JUNIT tests and run them." depends="junit.compile, junit.run" /> + <target name="all" description="Build JOGL JUNIT tests" depends="test.compile" /> </project> diff --git a/make/build.xml b/make/build.xml index 62ebcde21..69be99472 100644 --- a/make/build.xml +++ b/make/build.xml @@ -8,16 +8,24 @@ - Main build target. --> - <target name="all" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,junit.compile,one.dir,tag.build,developer-zip-archive" /> + <target name="all" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,test.compile,one.dir,tag.build,developer-zip-archive" /> - <target name="all.but-archives" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,junit.compile,one.dir,tag.build" /> + <target name="all.but-archives" description="Build nativewindow, jogl and newt projects, incl. all junit tests " depends="init,build.nativewindow,build.jogl,build.newt,test.compile,one.dir,tag.build" /> - <target name="junit.compile"> - <ant antfile="build-junit.xml" target="junit.compile" inheritRefs="true" inheritAll="true"/> + <target name="test.compile"> + <ant antfile="build-test.xml" target="test.compile" inheritRefs="true" inheritAll="true"/> </target> - <target name="junit.run" description="Run JUNIT tests in nativewindow, jogl and newt projects"> - <ant antfile="build-junit.xml" target="junit.run" inheritRefs="true" inheritAll="true"/> + <target name="test.auto.run" description="Run automated tests (junit and others) in nativewindow, jogl and newt projects"> + <ant antfile="build-test.xml" target="test.auto.run" inheritRefs="true" inheritAll="true"/> + </target> + + <target name="junit.run" description="Run automated junit tests in nativewindow, jogl and newt projects"> + <ant antfile="build-test.xml" target="junit.run" inheritRefs="true" inheritAll="true"/> + </target> + + <target name="test.manual.run" description="Run manual operated tests in nativewindow, jogl and newt projects"> + <ant antfile="build-test.xml" target="test.manual.run" inheritRefs="true" inheritAll="true"/> </target> <target name="javadoc.all.zip" depends="javadoc.init, javadoc.all, javadoc.zip"/> @@ -226,7 +234,7 @@ <property name="javadoc.spec.packagenames" value="javax.media.opengl.*" /> <property name="javadoc.windowtitle" value="JOGL, NativeWindow and NEWT APIs" /> - <property name="javadoc.packagenames" value="${javadoc.nw.spec.packagenames}, ${javadoc.spec.packagenames}, com.jogamp.opengl, com.jogamp.opengl.util.*, com.jogamp.nativewindow, com.jogamp.newt, com.jogamp.newt.event.*, com.jogamp.newt.opengl" /> + <property name="javadoc.packagenames" value="${javadoc.nw.spec.packagenames}, ${javadoc.spec.packagenames}, com.jogamp.opengl, com.jogamp.opengl.util.*, com.jogamp.nativewindow, com.jogamp.newt, com.jogamp.newt.util.*, com.jogamp.newt.event.*, com.jogamp.newt.opengl" /> <property name="javadoc.dev.packagenames" value="${javadoc.packagenames}, com.jogamp.opengl.*, com.jogamp.nativewindow.*, com.jogamp.newt.*, com.jogamp.gluegen.opengl.*, com.jogamp.gluegen.runtime.opengl.*" /> diff --git a/make/config/jogl/cg-common-CustomJavaCode.java b/make/config/jogl/cg-common-CustomJavaCode.java index cdaa6f2b2..31d1961fc 100644 --- a/make/config/jogl/cg-common-CustomJavaCode.java +++ b/make/config/jogl/cg-common-CustomJavaCode.java @@ -1,12 +1,12 @@ -private static DynamicLookupHelper cgDynamicLookupHelper; -private static CgProcAddressTable cgProcAddressTable; +private static final DynamicLibraryBundle cgDynamicLookupHelper; +private static final CgProcAddressTable cgProcAddressTable; static { cgProcAddressTable = new CgProcAddressTable(); if(null==cgProcAddressTable) { throw new RuntimeException("Couldn't instantiate CgProcAddressTable"); } - DynamicLibraryBundle cgDynamicLookupHelper = new DynamicLibraryBundle(new CgDynamicLibraryBundleInfo()); + cgDynamicLookupHelper = new DynamicLibraryBundle(new CgDynamicLibraryBundleInfo()); if(null==cgDynamicLookupHelper) { throw new RuntimeException("Null CgDynamicLookupHelper"); } diff --git a/make/config/jogl/glx-CustomJavaCode.java b/make/config/jogl/glx-CustomJavaCode.java index 0c3693b8b..36ad10031 100644 --- a/make/config/jogl/glx-CustomJavaCode.java +++ b/make/config/jogl/glx-CustomJavaCode.java @@ -21,7 +21,7 @@ { final long __addr_ = glxProcAddressTable._addressof_glXChooseFBConfig; if (__addr_ == 0) { - throw new GLException("Method \"glXGetVisualFromFBConfig\" not available"); + throw new GLException("Method \"glXChooseFBConfig\" not available"); } if(attribList != null && attribList.length <= attribList_offset) throw new GLException("array offset argument \"attribList_offset\" (" + attribList_offset + ") equals or exceeds array length (" + attribList.length + ")"); diff --git a/make/config/nativewindow/win32-CustomJavaCode.java b/make/config/nativewindow/win32-CustomJavaCode.java index 54a7fa53a..5d0c82998 100644 --- a/make/config/nativewindow/win32-CustomJavaCode.java +++ b/make/config/nativewindow/win32-CustomJavaCode.java @@ -1,28 +1,58 @@ - private static final long hInstance; + private static final boolean DEBUG = Debug.debug("GDI"); - static { - NWJNILibLoader.loadNativeWindow("win32"); - hInstance = initIDs0(); - if( 0 == hInstance ) { - throw new NativeWindowException("GDI: Could not initialized native stub"); + private static final String dummyWindowClassNameBase = "_dummyWindow_clazz" ; + private static RegisteredClassFactory dummyWindowClassFactory; + private static boolean isInit = false; + + private static native boolean initIDs0(); + private static native long getDummyWndProc0(); + + public static synchronized void initSingleton(boolean firstX11ActionOnProcess) { + if(!isInit) { + NWJNILibLoader.loadNativeWindow("win32"); + + if( !initIDs0() ) { + throw new NativeWindowException("GDI: Could not initialized native stub"); + } + + if(DEBUG) { + System.out.println("GDI.isFirstX11ActionOnProcess: "+firstX11ActionOnProcess); + } + + dummyWindowClassFactory = new RegisteredClassFactory(dummyWindowClassNameBase, getDummyWndProc0()); + isInit = true; } } - public static synchronized void initSingleton() { - } - private static native long initIDs0(); + private static RegisteredClass dummyWindowClass = null; + private static Object dummyWindowSync = new Object(); - public static long getModuleHandle() { - return hInstance; + public static long CreateDummyWindow(int x, int y, int width, int height) { + synchronized(dummyWindowSync) { + dummyWindowClass = dummyWindowClassFactory.getSharedClass(); + return CreateDummyWindow0(dummyWindowClass.getHandle(), dummyWindowClass.getName(), dummyWindowClass.getName(), x, y, width, height); + } } - public static long CreateDummyWindow(int x, int y, int width, int height) { - return CreateDummyWindow0(getModuleHandle(), x, y, width, height); + public static boolean DestroyDummyWindow(long hwnd) { + boolean res; + synchronized(dummyWindowSync) { + if( null == dummyWindowClass ) { + throw new InternalError("GDI Error ("+dummyWindowClassFactory.getSharedRefCount()+"): SharedClass is null"); + } + res = DestroyWindow(hwnd); + dummyWindowClassFactory.releaseSharedClass(); + } + return res; } public static Point GetRelativeLocation(long src_win, long dest_win, int src_x, int src_y) { - return (Point) GetRelativeLocation0(src_win, dest_win, src_x, src_y); + return (Point) GetRelativeLocation0(src_win, dest_win, src_x, src_y); } private static native Object GetRelativeLocation0(long src_win, long dest_win, int src_x, int src_y); + public static native boolean CreateWindowClass(long hInstance, String clazzName, long wndProc); + public static native boolean DestroyWindowClass(long hInstance, String className); + static native long CreateDummyWindow0(long hInstance, String className, String windowName, int x, int y, int width, int height); + diff --git a/make/config/nativewindow/win32-lib.cfg b/make/config/nativewindow/win32-lib.cfg index 46c4f2f92..d4ca642bf 100644 --- a/make/config/nativewindow/win32-lib.cfg +++ b/make/config/nativewindow/win32-lib.cfg @@ -23,6 +23,7 @@ Opaque long void ** Import javax.media.nativewindow.util.Point Import javax.media.nativewindow.NativeWindowException Import com.jogamp.nativewindow.impl.NWJNILibLoader +import com.jogamp.nativewindow.impl.Debug CustomCCode #define WIN32_LEAN_AND_MEAN CustomCCode #include <windows.h> @@ -33,7 +34,7 @@ CustomCCode #include <stddef.h> Include ../intptr.cfg -CustomCCode extern HWND CreateDummyWindow0( HINSTANCE hInstance, int x, int y, int width, int height ) ; +CustomCCode extern HINSTANCE GetApplicationHandle(); IncludeAs CustomJavaCode GDI win32-CustomJavaCode.java diff --git a/make/scripts/java-win32-dbg.bat b/make/scripts/java-win32-dbg.bat index 92bc62d81..34e0be70a 100755 --- a/make/scripts/java-win32-dbg.bat +++ b/make/scripts/java-win32-dbg.bat @@ -1,8 +1,8 @@ set BLD_SUB=build-win32
-set J2RE_HOME=c:\jre1.6.0_22_x32
-set JAVA_HOME=c:\jdk1.6.0_22_x32
-set ANT_PATH=C:\apache-ant-1.8.0
+set J2RE_HOME=c:\jre1.6.0_23_x32
+set JAVA_HOME=c:\jdk1.6.0_23_x32
+set ANT_PATH=C:\apache-ant-1.8.2
set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
@@ -17,7 +17,8 @@ REM set D_ARGS="-Djogamp.debug.JNILibLoader=true" "-Djogamp.debug.NativeLibrary= REM set D_ARGS="-Djogl.debug=all" "-Dnewt.debug=all" "-Dnativewindow.debug=all"
REM set D_ARGS="-Dnewt.debug.Window" "-Dnativewindow.debug.TraceLock"
REM set D_ARGS="-Dnativewindow.debug.TraceLock"
-set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display"
+REM set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display"
+set D_ARGS="-Djogl.debug=all"
REM set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display" "-Dnewt.test.Window.reparent.incompatible=true"
set X_ARGS="-Dsun.java2d.noddraw=true" "-Dsun.awt.noerasebackground=true"
diff --git a/make/scripts/java-win32.bat b/make/scripts/java-win32.bat index 63d69b8b2..3bfab721f 100755 --- a/make/scripts/java-win32.bat +++ b/make/scripts/java-win32.bat @@ -1,8 +1,8 @@ set BLD_SUB=build-win32
-set J2RE_HOME=c:\jre1.6.0_22_x32
-set JAVA_HOME=c:\jdk1.6.0_22_x32
-set ANT_PATH=C:\apache-ant-1.8.0
+set J2RE_HOME=c:\jre1.6.0_23_x32
+set JAVA_HOME=c:\jdk1.6.0_23_x32
+set ANT_PATH=C:\apache-ant-1.8.2
set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
diff --git a/make/scripts/java-win64-dbg.bat b/make/scripts/java-win64-dbg.bat index 1abce8f02..fc51b9caf 100755 --- a/make/scripts/java-win64-dbg.bat +++ b/make/scripts/java-win64-dbg.bat @@ -1,8 +1,8 @@ set BLD_SUB=build-win64
-set J2RE_HOME=c:\jre1.6.0_22_x64
-set JAVA_HOME=c:\jdk1.6.0_22_x64
-set ANT_PATH=C:\apache-ant-1.8.0
+set J2RE_HOME=c:\jre1.6.0_23_x64
+set JAVA_HOME=c:\jdk1.6.0_23_x64
+set ANT_PATH=C:\apache-ant-1.8.2
set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
@@ -18,7 +18,9 @@ REM set D_ARGS="-Djogl.debug.GLContext" "-Djogl.debug.ExtensionAvailabilityCache REM set D_ARGS="-Djogl.debug.GraphicsConfiguration"
REM set D_ARGS="-Djogamp.debug.JNILibLoader=true" "-Djogamp.debug.NativeLibrary=true" "-Djogamp.debug.NativeLibrary.Lookup=true" "-Djogl.debug.GLProfile=true"
REM set D_ARGS="-Djogl.debug=all" "-Dnewt.debug=all" "-Dnativewindow.debug=all" "-Djogamp.debug.Lock" "-Djogamp.debug.Lock.TraceLock"
+REM set D_ARGS="-Djogl.debug=all" "-Dnativewindow.debug=all"
set D_ARGS="-Djogl.debug=all"
+REM set D_ARGS="-Djogl.debug.GLContext" "-Dnewt.debug=all"
REM set D_ARGS="-Dnewt.debug.Window" "-Dnativewindow.debug.TraceLock"
REM set D_ARGS="-Dnativewindow.debug.TraceLock"
REM set D_ARGS="-Dnewt.debug.Window" "-Dnewt.debug.Display"
diff --git a/make/scripts/java-win64.bat b/make/scripts/java-win64.bat index f1275f46c..b4cc3d120 100755 --- a/make/scripts/java-win64.bat +++ b/make/scripts/java-win64.bat @@ -1,8 +1,8 @@ set BLD_SUB=build-win64
-set J2RE_HOME=c:\jre1.6.0_22_x64
-set JAVA_HOME=c:\jdk1.6.0_22_x64
-set ANT_PATH=C:\apache-ant-1.8.0
+set J2RE_HOME=c:\jre1.6.0_23_x64
+set JAVA_HOME=c:\jdk1.6.0_23_x64
+set ANT_PATH=C:\apache-ant-1.8.2
set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
diff --git a/make/scripts/make.jogl.all.win32.bat b/make/scripts/make.jogl.all.win32.bat index 39db2a402..6b66ff1c8 100755 --- a/make/scripts/make.jogl.all.win32.bat +++ b/make/scripts/make.jogl.all.win32.bat @@ -1,8 +1,8 @@ set THISDIR="C:\JOGL"
-set J2RE_HOME=c:\jre1.6.0_22_x32
-set JAVA_HOME=c:\jdk1.6.0_22_x32
-set ANT_PATH=C:\apache-ant-1.8.0
+set J2RE_HOME=c:\jre1.6.0_23_x32
+set JAVA_HOME=c:\jdk1.6.0_23_x32
+set ANT_PATH=C:\apache-ant-1.8.2
set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw\bin;%PATH%
diff --git a/make/scripts/make.jogl.all.win64.bat b/make/scripts/make.jogl.all.win64.bat index 4241d4d5d..8dbcd01e7 100755 --- a/make/scripts/make.jogl.all.win64.bat +++ b/make/scripts/make.jogl.all.win64.bat @@ -1,8 +1,8 @@ set THISDIR="C:\JOGL"
-set J2RE_HOME=c:\jre1.6.0_22_x64
-set JAVA_HOME=c:\jdk1.6.0_22_x64
-set ANT_PATH=C:\apache-ant-1.8.0
+set J2RE_HOME=c:\jre1.6.0_23_x64
+set JAVA_HOME=c:\jdk1.6.0_23_x64
+set ANT_PATH=C:\apache-ant-1.8.2
set PATH=%JAVA_HOME%\bin;%ANT_PATH%\bin;c:\mingw64\bin;c:\mingw\bin;%PATH%
diff --git a/make/scripts/setvc9-jogl.bat b/make/scripts/setvc9-jogl.bat index 2e8338374..6ff16053e 100755 --- a/make/scripts/setvc9-jogl.bat +++ b/make/scripts/setvc9-jogl.bat @@ -1,7 +1,7 @@ -set PATH=C:\cygwin\devtools\share\apache-ant-1.8.0\bin;%PATH%
-set ANT_PATH=C:\cygwin\devtools\share\apache-ant-1.8.0
+set PATH=C:\cygwin\devtools\share\apache-ant-1.8.2\bin;%PATH%
+set ANT_PATH=C:\cygwin\devtools\share\apache-ant-1.8.2
c:
cd C:\SUN\JOGL2\jogl\make
diff --git a/make/scripts/tests-javaws-x64.bat b/make/scripts/tests-javaws-x64.bat new file mode 100644 index 000000000..0bc8272fe --- /dev/null +++ b/make/scripts/tests-javaws-x64.bat @@ -0,0 +1,18 @@ +set JRE_PATH=C:\jre1.6.0_23_x64\bin +set LOG_PATH=%USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\log + +%JRE_PATH%\javaws -uninstall +del /F /Q %LOG_PATH%\*.* + +set JNLP=Gears.jnlp +REM set JNLP=TextCube.jnlp +REM set JNLP=JRefractNoOGL.jnlp + +set D_FLAGS="-J-Djnlp.nativewindow.debug=all" "-J-Djnlp.jogl.debug=all" "-J-Djnlp.newt.debug=all" + +REM set X_FLAGS="-J-Dsun.java2d.noddraw=true" "-J-Dsun.awt.noerasebackground=true" "-J-Dsun.java2d.opengl=false" +REM set X_FLAGS="-J-verbose:jni" +set X_FLAGS= + +%JRE_PATH%\javaws %X_FLAGS% %D_FLAGS% http://risa/deployment/test/jau01s/jogl-demos/%JNLP% > tests-javaws.log 2>&1 + diff --git a/make/scripts/tests-javaws.sh b/make/scripts/tests-javaws.sh new file mode 100644 index 000000000..a1b1b1e2e --- /dev/null +++ b/make/scripts/tests-javaws.sh @@ -0,0 +1,16 @@ +javaws -uninstall + +rm -f ~/.java/deployment/log/* + +JNLP=Gears.jnlp +# JNLP=TextCube.jnlp +# JNLP=JRefractNoOGL.jnlp + +D_FLAGS="-J-Djnlp.nativewindow.debug=all -J-Djnlp.jogl.debug=all -J-Djnlp.newt.debug=all" + +#X_FLAGS="-J-Dsun.java2d.noddraw=true -J-Dsun.awt.noerasebackground=true -J-Dsun.java2d.opengl=false" +#X_FLAGS="-J-verbose:jni" +X_FLAGS= + +javaws $X_FLAGS $D_FLAGS http://risa/deployment/test/jau01s/jogl-demos/$JNLP 2>&1 | tee tests-javaws.log + diff --git a/make/scripts/tests-x32.bat b/make/scripts/tests-x32.bat index e8734a053..50d875a98 100644 --- a/make/scripts/tests-x32.bat +++ b/make/scripts/tests-x32.bat @@ -1,31 +1,34 @@ REM scripts\java-win32-dbg.bat com.jogamp.newt.opengl.GLWindow -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.jogl.acore.TestGLProfile01NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT -time 30000 -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.jogl.glsl.TestTransformFeedbackVaryingsBug407NEWT -scripts\java-win32.bat com.jogamp.test.junit.jogl.glsl.TestGLSLSimple01NEWT -time 2000 +REM scripts\java-win32-dbg.bat com.jogamp.newt.opengl.GLWindow +REM scripts\java-win32.bat com.jogamp.opengl.test.junit.jogl.offscreen.TestOffscreen01GLPBufferNEWT -time 5000 +scripts\java-win32.bat com.jogamp.opengl.test.junit.jogl.offscreen.TestOffscreen02BitmapNEWT -time 5000 +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile01NEWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT -time 30000 +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.jogl.glsl.TestTransformFeedbackVaryingsBug407NEWT +REM scripts\java-win32.bat com.jogamp.opengl.test.junit.jogl.glsl.TestGLSLSimple01NEWT -time 2000 -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestParenting01AWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01cAWT -time 50000 -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestListenerCom01AWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestParenting01AWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cAWT -time 50000 +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestListenerCom01AWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestGLWindows01NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestGLWindows02NEWTAnimated -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestFocus01SwingAWTRobot -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.nativewindow.TestRecursiveToolkitLockCORE -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting03AWT -time 100000 +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestGLWindows01NEWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestGLWindows02NEWTAnimated +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestFocus02SwingAWTRobot +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestFocus01SwingAWTRobot +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.nativewindow.TestRecursiveToolkitLockCORE +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting03AWT -time 100000 -REM scripts\java-win32.bat com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestScreenMode00NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestScreenMode01NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestScreenMode02NEWT +REM scripts\java-win32.bat com.jogamp.opengl.test.junit.newt.TestFocus02SwingAWTRobot +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestScreenMode00NEWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestScreenMode01NEWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestScreenMode02NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.TestDisplayLifecycle01NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting02NEWT -REM scripts\java-win32.bat com.jogamp.test.junit.newt.TestCloseNewtAWT -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.jogl.caps.TestMultisampleAWT -time 10000 -REM scripts\java-win32-dbg.bat com.jogamp.test.junit.jogl.caps.TestMultisampleNEWT -time 10000 +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle01NEWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting02NEWT +REM scripts\java-win32.bat com.jogamp.opengl.test.junit.newt.TestCloseNewtAWT +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.jogl.caps.TestMultisampleAWT -time 10000 +REM scripts\java-win32-dbg.bat com.jogamp.opengl.test.junit.jogl.caps.TestMultisampleNEWT -time 10000 diff --git a/make/scripts/tests-x64.bat b/make/scripts/tests-x64.bat index a801feffb..994d2a107 100644 --- a/make/scripts/tests-x64.bat +++ b/make/scripts/tests-x64.bat @@ -1,35 +1,47 @@ -scripts\java-win64-dbg.bat com.jogamp.newt.opengl.GLWindow -REM scripts\java-win64.bat com.jogamp.test.junit.jogl.awt.TestAWT01GLn -REM scripts\java-win64.bat com.jogamp.test.junit.jogl.awt.TestSwingAWT01GLn -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.acore.TestGLProfile01NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT -time 30000 -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.demos.gl2.gears.TestGearsGLJPanelAWT -time 5000 -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.awt.TestAWT03GLCanvasRecreate01 -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.glsl.TestTransformFeedbackVaryingsBug407NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.glsl.TestGLSLSimple01NEWT -time 2000 +scripts\java-win64-dbg.bat com.jogamp.newt.impl.awt.opengl.VersionApplet +REM scripts\java-win64-dbg.bat com.jogamp.newt.opengl.GLWindow +REM scripts\java-win64-dbg.bat javax.media.opengl.awt.GLCanvas +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.offscreen.TestOffscreen01GLPBufferNEWT -time 5000 +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.jogl.offscreen.TestOffscreen02BitmapNEWT -time 5000 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.awt.TestAWT01GLn +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.jogl.awt.TestSwingAWT01GLn +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextListAWT -time 5000 +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextListNEWT -time 5000 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile01NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestParenting01AWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01cAWT -time 50000 -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestListenerCom01AWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT -time 30000 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.demos.gl2.gears.TestGearsGLJPanelAWT -time 5000 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.awt.TestAWT03GLCanvasRecreate01 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.glsl.TestTransformFeedbackVaryingsBug407NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.glsl.TestGLSLSimple01NEWT -time 2000 -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestGLWindows01NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestGLWindows02NEWTAnimated -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestFocus01SwingAWTRobot -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.nativewindow.TestRecursiveToolkitLockCORE -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting03AWT -time 100000 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestParenting01AWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cAWT -time 50000 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestListenerCom01AWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT -REM scripts\java-win64.bat com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestScreenMode00NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestScreenMode01NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestScreenMode02NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestGLWindows01NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestGLWindows02NEWTAnimated +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestFocus02SwingAWTRobot +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestFocus01SwingAWTRobot +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.nativewindow.TestRecursiveToolkitLockCORE +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting03AWT -time 100000 + +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.newt.TestFocus02SwingAWTRobot +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestScreenMode00NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestScreenMode01NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestScreenMode02NEWT + +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle01NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.newt.parenting.TestParenting02NEWT +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.newt.TestCloseNewtAWT +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.caps.TestMultisampleAWT -time 10000 +REM scripts\java-win64-dbg.bat com.jogamp.opengl.test.junit.jogl.caps.TestMultisampleNEWT -time 10000 + +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.newt.TestWindowClosingProtocol01AWT $* +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.newt.TestWindowClosingProtocol02NEWT $* +REM scripts\java-win64.bat com.jogamp.opengl.test.junit.newt.TestWindowClosingProtocol03NewtAWT $* -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.TestDisplayLifecycle01NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting01NEWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.newt.parenting.TestParenting02NEWT -REM scripts\java-win64.bat com.jogamp.test.junit.newt.TestCloseNewtAWT -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.caps.TestMultisampleAWT -time 10000 -REM scripts\java-win64-dbg.bat com.jogamp.test.junit.jogl.caps.TestMultisampleNEWT -time 10000 diff --git a/make/scripts/tests.sh b/make/scripts/tests.sh index 3bfaf7247..8b6350542 100644 --- a/make/scripts/tests.sh +++ b/make/scripts/tests.sh @@ -32,14 +32,19 @@ function jrun() { # D_ARGS="-Dnewt.debug.Window -Dnewt.debug.EDT -Dnewt.debug.Display " #D_ARGS="-Dnewt.debug.EDT -Djogamp.common.utils.locks.Lock.timeout=600000 -Djogl.debug.Animator -Dnewt.debug.Display -Dnewt.debug.Screen" #D_ARGS="-Dnewt.debug.EDT -Dnewt.debug.Display -Dnativewindow.debug.X11Util -Djogl.debug.GLDrawable -Djogl.debug.GLCanvas" - #D_ARGS="-Dnewt.debug.EDT -Djogl.debug.GLContext" + #D_ARGS="-Djogl.debug.GLContext -Dnewt.debug=all" #D_ARGS="-Dnewt.debug.Screen -Dnewt.debug.EDT -Djogamp.debug.Lock" #D_ARGS="-Dnewt.debug.EDT" #D_ARGS="-Djogl.debug=all -Dnativewindow.debug=all -Dnewt.debug=all" - D_ARGS="-Djogl.debug=all" + #D_ARGS="-Djogl.debug=all -Dnewt.debug=all" + #D_ARGS="-Dnewt.debug=all" + #D_ARGS="-Dnativewindow.debug=all" #D_ARGS="-Djogl.debug.GraphicsConfiguration" + #D_ARGS="-Djogl.debug.GLCanvas -Djogl.debug.GraphicsConfiguration" #D_ARGS="-Djogl.debug.GLCanvas" + #D_ARGS="-Dnativewindow.debug.ToolkitLock.TraceLock" #X_ARGS="-Dsun.java2d.noddraw=true -Dsun.java2d.opengl=true" + #X_ARGS="-verbose:jni" echo echo "Test Start: $*" echo @@ -63,64 +68,75 @@ function testawt() { #testnoawt com.jogamp.nativewindow.NativeWindowVersion $* #testnoawt com.jogamp.opengl.JoglVersion $* #testnoawt com.jogamp.newt.NewtVersion $* -testnoawt com.jogamp.newt.opengl.GLWindow $* -#testnoawt com.jogamp.test.junit.jogl.acore.TestGLProfile01NEWT $* -#testawt com.jogamp.test.junit.jogl.acore.TestGLProfile01NEWT $* -#testnoawt com.jogamp.test.junit.jogl.glsl.TestTransformFeedbackVaryingsBug407NEWT $* -#testnoawt com.jogamp.test.junit.jogl.glsl.TestGLSLSimple01NEWT $* -#testnoawt com.jogamp.test.junit.newt.TestRemoteWindow01NEWT -time 1000000 -#testnoawt com.jogamp.test.junit.newt.TestRemoteGLWindows01NEWT -time 1000000 -#testawt com.jogamp.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT -#testawt com.jogamp.test.junit.newt.TestDisplayLifecycle01NEWT -#testawt com.jogamp.test.junit.newt.TestDisplayLifecycle02NEWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting01NEWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting02NEWT -#testawt com.jogamp.test.junit.newt.TestScreenMode00NEWT -#testnoawt com.jogamp.test.junit.newt.TestScreenMode01NEWT -#testnoawt com.jogamp.test.junit.newt.TestScreenMode02NEWT -#testawt com.jogamp.test.junit.newt.TestGLWindows01NEWT -time 1000000 -#testawt -Djava.awt.headless=true com.jogamp.test.junit.newt.TestGLWindows01NEWT -#testawt com.jogamp.test.junit.newt.TestGLWindows02NEWTAnimated +#testnoawt com.jogamp.newt.opengl.GLWindow $* +#testnoawt com.jogamp.opengl.test.junit.jogl.offscreen.TestOffscreen01GLPBufferNEWT $* +#testnoawt com.jogamp.opengl.test.junit.jogl.offscreen.TestOffscreen02BitmapNEWT $* +#testnoawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile01NEWT $* +#testawt com.jogamp.opengl.test.junit.jogl.acore.TestGLProfile01NEWT $* +#testawt com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextListNEWT $* +#testnoawt com.jogamp.opengl.test.junit.jogl.glsl.TestTransformFeedbackVaryingsBug407NEWT $* +#testnoawt com.jogamp.opengl.test.junit.jogl.glsl.TestGLSLSimple01NEWT $* +#testnoawt com.jogamp.opengl.test.junit.newt.TestRemoteWindow01NEWT $* +#testnoawt com.jogamp.opengl.test.junit.newt.TestRemoteGLWindows01NEWT $* +#testawt com.jogamp.opengl.test.junit.jogl.demos.gl2.gears.newt.TestGearsNEWT $* +#testawt com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle01NEWT +#testawt com.jogamp.opengl.test.junit.newt.TestDisplayLifecycle02NEWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting02NEWT +#testawt com.jogamp.opengl.test.junit.newt.TestScreenMode00NEWT +#testnoawt com.jogamp.opengl.test.junit.newt.TestScreenMode01NEWT +#testnoawt com.jogamp.opengl.test.junit.newt.TestScreenMode02NEWT +#testawt com.jogamp.opengl.test.junit.newt.TestGLWindows01NEWT -time 1000000 +#testawt -Djava.awt.headless=true com.jogamp.opengl.test.junit.newt.TestGLWindows01NEWT +#testawt com.jogamp.opengl.test.junit.newt.TestGLWindows02NEWTAnimated # # awt (testawt) # +#testawt com.jogamp.newt.impl.awt.opengl.VersionApplet $* #testawt javax.media.opengl.awt.GLCanvas $* -#testawt com.jogamp.test.junit.jogl.awt.TestAWT01GLn $* -#testawt com.jogamp.test.junit.jogl.awt.TestSwingAWT01GLn -#testawt com.jogamp.test.junit.jogl.awt.TestAWT03GLCanvasRecreate01 $* -#testawt com.jogamp.test.junit.jogl.awt.TestAWT02WindowClosing -#testawt com.jogamp.test.junit.jogl.demos.gl2.gears.TestGearsAWT -#testawt com.jogamp.test.junit.jogl.demos.gl2.gears.TestGearsGLJPanelAWT -#testawt com.jogamp.test.junit.jogl.texture.TestTexture01AWT +#testawt com.jogamp.opengl.test.junit.jogl.awt.TestAWT01GLn $* +#testawt com.jogamp.opengl.test.junit.jogl.acore.TestSharedContextListAWT $* +#testawt com.jogamp.opengl.test.junit.jogl.awt.TestSwingAWT01GLn +#testawt com.jogamp.opengl.test.junit.jogl.awt.TestAWT03GLCanvasRecreate01 $* +#testawt com.jogamp.opengl.test.junit.jogl.awt.TestAWT02WindowClosing +#testawt com.jogamp.opengl.test.junit.jogl.demos.gl2.gears.TestGearsAWT +#testawt com.jogamp.opengl.test.junit.jogl.demos.gl2.gears.TestGearsGLJPanelAWT $* +#testawt com.jogamp.opengl.test.junit.jogl.texture.TestTexture01AWT +testawt com.jogamp.opengl.test.junit.jogl.awt.text.TestAWTTextRendererUseVertexArrayBug464 # # newt.awt (testawt) # -#testawt com.jogamp.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 -#testawt com.jogamp.test.junit.jogl.demos.gl2.gears.newt.TestGearsNewtAWTWrapper -#testawt com.jogamp.test.junit.newt.TestEventSourceNotAWTBug -#testawt com.jogamp.test.junit.newt.TestFocus01SwingAWTRobot -#testawt com.jogamp.test.junit.newt.TestFocus02SwingAWTRobot -#testawt com.jogamp.test.junit.newt.TestListenerCom01AWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting01aAWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting01bAWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting01cAWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting01cSwingAWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting02AWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting03AWT -#testawt com.jogamp.test.junit.newt.parenting.TestParenting03AWT -time 100000 -#testawt com.jogamp.test.junit.newt.parenting.TestParenting03bAWT -time 100000 -#testawt com.jogamp.test.junit.newt.TestCloseNewtAWT -#testawt com.jogamp.test.junit.jogl.caps.TestMultisampleAWT $* -#testawt com.jogamp.test.junit.jogl.caps.TestMultisampleNEWT $* - -#testawt com.jogamp.test.junit.newt.TestGLWindows02NEWTAnimated $* -#testawt com.jogamp.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 $* -#testawt com.jogamp.test.junit.newt.parenting.TestParenting01NEWT $* +#testawt com.jogamp.opengl.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 +#testawt com.jogamp.opengl.test.junit.jogl.demos.gl2.gears.newt.TestGearsNewtAWTWrapper +#testawt com.jogamp.opengl.test.junit.newt.TestEventSourceNotAWTBug +#testawt com.jogamp.opengl.test.junit.newt.TestFocus01SwingAWTRobot +#testawt com.jogamp.opengl.test.junit.newt.TestFocus02SwingAWTRobot +#testawt com.jogamp.opengl.test.junit.newt.TestListenerCom01AWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01aAWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01bAWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cAWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01cSwingAWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting02AWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting03AWT +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting03AWT -time 100000 +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting03bAWT -time 100000 +#testawt com.jogamp.opengl.test.junit.newt.TestCloseNewtAWT +#testawt com.jogamp.opengl.test.junit.jogl.caps.TestMultisampleAWT $* +#testawt com.jogamp.opengl.test.junit.jogl.caps.TestMultisampleNEWT $* + +#testawt com.jogamp.opengl.test.junit.newt.TestGLWindows02NEWTAnimated $* +#testawt com.jogamp.opengl.test.junit.jogl.newt.TestSwingAWTRobotUsageBeforeJOGLInitBug411 $* +#testawt com.jogamp.opengl.test.junit.newt.parenting.TestParenting01NEWT $* + +#testawt com.jogamp.opengl.test.junit.newt.TestWindowClosingProtocol01AWT $* +#testawt com.jogamp.opengl.test.junit.newt.TestWindowClosingProtocol02NEWT $* +#testawt com.jogamp.opengl.test.junit.newt.TestWindowClosingProtocol03NewtAWT $* #testawt $* + $spath/count-edt-start.sh java-run.log diff --git a/make/stub_includes/win32/windows.h b/make/stub_includes/win32/windows.h index d9f9e692a..ddee94c06 100644 --- a/make/stub_includes/win32/windows.h +++ b/make/stub_includes/win32/windows.h @@ -12,9 +12,9 @@ typedef int BOOL; typedef unsigned char BYTE; typedef char CHAR; -typedef unsigned int DWORD; +typedef unsigned __int32 DWORD; typedef int INT; -typedef int INT32; +typedef __int32 INT32; typedef __int64 INT64; typedef float FLOAT; typedef struct _handle* HANDLE; @@ -26,14 +26,18 @@ typedef HANDLE HMODULE; typedef HANDLE HINSTANCE; typedef HANDLE HPALETTE; typedef HANDLE HWND; -typedef long LONG; +typedef __int32 LONG; typedef const char* LPCSTR; typedef void* LPVOID; +typedef unsigned __int64 ULONG_PTR; typedef struct _proc* PROC; typedef unsigned int* PUINT; typedef unsigned int UINT; typedef unsigned short USHORT; typedef unsigned short WORD; +typedef unsigned short ATOM; +typedef intptr_t DWORD_PTR; +typedef intptr_t* PDWORD_PTR; /* Necessary handle typedefs for parsing wglext.h */ diff --git a/make/stub_includes/win32/wingdi.h b/make/stub_includes/win32/wingdi.h index fd4bc16a2..b169621f5 100644 --- a/make/stub_includes/win32/wingdi.h +++ b/make/stub_includes/win32/wingdi.h @@ -133,6 +133,24 @@ typedef struct tagPIXELFORMATDESCRIPTOR { #define SW_FORCEMINIMIZE 11 #define SW_MAX 11 +/** + * GetObjectType() Command + */ +#define OBJ_PEN 1 +#define OBJ_BRUSH 2 +#define OBJ_DC 3 +#define OBJ_METADC 4 +#define OBJ_PAL 5 +#define OBJ_FONT 6 +#define OBJ_BITMAP 7 +#define OBJ_REGION 8 +#define OBJ_METAFILE 9 +#define OBJ_MEMDC 10 +#define OBJ_EXTPEN 11 +#define OBJ_ENHMETADC 12 +#define OBJ_ENHMETAFILE 13 +#define OBJ_COLORSPACE 14 + #endif /* WGL_GDI_VERSION_1_X */ #ifndef WGL_GDI_VERSION_1_X @@ -169,11 +187,17 @@ WINGDIAPI HGDIOBJ WINAPI SelectObject(HDC, HGDIOBJ); // Routines for creation of a dummy window, device context and OpenGL // context for the purposes of getting wglChoosePixelFormatARB and // associated routines - HWND CreateDummyWindow0( HINSTANCE hInstance, int x, int y, int width, int height ) ; + HINSTANCE GetApplicationHandle(); WINUSERAPI BOOL WINAPI ShowWindow(HWND hWnd, int nCmdShow); WINUSERAPI HDC WINAPI GetDC(HWND); WINUSERAPI int WINAPI ReleaseDC(HWND hWnd, HDC hDC); WINUSERAPI BOOL WINAPI DestroyWindow(HWND hWnd); +WINUSERAPI DWORD WINAPI GetObjectType(HGDIOBJ h); + +WINUSERAPI HANDLE WINAPI GetCurrentProcess(void); +WINUSERAPI BOOL WINAPI GetProcessAffinityMask(HANDLE hProcess,PDWORD_PTR lpProcessAffinityMask,PDWORD_PTR lpSystemAffinityMask); +WINUSERAPI BOOL WINAPI SetProcessAffinityMask(HANDLE hProcess,DWORD_PTR dwProcessAffinityMask); + // Routines for changing gamma ramp of display device WINGDIAPI BOOL WINAPI GetDeviceGammaRamp(HDC,LPVOID); |