5 Replies Latest reply on Feb 2, 2015 2:57 AM by natasha

    clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver

    set

      clEnqueueReadBufferRect/clEnqueueWriteBufferRect worked with no problems in 14.9 and 14.4, but now in 14.12 they are completely broken on HD6950 / Win7 x64.

      Can anyone else confirm this?

       

      Even trivial code (with inline arrays pseudocode)

      clEnqueueWriteBufferRect(queue, cl_buf, CL_FALSE, {0, 0, 0}, {0, 0, 0}, {width, height, 1}, width, 0, width, 0, src, 0, NULL, NULL);
      clEnqueueReadBuffer(queue, cl_buf, CL_TRUE, 0, width*height, dst, 0, NULL, NULL);
      

      doesn't work anymore. Replacing first line with plain write works fine:

      clEnqueueWriteBuffer(queue, cl_buf, CL_FALSE, 0, width*height, src, 0, NULL, NULL);
      
        • Re: clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver
          dipak

          Thanks for reporting this. We'll check and get back to you.

          • Re: clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver
            dipak

            Hi,

            I guess this is same as clEnqueueWriteBufferRect does not work when region width is not equal to src pitch: broken again in Catalyst 14.12.  I'm able to reproduce the issue on HD 6970 (cayman XT) with latest Omega driver (windows 7 64bit) by using the same sample code given on that post. I've shared my observation there. Please check and let us know your finding.

             

            Regards,

            1 of 1 people found this helpful
            • Re: clEnqueueReadBufferRect/clEnqueueWriteBufferRect are broken in 14.12 driver
              natasha

              The Linux 14.12 version of the driver is also broken in this relation.

              These two functions don't work properly on the active card.

               

              # lsb_release -idrc && uname -r

              Distributor ID: SUSE LINUX

              Description:    openSUSE 12.2 (x86_64)

              Release:        12.2

              Codename:      Mantis

              3.4.63-2.44-desktop

              # aticonfig --list-adapters

              * 0. 01:00.0 AMD Radeon HD 7900 Series

                1. 02:00.0 AMD Radeon HD 5800 Series

               

              * - Default adapter

               

              With kernel performing copying data from input to output arrays obtain wrong result with clEnqueueWrite/ReadBufferRect functions on the primary card:

               

              :::::::::::::::::::::::::::::::::::::::::::::::::::::

              Platform: AMD Accelerated Parallel Processing

              Device: Tahiti (GPU)    Driver: 1642.5 (VM)

              :::::::::::::::::::::::::::::::::::::::::::::::::::::

                       Input           Output

              [0]      0.000000        0.000000

              [1]      0.841471        0.909297

              [2]      0.909297       -0.756802

              [3]      0.141120       -0.279415

              [4]     -0.756802        0.989358

              [5]     -0.958924       -0.544021

              [6]     -0.279415       -0.536573

              [7]      0.656987        0.990607

              [8]      0.989358        0.000000

              [9]      0.412118        0.000000

              [10]    -0.544021        0.000000

              [11]    -0.999990        0.000000

              [12]    -0.536573        0.000000

              [13]     0.420167        0.000000

              [14]     0.990607        0.000000

              [15]     0.650288        0.000000

              [16]    -0.287903        0.000000

              [17]    -0.961397        0.912945

              [18]    -0.750987        0.836656

              [19]     0.149877       -0.008851

              [20]     0.912945       -0.846220

              [21]     0.836656       -0.905578

              [22]    -0.008851       -0.132352

              [23]    -0.846220        0.762558

              [24]    -0.905578        0.956376

              [25]    -0.132352        0.270906

              [26]     0.762558       -0.663634

              [27]     0.956376       -0.988032

              [28]     0.270906       -0.404038

              [29]    -0.663634        0.551427

              [30]    -0.988032        0.999912

              [31]    -0.404038        0.000000

              :::::::::::::::::::::::::::::::::::::::::::::::::::::

              Platform: AMD Accelerated Parallel Processing

              Device: Cypress (GPU)   Driver: 1642.5

              :::::::::::::::::::::::::::::::::::::::::::::::::::::

                       Input           Output

              [0]      0.000000        0.000000

              [1]      0.841471        0.841471

              [2]      0.909297        0.909297

              [3]      0.141120        0.141120

              [4]     -0.756802       -0.756802

              [5]     -0.958924       -0.958924

              [6]     -0.279415       -0.279415

              [7]      0.656987        0.656987

              [8]      0.989358        0.989358

              [9]      0.412118        0.412118

              [10]    -0.544021       -0.544021

              [11]    -0.999990       -0.999990

              [12]    -0.536573       -0.536573

              [13]     0.420167        0.420167

              [14]     0.990607        0.990607

              [15]     0.650288        0.650288

              [16]    -0.287903       -0.287903

              [17]    -0.961397       -0.961397

              [18]    -0.750987       -0.750987

              [19]     0.149877        0.149877

              [20]     0.912945        0.912945

              [21]     0.836656        0.836656

              [22]    -0.008851       -0.008851

              [23]    -0.846220       -0.846220

              [24]    -0.905578       -0.905578

              [25]    -0.132352       -0.132352

              [26]     0.762558        0.762558

              [27]     0.956376        0.956376

              [28]     0.270906        0.270906

              [29]    -0.663634       -0.663634

              [30]    -0.988032       -0.988032

              [31]    -0.404038       -0.404038

               

              whereas with the 14.9 driver all is ok:

               

              :::::::::::::::::::::::::::::::::::::::::::::::::::::

              Platform: AMD Accelerated Parallel Processing

              Device: Tahiti (GPU)    Driver: 1573.4 (VM)

              :::::::::::::::::::::::::::::::::::::::::::::::::::::

                       Input           Output

              [0]      0.000000        0.000000

              [1]      0.841471        0.841471

              [2]      0.909297        0.909297

              [3]      0.141120        0.141120

              [4]     -0.756802       -0.756802

              [5]     -0.958924       -0.958924

              [6]     -0.279415       -0.279415

              [7]      0.656987        0.656987

              [8]      0.989358        0.989358

              [9]      0.412118        0.412118

              [10]    -0.544021       -0.544021

              [11]    -0.999990       -0.999990

              [12]    -0.536573       -0.536573

              [13]     0.420167        0.420167

              [14]     0.990607        0.990607

              [15]     0.650288        0.650288

              [16]    -0.287903       -0.287903

              [17]    -0.961397       -0.961397

              [18]    -0.750987       -0.750987

              [19]     0.149877        0.149877

              [20]     0.912945        0.912945

              [21]     0.836656        0.836656

              [22]    -0.008851       -0.008851

              [23]    -0.846220       -0.846220

              [24]    -0.905578       -0.905578

              [25]    -0.132352       -0.132352

              [26]     0.762558        0.762558

              [27]     0.956376        0.956376

              [28]     0.270906        0.270906

              [29]    -0.663634       -0.663634

              [30]    -0.988032       -0.988032

              [31]    -0.404038       -0.404038

               

              The clEnqueueWriteBufferRect doesn't react on the  buffer_row_pitch parameter, whereas clEnqueueWriteBufferRect does something, but not what it must do.

               

              Regards, Natalia