Ignore:
Timestamp:
Sep 10, 2017, 7:46:13 PM (15 months ago)
Author:
matszpk
Message:

CLRadeonExtender: Move routines to calculate PGMRSRC1 and PGMRSRC2 to GPUId code. Apply these function in code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdasm/AsmAmdCL2Format.cpp

    r3344 r3348  
    19671967            cxuint vgprsNum = std::max(config.usedVGPRsNum, 1U);
    19681968            // computePGMRSRC1
    1969             config.computePgmRsrc1 |= ((vgprsNum-1)>>2) |
    1970                     (((sgprsNum-1)>>3)<<6) | ((uint32_t(config.floatMode)&0xff)<<12) |
    1971                     (config.ieeeMode?1U<<23:0) | (uint32_t(config.priority&3)<<10) |
    1972                     (config.privilegedMode?1U<<20:0) | (config.dx10Clamp?1U<<21:0) |
    1973                     (config.debugMode?1U<<22:0);
    1974                    
    1975             uint32_t dimValues = 0;
    1976             if (config.dimMask != BINGEN_DEFAULT)
    1977                 dimValues = ((config.dimMask&7)<<7) |
    1978                         (((config.dimMask&4) ? 2 : (config.dimMask&2) ? 1 : 0)<<11);
    1979             else
    1980                 dimValues |= (config.computePgmRsrc2 & 0x1b80U);
     1969            config.computePgmRsrc1 |= calculatePgmRSrc1(arch, vgprsNum, sgprsNum,
     1970                        config.priority, config.floatMode, config.privilegedMode,
     1971                        config.dx10Clamp, config.debugMode, config.ieeeMode);
    19811972            // computePGMRSRC2
    19821973            config.computePgmRsrc2 = (config.computePgmRsrc2 & 0xffffe440U) |
    1983                             (userSGPRsNum<<1) | ((config.tgSize) ? 0x400 : 0) |
    1984                             ((config.workitemPrivateSegmentSize)?1:0) | dimValues |
    1985                             ((uint32_t(config.exceptions)&0x7f)<<24);
     1974                    calculatePgmRSrc2(arch, (config.workitemPrivateSegmentSize != 0),
     1975                            userSGPRsNum, false, config.dimMask,
     1976                            (config.computePgmRsrc2 & 0x1b80U), config.tgSize,
     1977                            0, config.exceptions);
    19861978           
    19871979            if (config.wavefrontSgprCount == BINGEN16_DEFAULT)
Note: See TracChangeset for help on using the changeset viewer.