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

4579 Коммитов

Автор SHA1 Сообщение Дата
Xiang Li 0f1e823dff Fix merge error (#18) 2017-01-18 19:55:45 -08:00
Tex Riddell 4b532ceff9 Merge branch 'master' into integration 2017-01-18 19:43:07 -08:00
Tex Riddell 69d8d3209b Integrate change to DXIL Version 1.0 2017-01-18 19:18:55 -08:00
Xiang Li 69c3f749e5 Update error message for ValidationTest::MultiDimArray (#17)
* Update error message for ValidationTest::MultiDimArray
2017-01-18 18:48:31 -08:00
Xiang Li 038da7c932 Merge branch 'master' into master 2017-01-18 18:23:04 -08:00
Tex Riddell c27cd89141 Restrict shader models accepted by DxCompiler API to 6.0 (#15)
- upconvert to 6.0 in dxc.exe and d3dcompiler_dxc_bridge
  - restrict to 6.0 in dxcompiler API
  - restrict to 6.0 in DxilValidator
  - allow loading of SM < 6.0 for now on DXIL 0.7
2017-01-18 17:45:26 -08:00
Tex Riddell 6f3ba4013d Merge pull request #13 from tex3d/tex3d-sigpack
Signature packing, codegen fixes, and validation fixes and additions.
2017-01-18 14:35:15 -08:00
Xiang Li 07845c0621 Update error message for ValidationTest::MultiDimArray
* Update error message for ValidationTest::MultiDimArray
2017-01-18 11:03:36 -08:00
Tex Riddell 55ba393c2c Signature packing, codegen fixes, and validation fixes and additions.
- Add DxilSignatureAllocator for signature packing
  - Fix signature validation.  Add more validation.
  - Fix and add validation tests.
  - Fix codegen for inout params with SV like SV_Coverage
  - fix m_SemanticStartIndex on DxilSignatureElement::Initialize
  - fix DxilSignatureElement::GetColsAsMask for start col == 2
  - Add diags for signature allocation failures
  - Use Regex in ValidationTest
2017-01-17 18:10:16 -08:00
David Peixotto 9451f2c0b3 Add initial support for extension intrinsics and defines (#5)
This commit adds initial support for extension intrinsics and defines, including:

-Support for recognizing hlsl extensions as new intrinsic functions.
-Support for requesting lowering of extensions.
-Support for preserving semantic defines.
-Support for validating semantic defines.

This commit adds support for hlsl extensions in the form of additional
intrisic functions and semantic defines.

We now allow a dxcompiler instance to register that it can handle
additional intrinsic functions beyond the standard hlsl intrinsics. These
new intrinsics are called extensions.  For each extension, the compiler
supplies a lowering strategy that is used by the dxcompiler to translate
from the source level intrinsic to a high-level dxil intrinsic.

We initially support the two lowering strategies: replicate and pack.
The replicate strategy will scalarize the vector elements in the call
and replicate the function call once for each element in the vector.
The pack strategy changes the vector arguments into literal struct
arguments.

We also now include support for "semantic defines". A semantic define is
a source level define whose value is preserved in the final dxil as
metatdata. The source level define can come as either a #define in
the hlsl source or a /D define from the command line.

We provide a hook to validate that a semantic define has a legal value
(for example to ensure that the value is an integer). Validation failures
can produce warnings and errors that will be emitted through the standard
clang diagnostic mechanism.

This code was originally written by marcelolr and modified by dmpots to
support packed lowering of intriniscs and validation of semantic defines.
2017-01-17 17:51:13 -08:00
David Peixotto 5dca710dff Update htcdb scripts (#10)
- Pass input stream for hlsl intrinsics function instead of hard-coding
      the file location.
- Keep enum namespace as a property of hlsl_db
- Compatibility changes for python3.
2017-01-17 14:04:34 -08:00
Xiang Li ee0e81b047 Disable multi-dim array type and function call. (#12) 2017-01-17 13:30:42 -08:00
Marcelo Lopez Ruiz b188c24ef0 Add notes on how to run shaders compiler as DXIL. (#11)
Add notes on how to run shaders compiler as DXIL.
2017-01-17 10:03:55 -08:00
David Peixotto ae6a580a8d Fix #6: Produce dxil container output when validation is disabled. (#7)
* Fix #6: Produce dxil container output when validation is disabled.

Make sure that we wrap the llvm bitcode module in a dxil container
even when validation is disabled.

Note that we still produce a raw bitcode module output when only a
high- level compilation is requested by /fcgl.

When the llvm module is serialized to a dxil container we strip the
debug info. When using the internal validator we need to make a copy of
the llvm module before serializing so that debug info is present for
validation error messages.

Added a test to check that validation error messages have valid debug
info.
2017-01-13 17:58:30 -08:00
Xiang Li 2d4330634e Merge pull request #9 from Microsoft/dxilDev
Cleanup more Validation TODOs.
2017-01-12 18:01:37 -08:00
Xiang Li 96c0eb50ef Cleanup more Validation TODOs. 2017-01-12 17:59:37 -08:00
Xiang Li 1c960f4abf Merge pull request #8 from Microsoft/dxilDev
Cleanup Validation TODOs.
2017-01-11 10:49:49 -08:00
Xiang Li 03149de76f Cleanup more validation TODOs. 2017-01-11 10:42:48 -08:00
Xiang Li 8eb801f1fd Clean more validation TODOs. 2017-01-10 16:24:10 -08:00
Xiang Li 245a771a85 1. Clean more validation TODOs.
2. Support array of SV_Target.
2017-01-10 11:44:48 -08:00
python3kgae 277f6b300b Merge pull request #4 from Microsoft/dxilDev
Clean more TODOs for Validation and Dxil generation.
2017-01-04 13:32:57 -08:00
Xiang Li 28b3ffe821 Clean more validation TODOs. 2017-01-04 13:29:28 -08:00
Xiang Li 93274654a7 Check input qualifier for patch constant function. 2017-01-04 13:29:28 -08:00
python3kgae efd2c4ed36 Merge pull request #3 from Microsoft/dxilDev
Fix memory leak in ShaderOpParser::ParseShaderOpSet.
2017-01-04 12:50:30 -08:00
Xiang Li 6196364aed Fix memory leak in ShaderOpParser::ParseShaderOpSet. 2017-01-04 12:48:49 -08:00
David Peixotto bb4794ca6c Improve new user experience (#1)
Improve new developer experience

Update README and hctstart.cmd tools to help new developers.

Update README
    * Add instructions on how to setup the build environment
      from the command line.
    * Add note to install common tools for c++ to get the atl headers.
    * Change cmake download to point to cmake 3.4.3. Version 3.4 did
      not work for me (it could not find the Visual Studio compiler tools).

Modify hctstart.cmd
    * Explicitly check for the d3d12.h header from the 10240 windows kit.
      Without this early check we get a build error much later.
    * Check for cmake version 3.4.3 and warn if not found.

Update gitignore for visual studio code temporary files.
2017-01-04 09:24:29 -08:00
python3kgae a4fb21b713 Merge pull request #2 from Microsoft/dxilDev
Use unique_ptr to make sure memory not update when local variable desctructing.
2017-01-03 18:24:10 -08:00
Xiang Li e49d495f94 Use unique_ptr to make sure memory not update when local variable desctructing. 2017-01-03 18:16:50 -08:00
Marcelo Lopez Ruiz 6ee4074a4b first commit 2016-12-28 11:52:27 -08:00