Problem summary
Blinkscript example compiles on CPU but not GPU
Customer reported version
Nuke10.0v1
Customer reported platform
n_a_linux
Steps to reproduce
1. Open Nuke10.0v1
2. Create a Blinkscript node
3. Select Kernel parameters tab and deselect 'Use GPU if available'
4. In Blinkscript tab expand the Kernel Source window and delete contents
5. Paste the following contents in instead:
kernel InvertKernel : ImageComputationKernel<ePixelWise>{Image<eWrite, eAccessRandom> dst;void process(int2 pos) {dst(pos.x,pos.y) = dst(pos.x,pos.y);}};
6. View the Blinkscript node, message say you need an unout so add a colorwheel node to the src
Result: example compiles as expected
7. Create a new Blinkscript node
8. repeat steps 4 - 6
Result: error message: BlinkScript1: Error compiling kernel for GPU
Reproduced by support
Reproduced on: OSX 10.11.3 Nuke10.0v1
Unable to reproduce on:
OSX 10.11.3: Nuke9.0v8, Nuke8.0v6
Linux RHEL 6.3: Nuke10.0v1
Windows10: Nuke10.0v1
Expected behaviour
Blinkscript to work without error
Actual behaviour
Blinkscript returns the following error message:
BlinkScript2: Error compiling kernel for GPU
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Customer reported a second example also, which returns an error if I attempt to recompile. Not sure if this is a separate bug to this issue or the same so am adding info here:
Problem summary
Blinkscript example errors when recompiling for GPU
Steps to reproduce
1. Open Nuke10.0v1
2. Create a Blinkscript node
3. Select Kernel parameters tab and deselect 'Use GPU if available'
4. In Blinkscript tab expand the Kernel Source window and delete contents
5. Paste the following contents in instead:
kernel InvertKernel : ImageComputationKernel<ePixelWise>{Image<eRead, eAccessRandom> src;Image<eWrite, eAccessRandom> dst;void process(int2 pos) {float Failure = src(pos.x,pos.y).x;dst(pos.x,pos.y) = 1.0f;}};
6. Select Recompile
Result: error
error compiling kernel: error compiling kernel
Blinkscripts: Error compiling kernel
6. Create new Blinkscript node
7. repeat steps 4 and 5
Result: error
error compiling kernel: Cannot compile openCL kernel
error1: member reference base type 'float' is not a structure or union
Blinkscript6: Error compiling kernel for GPU
Reproduced by support
Reproduced on: OSX 10.11.3 Nuke10.0v1
Expected behaviour
Blinkscript to work without error
Actual behaviour
Blinkscript returns the following error message:
Result: error
error compiling kernel: Cannot compile openCL kernel
error1: member reference base type 'float' is not a structure or union
Blinkscript6: Error compiling kernel for GPU