/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.nativelibs4java.opencl; import org.junit.Before; import org.junit.BeforeClass; import java.util.ArrayList; import java.util.List; import org.junit.After; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; /** * * @author ochafik */ @RunWith(Parameterized.class) public abstract class AbstractCommon { CLPlatform platform; CLContext context; CLQueue queue; CLDevice device; CLImageFormat[] formatsRead2D, formatsRead3D, formatsWrite2D, formatsWrite3D, formatsReadWrite2D, formatsReadWrite3D; static boolean listedPlatforms; AbstractCommon(CLDevice device) { this.device = device; platform = device.getPlatform(); context = platform.createContext(null, device); queue = context.createDefaultQueue(); device = context.getDevices()[0]; formatsRead2D = context.getSupportedImageFormats(CLMem.Flags.ReadOnly, CLMem.ObjectType.Image2D); formatsWrite2D = context.getSupportedImageFormats(CLMem.Flags.WriteOnly, CLMem.ObjectType.Image2D); formatsRead3D = context.getSupportedImageFormats(CLMem.Flags.ReadOnly, CLMem.ObjectType.Image3D); formatsWrite3D = context.getSupportedImageFormats(CLMem.Flags.WriteOnly, CLMem.ObjectType.Image3D); formatsReadWrite2D = context.getSupportedImageFormats(CLMem.Flags.ReadWrite, CLMem.ObjectType.Image2D); formatsReadWrite3D = context.getSupportedImageFormats(CLMem.Flags.ReadWrite, CLMem.ObjectType.Image3D); } @Parameterized.Parameters public static List<Object[]> getDeviceParameters() { List<Object[]> ret = new ArrayList<Object[]>(); for (CLPlatform platform : JavaCL.listPlatforms()) for (CLDevice device : platform.listAllDevices(true)) ret.add(new Object[] { device }); return ret; } /* @After public void cleanup() { queue.finish(); queue.release(); context.release(); device.release(); platform.release(); } */ }