1 Reply Latest reply on Sep 8, 2015 8:48 PM by nibal

    clEnqueueFillBuffer(signals) failed (CL_INVALID_VALUE)

    nibal

      Runtime error of my function:

      fp = 0;
      if (!pass && (err = clEnqueueFillBuffer(cq, avg, &fp, 4, 0, size, 0, NULL,
          &favg)))
          {

              error(log, "clEnqueueFillBuffer(avg) failed (%s)\n", 0, FL, LN, FN,

                   clError(err));
               return(FAIL);
          }

      if ((pass == MAXPASS - 1) && (err = clEnqueueFillBuffer(cq, signals, &signal,
          sigsz, 0, FFT_SZ * sigsz, 0, NULL, &fsig)))

          {
              error(log, "clEnqueueFillBuffer(signals) failed (%s)\n", 0, FL, LN, FN,
                  clError(err));
              return(FAIL);
          }

      From gdb:

       

      (gdb) p cq
      $15 = (cl_command_queue) 0x9a7060       // cq is valid has worked for all previous calls
      (gdb) p signals
      $13 = (cl_mem) 0x98d0a0
      (gdb) p signal
      $11 = {pwr = 0, hz = 0, ts = 0}

      (gdb) p sigsz
      $14 = 24
      (gdb) p fsig
      $2 = (cl_event) 0x0

       

       

      FFT_SZ evaluates to 1024. I use SDK 2.9-1, ocl 1.2, from Ubuntu 14.04, running off my Curacao Pro [Radeon R9 270] (Pitcairn). Can't find anything wrong with it :-(

      In fact the Fill buffer that runs before it (pass = 0, avg), runs fine. MAXPASS = 8.