blob: b7dfe1dc406865033823c180aae9fc7f400e0aa0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
/*
* Created on Saturday, April 24 2010 02:58 AM
*/
package com.jogamp.opencl.gl;
import com.jogamp.opencl.CLDevice;
import com.jogamp.newt.Display;
import com.jogamp.newt.NewtFactory;
import com.jogamp.newt.Screen;
import com.jogamp.newt.Window;
import com.jogamp.newt.opengl.GLWindow;
import com.jogamp.opencl.CLContext;
import com.jogamp.opencl.CLPlatform;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import javax.media.opengl.GLContext;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.junit.Assume.*;
import static java.lang.System.*;
/**
* Test testing the JOGL - JOCL interoperability.
* @author Michael Bien
*/
public class CLGLTest {
private static GLContext glcontext;
@BeforeClass
public static void init() {
Display display = NewtFactory.createDisplay(null); // local display
assertNotNull(display);
Screen screen = NewtFactory.createScreen(display, 0); // screen 0
assertNotNull(screen);
Window window = NewtFactory.createWindow(screen, new GLCapabilities(GLProfile.getDefault()), false /* undecorated */);
assertNotNull(window);
window.setSize(640, 480);
GLWindow glWindow = GLWindow.create(window);
assumeNotNull(glWindow);
glWindow.setVisible(true);
glcontext = glWindow.getContext();
out.println("useing glcontext:");
out.println(glcontext);
}
@AfterClass
public static void release() {
if(glcontext!= null) {
glcontext.destroy();
glcontext = null;
}
}
@Test
public void createContextTest() {
out.println(" - - - glcl; createContextTest - - - ");
CLDevice[] devices = CLPlatform.getDefault().listCLDevices();
CLDevice device = null;
for (CLDevice d : devices) {
if(d.isGLMemorySharingSupported()) {
device = d;
break;
}
}
if(device == null) {
out.println("Aborting test: no GLCL capable devices found.");
return;
}else{
out.println("isGLMemorySharingSupported==true on: \n "+device);
}
assumeNotNull(glcontext);
CLContext context = CLGLContext.create(glcontext, device);
assertNotNull(context);
// assertTrue(glcontext.isCurrent());
try{
out.println(context);
}finally{
context.release();
}
}
}
|