• xlei3's avatar
    Commit contains 108 changes. · dbb9f9f1
    xlei3 authored
    Change 1:
        Will check in another fix after opensource builds are back up
      made by: Xiao Lei
    
    Change 2:
        To make subroutine call for emulation functions be on by default.
      made by: Junjie Gu
    
    Change 3:
        [IGC Refactor][Builtins, IGC]: Update changes for Built-in Indexing
        Description for Open Source:
        these allow us to load only the builtins that we need into the user kernel
      made by:  hudson_server
    
    Change 4made by: Michael Liao
    
    Change 5:
        As summary.
      made by: Wei Pan
    
    Change 6made by: Alexander Paige
    
    Change 7:
        Automated integration from mainline to DEV_IGC
      made by:  IGC
    
    Change 8:
        Need to use zext on PHI when doing integer promotion. For example,
         phi i2 [1, %b0] [-1, %b1]
      made by: Junjie Gu
    
    Change 9:
        When icmp is signed, need to do sext (using shl + ashr)
      made by: Junjie Gu
    
    Change 10:
        Missing description
      made by: Junjie Gu
    
    Change 11:
        For CS, if simd8 is not least allowed simd size, don't enable subroutine as subroutine is simd8 only for now.
      made by: Junjie Gu
    
    Change 12made by: Thomas F Raoux
    
    Change 13:
        As summary.
      made by: Wei Pan
    
    Change 14:
        To make subroutine call for emulation functions be on by default.
      made by:  hudson_server
    
    Change 15made by: Po-yu Chen
    
    Change 16:
        add more acc restrictions
      made by: Weiyu Chen
    
    Change 17:
        Make sure the uneeded code is indeed removed.
      made by: Junjie Gu
    
    Change 18:
        Handle insertelementinst and waveshuffle specially
      made by: Junjie Gu
    
    Change 19:
        In FF, un constrained variables can be assigned freely, RR helps scheduling effort.
        loose the initial condition. only node in first time un-constrainted list is applied RR.
      made by:  hudson_server
    
    Change 20:
        Fix alignment in CreateBufferLoad() for types smalled than 4 bytes. Set correct address alignement in ldraw instrinsics.
      made by: Lukasz Gotszald
    
    Change 21made by: Thomas F Raoux
    
    Change 22made by: Thomas F Raoux
    
    Change 23:
    
      made by:  hudson_server
    
    Change 24made by: Thomas F Raoux
    
    Change 25:
        Phi instructions always need to be at the beginning of a given basic block.
      made by:  hudson_server
    
    Change 26:
        [IGC Backout][IGC]: Revert CL#751879
        Description for Open Source:
        - due to performance regression
      made by:  hudson_server
    
    Change 27:
        Provide global and local variable splitting in single pass, and handled in the same way.
      made by:  hudson_server
    
    Change 28:
        [IGC Refactor][IGC]: Step2 to remove deprecated sampler intrinsics. Missing file in previous CL
        Description for Open Source:
      made by:  hudson_server
    
    Change 29:
        In FF, un constrained variables can be assigned freely, RR helps scheduling effort.
        loose the initial condition. only node in first time un-constrainted list is applied RR.
      made by: Bu Qi Cheng
    
    Change 30made by: Thomas F Raoux
    
    Change 31:
        [IGC BugFix][DX9_FE]: Fix more regression due to refactoring
        Description for Open Source:
         Fix more regression due to refactoring
      made by:  hudson_server
    
    Change 32:
        Provide global and local variable splitting in single pass, and handled in the same way.
      made by: Bu Qi Cheng
    
    Change 33:
        [IGC Refactor][IGC]: Last step of legacy sample removal
        Description for Open Source:
        Remove legacy intrinsics
      made by:  hudson_server
    
    Change 34:
        Fix wrong size of string passing.
        This caused the last char of "options" string to be cut off, therefore module metadata was incorrect.
      made by: Andrzej Ratajewski
    
    Change 35:
        Back-out of one of previous change.
      made by: Michael Liao
    
    Change 36made by: Tomasz Bujewski
    
    Change 37made by: Thomas F Raoux
    
    Change 38:
        Internal feature
      made by:  hudson_server
    
    Change 39:
        Unexpected problem has been detected in VulkanULT. It was not reproduced at Sanity, preETM nor locally.
      made by: Lukasz Gotszald
    
    Change 40:
        Phi instructions always need to be at the beginning of a given basic block.
      made by: Jacek Jankowski
    
    Change 41:
        This way IGC-NEO interface will be available in IGC when building IGC with Apple support (for non-apple OS).
      made by: Jaroslaw Chodor
    
    Change 42:
        Fix alignment in CreateBufferLoad() for types smalled than 4 bytes. Set correct address alignement in ldraw instrinsics.
      made by: Lukasz Gotszald
    
    Change 43made by: Thomas F Raoux
    
    Change 44made by: Thomas F Raoux
    
    Change 45:
    
      made by: Mariusz Merecki
    
    Change 46made by: Junjie Gu
    
    Change 47made by: Bu Qi Cheng
    
    Change 48:
        Emulation pass also emulates i64 div/mod. So, make sure it is for double emulation before enabling subroutine support.
        Code Review:
        trivial
      made by: Junjie Gu
    
    Change 49:
        add a missing check on whether mad src0 can be acc
      made by: Weiyu Chen
    
    Change 50:
        As summary.
      made by: Wei Pan
    
    Change 51:
        Enables stateless support on BDW by default
      made by: Xiao Lei
    
    Change 52:
        Added compiler support for GTPin
      made by: Xiao Lei
    
    Change 53:
        Refactored GTPin return data to contain the correct version and request status.
      made by: Xiao Lei
    
    Change 54made by: Thomas F Raoux
    
    Change 55:
    
      made by: Thomas F Raoux
    
    Change 56:
        Back-out of one of previous change.
      made by: Mariusz Merecki
    
    Change 57:
    
      made by:  IGC
    
    Change 58:
        Provide global and local variable splitting in single pass, and handled in the same way.
      made by:  IGC
    
    Change 59:
    
      made by: Mariusz Merecki
    
    Change 60:
        Provide global and local variable splitting in single pass, and handled in the same way.
      made by: Bu Qi Cheng
    
    Change 61:
        internal feature
      made by: Weiyu Chen
    
    Change 62:
        See if we can remove this seemly useless check
      made by: Weiyu Chen
    
    Change 63made by: Thomas F Raoux
    
    Change 64made by: Thomas F Raoux
    
    Change 65made by: Piotr Mochocki
    
    Change 66:
        Assert is unnecessary as it will be handled in other parts of the pass.
        Fixes a regression from CL751781
      made by: Xiao Lei
    
    Change 67made by: Jose Santillan
    
    Change 68made by: Michael Liao
    
    Change 69made by: Pawel Jurek
    
    Change 70:
        In FF, un constrained variables can be assigned freely, RR helps scheduling effort.
      made by:  IGC
    
    Change 71:
        CPack: switch to component based packaging
        Group IGC artifacts into igc component. This change enables creation of separable
        IGC installation packages (deb,rpm,tgz) by top level build system.
      made by: Lukasz Filipkowski
    
    Change 72made by: Michael Liao
    
    Change 73:
        Internal feature
      made by: Weiyu Chen
    
    Change 74:
        As summary.
      made by: Wei Pan
    
    Change 75:
        enable multi-acc replacement for certain platforms
      made by: Weiyu Chen
    
    Change 76made by: Thomas F Raoux
    
    Change 77:
        Accidental Checkin - Backing out of previous CL
      made by: Xiao Lei
    
    Change 78:
        Enables GTPin input read and output writes
      made by: Xiao Lei
    
    Change 79:
        don't do acc replacement for dst without any use
      made by: Weiyu Chen
    
    Change 80:
        Added support in Legalization pass to handle store of illegal int types.
        Added support in PeepholeTypeLegalizer pass to handle PHI and Trunc instructions with illegal int types.
      made by: Xiao Lei
    
    Change 81:
        acc substitution relies on def-use on virtual declares, and removeReudundMov pass can break it
      made by: Weiyu Chen
    
    Change 82:
        - ensure all required values are present
      made by: Michael Liao
    
    Change 83:
        - limit to OpenCL shader only
      made by: Michael Liao
    
    Change 84made by: Thomas F Raoux
    
    Change 85:
        Back-out of one of previous change.
      made by: Michael Liao
    
    Change 86:
        To make subroutine call for emulation functions be on by default.
      made by: Junjie Gu
    
    Change 87:
        Turining full Half Promotion pass back on for OCL due to functional regressions.
      made by: Jacek Jankowski
    
    Change 88:
        Gen9 doesn't support bindless sampler heap. These changes follow DirectX approach to support a large number of samplers. The idea is to use sampler header to pass pointer to the sampler state.
        These changes are not complete as we also need corresponding UMD changes but we can safely check them in and enable later when UMD is ready.
        Proposed solution is:
        - UMD creates separate descriptor set heap just for samplers in the indirect state heap. So UMD has to manage two bindless heaps one for surfaces and one for samplers.
        - The assumption is that a descriptor set offset "n" has the same offset in both heaps. This will limit the number of offsets that need to go through constant registers
        - Additionally UMD will pass us the base offset of the emulated bindless heap (offset relative to the dynamic state base address)
        - Compiler will add this base offset to every sampler binding and IGC will program the sampler state offset in the header.
      made by: Mariusz Merecki
    
    Change 89made by: Thomas F Raoux
    
    Change 90:
        Update SpirV OpAtomicIDecrement instruction to use the DEC not PREDEC HW operation.
      made by: Lukasz Gotszald
    
    Change 91:
        Backing out previous commit, as CI is down and checkins are halted, so no testing for this will occur.
      made by: Xiao Lei
    
    Change 92:
        Added support in Legalization pass to handle store of illegal int types.
        Added support in PeepholeTypeLegalizer pass to handle PHI and Trunc instructions with illegal int types.
      made by: Xiao Lei
    
    Change 93:
        Automated integration from mainline to DEV_IGC
      made by:  IGC
    
    Change 94:
        In FF, un constrained variables can be assigned freely, RR helps scheduling effort.
      made by: Bu Qi Cheng
    
    Change 95:
        revert CL#750441
      made by: Michael Liao
    
    Change 96:
        Change CS SIMD32 heuristics to consider loop stall cost, to allow more shader to be compiled as SIMD32.
      made by:  hudson_server
    
    Change 97:
        --add check for add dst in VxH mode
        --add check for src modifier in mul inst
      made by: Weiyu Chen
    
    Change 98:
        GTPin data is sent to driver through patch token
      made by: Xiao Lei
    
    Change 99:
        add code to support acc on mad src0. currently disabled by default.
      made by: Weiyu Chen
    
    Change 100:
        Change CS SIMD32 heuristics to consider loop stall cost, to allow more shader to be compiled as SIMD32.
      made by: Peng Guo
    
    Change 101:
        Added support to enabling subroutine for emulation functions. The default is off for now.
        Don't expect any functional changes.
      made by: Junjie Gu
    
    Change 102:
        When lexical scope information is present for -gline-tables-only, it leads to unexpected behavior when building lexical scope DIE because of missing MCSymbol labels for instructions. This patch skip building lexical scope DIE for such cases.
      made by: Pratik J Ashar
    
    Change 103:
        add platform checks on when to use multiAccSubstitution
      made by:  hudson_server
    
    Change 104:
        - 2nd attempt
      made by:  hudson_server
    
    Change 105:
        fix a bug in previous checkin where src2 was incorrectly applied acc
      made by:  hudson_server
    
    Change 106:
        Added support to 3DBuilder to build igc for debugging Metal Shaders and also to build IGC for open source
      made by: Juan1 Rodriguez
    
    Change 107:
        If the address fill move has a different exec size than kernel's simd size, NoMask must be used (e.g., (W) mov (1) a0.0 r1.0:w
      made by: Weiyu Chen
    
    Change 108:
        As Vulkan no longer needs FP64 emulation, do not set NeedFP64() for vulkan.
        This should have no functional change.
      made by: Junjie Gu
    
    Change-Id: I2fc60e3bdbf85c279446c0a3a9a9c8dc60e09cdd
    dbb9f9f1
Name
Last commit
Last update
..
CMakeLists.txt Loading commit data...
InstElementizer.cpp Loading commit data...
InstElementizer.h Loading commit data...
InstExpander.cpp Loading commit data...
InstExpander.h Loading commit data...
InstLegalChecker.cpp Loading commit data...
InstLegalChecker.h Loading commit data...
InstPromoter.cpp Loading commit data...
InstPromoter.h Loading commit data...
InstScalarizer.cpp Loading commit data...
InstScalarizer.h Loading commit data...
InstSoftener.cpp Loading commit data...
InstSoftener.h Loading commit data...
PeepholeTypeLegalizer.cpp Loading commit data...
PeepholeTypeLegalizer.hpp Loading commit data...
TypeLegalizer.cpp Loading commit data...
TypeLegalizer.h Loading commit data...
TypeLegalizerPass.h Loading commit data...