/** * Alternative version of {@link #createBuffer(long, com.jme3.opencl.MemoryAccess) }, * creates a buffer with read and write access. * @param size the size of the buffer in bytes * @return the new buffer */ public Buffer createBuffer(long size) { return createBuffer(size, MemoryAccess.READ_WRITE); }
private void updateInfos() { if (testBuffer == null && clContext != null && !bufferCreated) { try { testBuffer = clContext.createBuffer(1024).register(); LOG.info("Test buffer created"); } catch (OpenCLException ex) { LOG.log(Level.SEVERE, "Unable to create buffer", ex); } bufferCreated = true; } Context c = context.getOpenCLContext(); if (c == clContext) { return; } clContext = c; LOG.info("context changed"); testBuffer = null; bufferCreated = false; StringBuilder text = new StringBuilder(); text.append("Current context:\n"); text.append(" Platform: ").append(clContext.getDevices().get(0).getPlatform().getName()).append("\n"); text.append(" Device: ").append(clContext.getDevices().get(0).getName()).append("\n"); text.append(" Profile: ").append(clContext.getDevices().get(0).getProfile()).append("\n"); text.append(" Memory: ").append(clContext.getDevices().get(0).getGlobalMemorySize()).append(" B\n"); text.append(" Compute Units: ").append(clContext.getDevices().get(0).getComputeUnits()).append("\n"); infoLabel.setText(text.toString()); }
Buffer b1 = clContext.createBuffer(256); ByteBuffer h2 = BufferUtils.createByteBuffer(256); Buffer b2 = clContext.createBuffer(256);
Buffer buffer = clContext.createBuffer(size*4); float value = 5; Event event = kernel.Run1(clQueue, new com.jme3.opencl.Kernel.WorkSize(buffer.getSize() / 4), buffer, value);
seeds[i] = (seeds[i] ^ 0x5DEECE66DL) & ((1L << 48) - 1); //needed because the Random constructor scrambles the initial seed com.jme3.opencl.Buffer seedsBuffer = clContext.createBuffer(8 * count); ByteBuffer tmpByteBuffer = BufferUtils.createByteBuffer(8 * count); tmpByteBuffer.asLongBuffer().put(seeds); FloatBuffer resultFloatBuffer = resultByteBuffer.asFloatBuffer(); DoubleBuffer resultDoubleBuffer = resultByteBuffer.asDoubleBuffer(); com.jme3.opencl.Buffer resultBuffer = clContext.createBuffer(8 * count);
Program program = clContext.createProgramFromSourceCodeWithDependencies(code, assetManager); program.build(); com.jme3.opencl.Buffer buffer = clContext.createBuffer(3);
Program program = clContext.createProgramFromSourceCodeWithDependencies(code, assetManager); program.build(); com.jme3.opencl.Buffer buffer = clContext.createBuffer(1);
Buffer buffer = clContext.createBuffer(4*4*500*1024); Event e3 = image.copyToBufferAsync(clQueue, buffer, new long[]{10,10,0}, new long[]{500,1024,1}, 0); e3.release();
kernel.register(); buffer = clContext.createBuffer(4); buffer.register();
/** * Alternative version of {@link #createBuffer(long, com.jme3.opencl.MemoryAccess) }, * creates a buffer with read and write access. * @param size the size of the buffer in bytes * @return the new buffer */ public Buffer createBuffer(long size) { return createBuffer(size, MemoryAccess.READ_WRITE); }