package com.amd.aparapi.test; import com.amd.aparapi.Kernel; public class ObjectArrayMemberAccess extends Kernel{ final static class DummyOOA{ int mem; float floatField; public DummyOOA() { mem = -3; floatField = -3; } public int getMem() { return mem; } public void setMem(int x) { mem = x; } public float getFloatField() { return floatField; } public void setFloatField(float x) { floatField = x; } }; int out[] = new int[2]; int something; DummyOOA dummy[] = null; final int size = 64; public ObjectArrayMemberAccess() { something = -1; dummy = new DummyOOA[size]; dummy[0] = new DummyOOA(); } public int getSomething() { return something; } public int bar(int x) { return -x; } public void run() { int myId = getGlobalId(); dummy[myId].mem = dummy[myId].mem + 2; dummy[myId].floatField = dummy[myId].floatField + (float) 2.0; } } /**{OpenCL{ typedef struct com_amd_aparapi_test_ObjectArrayMemberAccess$DummyOOA_s{ int mem; float floatField; } com_amd_aparapi_test_ObjectArrayMemberAccess$DummyOOA; typedef struct This_s{ __global com_amd_aparapi_test_ObjectArrayMemberAccess$DummyOOA *dummy; int passid; }This; int get_pass_id(This *this){ return this->passid; } __kernel void run( __global com_amd_aparapi_test_ObjectArrayMemberAccess$DummyOOA *dummy, int passid ){ This thisStruct; This* this=&thisStruct; this->dummy = dummy; this->passid = passid; { int myId = get_global_id(0); this->dummy[myId].mem=this->dummy[myId].mem + 2; this->dummy[myId].floatField=this->dummy[myId].floatField + 2.0f; return; } } }OpenCL}**/