xpra icon
Bug tracker and wiki

Ticket #925: opencl-constify.patch

File opencl-constify.patch, 1.8 KB (added by Antoine Martin, 4 years ago)

if the kernel was actually doing something, I could tell if this is worth applying or not

  • xpra/codecs/csc_opencl/opencl_kernels.py

     
    468468    const uint gx = get_global_id(0);
    469469    const uint gy = get_global_id(1);
    470470
    471     if ((gx*2 < w) & (gy*2 < h)) {
    472         uint srcx = gx*2*srcw/w;
    473         uint srcy = gy*2*srch/h;
     471    const uint gx2 = gx*2;
     472    const uint gy2 = gy*2;
     473
     474    if ((gx2 < w) & (gy2 < h)) {
     475        uint srcx = gx2*srcw/w;
     476        uint srcy = gy2*srch/h;
    474477        uint4 p[4];
    475478        p[0] = read_imageui(src, sampler, (int2)( srcx, srcy ));
    476479        p[1] = p[0];
     
    477480        p[2] = p[0];
    478481        p[3] = p[0];
    479482
    480         uint i = gx*2 + gy*2*strideY;
     483        uint i = gx2 + gy2*strideY;
    481484        dstY[i] = convert_uchar_sat_rte(%s);
    482         if (gx*2+1 < w) {
    483             srcx = (gx*2+1)*srcw/w;
     485        const uint gx2p1 = gx2+1;
     486        const uint gy2p1 = gy2+1;
     487        if (gx2p1 < w) {
     488            srcx = gx2p1*srcw/w;
    484489            p[1] = read_imageui(src, sampler, (int2)( srcx, srcy ));
    485490            dstY[i+1] = convert_uchar_sat_rte(%s);
    486491        }
    487         if (gy*2+1 < h) {
     492        if (gy2p1 < h) {
    488493            i += strideY;
    489             srcx = gx*2*srcw/w;
    490             srcy = (gy*2+1)*srch/h;
     494            srcx = gx2*srcw/w;
     495            srcy = gy2p1*srch/h;
    491496            p[2] = read_imageui(src, sampler, (int2)( srcx, srcy ));
    492497            dstY[i] = convert_uchar_sat_rte(%s);
    493             if (gx*2+1 < w) {
    494                 srcx = (gx*2+1)*srcw/w;
     498            if (gx2p1 < w) {
     499                srcx = gx2p1*srcw/w;
    495500                p[3] = read_imageui(src, sampler, (int2)( srcx, srcy ));
    496501                dstY[i+1] = convert_uchar_sat_rte(%s);
    497502            }