Граф коммитов

2219 Коммитов

Автор SHA1 Сообщение Дата
Xiang Li c81ccb7f75 Allow cstyle cast as lvalue. (#137) 2017-03-14 23:57:07 -07:00
Xiang Li e84b71d22e Take extern as define to match fxc. (#138) 2017-03-14 18:58:27 -07:00
Xiang Li cf10dc2748 Support implicit cast when LiteralToConcrete. 2017-03-14 17:49:31 -07:00
Marcelo Lopez Ruiz d7f75ac8f0 Add reducibility analysis to the list of passes and paramless ctor. (#133)
Add reducibility analysis to the list of passes and paramless ctor.

This restores the property of having all passes initialized at DLL load time, keeps the reported list of passes stable, and fixes an assertion when the DLL is loaded on a thread but the first compile invocation occurs in a different thread.
2017-03-14 17:41:11 -07:00
Young Kim efe82279fe Support Unsigned for shorthand vectors/matrices (#106)
1. enable unsigned keyword for [int,min16int,int64] vectors and matrices
   (e.g. unsigned int2 -> vector<unsigned int, 2>)
2. disable unsigned keyword as a complete type specifier
2017-03-14 17:31:03 -07:00
Marcelo Lopez Ruiz 057c354b8b Add support to dndxc for debug line lookup, restore CFG printer passes. (#130) 2017-03-13 20:53:13 -07:00
David Peixotto 7a24bac9b5 Add support for AppVeyor continuous integration (#131)
This commit makes the necessary changes to run the project with AppVeyor
CI. The `appveyor.yml` file contains the configuration settings for the
build. Currently we only build x64-Debug, but we can build the full
x32/x64-Debug/Release matrix by adding a few lines to the config.

The remaining changes are somewhat tied to the specifics of how appveyor
provisions the build machines. The standard VS2015 machines build on
Windows Server 2012. We can build on these machines, but cannot run tests
because we require d3d12.dll which is not available on Windows Server
2012. However, it is present on Windows Server 2016, but appveyor only
provides VS2017 on those machines. So part of the changes are to allow
the compiler to build with VS2017 so we can run tests as part of CI.

The `appveyor_setup.ps1` script installs the WDK as part of the build.
This is the only extra software we need. It is actually installed on the
VS2015 build machines, but not our VS2017 build machines. Perhaps we can
get them to install it by default and then this script can go away.

The `appveyor_test.ps1` script runs the taef tests and then reports the
results to appveyor so they can be displayed on the "Tests" tab.

As a side effect of this work, We can now use the latest cmake (3.7.2) for
our own builds! The key seems to be setting
`-DCMAKE_SYSTEM_VERSION=10.0.14393.0` to ensure that we pick up the
correct SDK.
2017-03-13 16:21:15 -07:00
Xiang Li fc32052998 Support sclar to vector for global variable. (#129) 2017-03-13 15:20:38 -07:00
Xiang Li dfaf7b8890 Change byval to byref for out/inout parameter. (#132) 2017-03-13 15:02:16 -07:00
David Peixotto db78f0400a Translate extension name when no replication is needed (#127)
Previously, If an extension uses the replication lowering strategy
and a non-vector overload was chosen we would return the function
un-modified. This change makes sure that we still use the
custom lowering name for the extension if one was specified.
2017-03-13 13:36:45 -07:00
Xiang Li b63197d2e3 Fix typo in TranslateCBAddressUserLegacy. (#128) 2017-03-10 10:57:56 -08:00
Xiang Li cf8e34ec11 Support write mask for typed buf. (#126) 2017-03-09 17:09:29 -08:00
Xiang Li 7cdfa0f6a2 Support select on resource. (#124) 2017-03-08 21:01:07 -08:00
Xiang Li fc2d2154cd For vector writemask, create gep + store instead of load + shuffle + store. (#120) 2017-03-07 18:58:46 -08:00
David Peixotto 67685d9660 Expand macros in root signature and semantic defines (#122)
This commit adds a standalone class for expanding macros and uses it
to for root signature and semantic define processing. Previously,
we were using the raw macro value instead of the expanded value
so something like:

    #define MYRS "DescriptorTable(SRV(t0))"
    #define RS   MYRS

would fail to compile the root signature with an entry point of
RS because it would get a root signature value of MYRS instead
of the expanded value. Similarly, for semantic defines we were
saving the non-expanded value into the bitcode.

This commit also adds a new flag that is used to specify that
the root signature should be read from a #define. So compiling
with `-rootsig-define RS` will read the root signature from
a `#define RS ...` in the source. The -roosig-define flag
takes precedence over a root signature annotation in the souce.
2017-03-07 11:34:23 -08:00
Marcelo Lopez Ruiz fa49ef58bb Fixes WaveIntrinsicsInPSTest by using right intrinsics to find active lanes (#102)
The prior version was using WaveGetLaneCount to determine active lanes.
This is incorrect for the following reasons.

First, it includes inactive lanes on the wave. This was not the intent.

Second, it compared this number with (presumed) active lanes in a quad.

The test is fixed to sum active lanes across a wave or quad instead.
2017-03-03 15:20:15 -08:00
Xiang Li d5dbc051f3 Replace uses of phi which has same operand for all path with the operand. (#115) 2017-03-02 12:49:48 -08:00
Xiang Li 38586597b9 Support -T rootsig_1_0/rootsig_1_1. (#112) 2017-03-01 17:00:45 -08:00
Xiang Li cc4387b7ae Report error on vector if condition. (#113) 2017-03-01 16:42:44 -08:00
Xiang Li 143d81768f Support globallycoherent. (#109) 2017-02-28 17:56:43 -08:00
Marcelo Lopez Ruiz 723438c9bf Update required SDK to 10.0.14393.0 (#111) 2017-02-28 16:17:04 -08:00
Xiang Li 843b64b320 Check exist function match dxil operation function when refresh operation fucntion cache. (#108) 2017-02-27 16:32:41 -08:00
Tex Riddell 9a74306436 Add heading text for ThirdPartyNotices.txt 2017-02-24 16:30:31 -08:00
Xiang Li 19952dbf73 Avoid iterate on map which use point as key to make sure output is the same. (#104) 2017-02-24 10:10:32 -08:00
Xiang Li 2ab6ca4359 Support static global resource. (#105) 2017-02-23 16:49:38 -08:00
Xiang Li 4cf8d75cee Use lt instead of le for clip. (#103) 2017-02-23 12:42:30 -08:00
Xiang Li 6153e6dd01 Not create phi for resClass and resID of createHandle when all operands is the same. (#101) 2017-02-23 12:42:09 -08:00
Marcelo Lopez Ruiz 8ec6fb32d1 Adds support for device cycle and help to HLSL Host window. (#100)
Adds support for device cycle and help to HLSL Host window.
2017-02-21 12:46:01 -08:00
Xiang Li 73b6f95a40 Legalize sample offset when optimization is disabled. (#97) 2017-02-18 00:46:17 -08:00
Tex Riddell 6f21a7d477 Merge pull request #99 from tex3d/minmax2
Merge min/max tests from master and update hctversion.txt to 1.0
2017-02-17 16:32:23 -08:00
Tex Riddell ca03b825f4 Update hctversion.txt to 1.0 2017-02-17 16:26:28 -08:00
Tex Riddell 68382a3ed6 Merge remote-tracking branch 'ms/master' into minmax2 2017-02-17 15:47:50 -08:00
Tex Riddell 7bdef32133 Adds documentation and tests for min/max intrinsics. (#81)
Improves xml-based tests to allow existing devices to be used.
Improves dxexp to print out SM6/wave/i64 support under experimental mode.
Bumps the hctversion to 0.7
2017-02-17 15:44:30 -08:00
Marcelo Lopez Ruiz 5cc190b0f6 Merge pull request #98 from Microsoft/master
python 2.7 is now looked for the same way other dependencies are.

Improves logging as well by providing minimal console output during
build, while providing a file logger with additional details.
2017-02-17 13:39:58 -08:00
Xiang Li 9ed2eec376 Don't generate decl for effect object to avoid codegen crash. (#94)
* Don't generate decl for effect object to avoid codegen crash.

* Add technique11 and rewriter test for effect.

* Skip the initializer of effect object.
2017-02-16 17:19:24 -08:00
Young Kim df1fe2ba41 Fix build fail for x86 (#96)
- resolving signed/unsigned comparison issue
2017-02-16 15:22:07 -08:00
Young Kim f7c215bc2b Enable Upper Case for Registers (#95)
- enable upper case for valid registers ('B', 'C', 'I', 'S', 'T', 'U')
- fix VerifyHelper.py to output ast when expected errors are present
- fix buffer view register validation check
2017-02-16 13:35:57 -08:00
Xiang Li 726c754221 Only promote local resource when has store of handle. (#87)
* Only promote local resource when has store of handle.

* Report error when cannot map local resource usage to global resource.

* Promote static resource when optimization is disabled too.

* Take care PHINode on local resource.
2017-02-15 18:16:30 -08:00
Young Kim c6282faa12 Treat half suffixes as floats (#92)
* Treat half suffixes as floats
  treat h/H suffixes as f/F as "half" scalar type is converted to float type.
  This should be changed in the future when we support true half types.
2017-02-15 13:59:24 -08:00
Xiang Li 379e1f339b Only save root signature for entry function. (#86) 2017-02-14 20:13:29 -08:00
Tex Riddell 51898662c9 Close #75 - Pack prefix-stable by default (#90)
* Implement prefix-stable packing and make this the default.
* Add signature packing options -pack_prefix_stable and -pack_optimized.
2017-02-14 18:22:54 -08:00
Tex Riddell e57dcfd53f Merge pull request #93 from tex3d/integration
Merge latest fixes from integration branch.
2017-02-14 17:55:06 -08:00
Xiang Li fa22112d1a Use i32 for GEP index. (#85) 2017-02-14 16:57:33 -08:00
Xiang Li dedba5e584 Take care ParenExpr when get concrete type for literal. (#91) 2017-02-14 16:24:16 -08:00
Xiang Li 553c09c2fc Ignore export instead of report error. (#82) 2017-02-13 11:55:20 -08:00
Marcelo Lopez Ruiz 98f201b5fd Close #54 - hctstart should include python if missing (#84)
python 2.7 is now looked for the same way other dependencies are.

Improves logging as well by providing minimal console output during
build, while providing a file logger with additional details.
2017-02-13 11:47:26 -08:00
Young Kim 6b01781e58 Fix dxc option to supress warnings. (#83)
* Fix dxc option to supress warnings.

 - Modifying option handling to enable no-warnings as expected

* Fix OutputWarnings option to enable by default
2017-02-13 11:45:43 -08:00
Tex Riddell e48f472bc3 Merge remote-tracking branch 'ms/master' into dxil-v1.0 2017-02-10 15:08:07 -08:00
Tex Riddell 7c2e8223ee Merge branch 'fix-master-merge' into dxil-v1.0 2017-02-10 15:07:17 -08:00
Tex Riddell f97b206404 Merge pull request #13 from python3kgae/validation_fix
Validation fix
2017-02-10 12:30:27 -08:00