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

2488 Коммитов

Автор SHA1 Сообщение Дата
Tex Riddell 540104fc0e SV_ShadingRate should be allowed in MSPOut
- removed _65 from MS stages, since that's handled by the shader target.
2019-11-20 11:58:17 -08:00
Vishal Sharma d570a7da9c
Revert "Enable clang warnings for uninitialized variables/structs (#2424)" (#2591)
This reverts commit b342647084.
2019-11-15 11:13:42 -08:00
Xiang Li d1a6309854
Set validator version match dxil version by default. (#2589)
* Set validator version match dxil version by default.
Note:  this is to avoid old validator throw exception on new compiler generated container.
          If find solution to make it, it is OK to revert this change.
2019-11-14 16:12:33 -08:00
Tex Riddell f4965b71dd Integrate dxcapi v2 and other changes from internal (#2575)
* Integrate changes from internal.

- dxcapi v2
- new dxc options
- DxilValueCache
- PDB and NoOpt improvements
- noop / llvm::donothing() support

* Update dxrfallbacklayer for dxcapi internal changes

* Reorder diag block based on whether pDiag is set first.

* llvm::donothing() requires dxil 1.6 / SM 6.6 for now, lib as well.

* Fixes for spir-v, non-VC compiler and non-Windows builds

- DEFINE_CROSS_PLATFORM_UUIDOF for new interfaces
- add SAL annotations
- turn output argument validation for -P into warning
- handle warnings without concatenating them to main output
- update spirv preprocessing and compilation paths
- return E_NOTIMPL from IDxcUtils::CreateReflection
- cleanup: DxcContainerBuilder back to uft8, DxcTestUtils: remove comment

* Fix some warnings from clang/gcc.

* Fix unicode conversion problems on linux, where sizeof(wchar_t) == 4

Note this is an intermediate fix.
On linux, what we are calling utf16 is actually a wide string
that's probably utf32.  This change fixes issues introduced by
the new interface changes so things are consistent and pass tests.

A future fix should correct the encodings so they are correctly labeled
on platforms where wchar_t doesn't mean UTF16.

* Return false for IsBufferNullTerminated when CP_ACP.

One test for Disassembler was crashing because it created a pinned blob
with a size of 1 << 31 + 1 without actual memory backing this.  The
IsBufferNullTerminated would attempt to see if this was null terminated,
causing AV.

This change also removes CP_UTF8 from this test when it was creating
binary blobs, not UTF8 text blobs.
2019-11-13 16:16:45 -08:00
Vishal Sharma 48d3b17b2b
Fix DXIL linker issue (#2588) 2019-11-13 12:59:01 -08:00
Ehsan 34143cb26c
[spirv] Fix crash if ControlPointID is missing. (#2568) 2019-11-13 12:42:29 -05:00
Ehsan 1d1033426b
[spirv] Fix the UserSemantic decoration string. (#2581) 2019-11-13 12:41:57 -05:00
Adam Yang 3c20b0d808
Fixed dia requiring zero termination in binary bitcode and crashing when emitting warning. 2019-11-12 22:24:07 -08:00
Ehsan b410445cf8
[spirv] Update SPIRV-Tools and SPIRV-Headers. (#2585) 2019-11-12 15:49:53 -05:00
Xiang Li 94460c988b
Support register binding on resource in cbuffer. (#2582) 2019-11-11 12:03:06 -08:00
Xiang Li 462253a263
Clear register binding for resource in cbuffer. (#2580)
TODO: use correct register binding if exist.
2019-11-08 12:56:44 -08:00
amarpMSFT 42a511cb77
Add missing intrinsics to query InstanceContributionToHitGroupIndex via RayQuery (#2578)
* Add Candidate_ and Committed_InstanceContributionToHitGroupIndex() intrinsics to RayQuery object
2019-11-07 13:16:36 -08:00
Xiang Li f09333ba88
Support case memcpy has multiple overloads. (#2573) 2019-11-06 14:58:29 -08:00
Xiang Li 2b296a784e
Not hoist when has different operand. (#2569) 2019-11-05 21:53:45 -08:00
Adam Yang d4a1780aa9
Disasm to allow PDB input (#2566) 2019-11-05 13:29:00 -08:00
John Porto faf5d02abb
Adds a suffix to the compiler driver title (#2565) 2019-11-04 17:01:46 -08:00
Tex Riddell c54dd6b57c
Support valiadation/signing of root signature target output (#2560) 2019-11-01 16:02:25 -07:00
Jeff Noyle dfda2ee12d
Use DWORD-aligned raw access only! (#2559) 2019-10-29 16:36:45 -07:00
Adam Yang 3a870f2c08
Cleaning up unused alloca. (#2558)
* Cleaning up unused alloca

* Slight improvements

* Use single list. Added memcpy

* Made everything simpler
2019-10-28 22:20:22 -07:00
Xiang Li 0d24872386
Take care resource in cbuffer when not_use_legacy_cbuf_load. (#2543) 2019-10-26 13:05:24 -07:00
Helena Kotas 07a970d3c1
Update version for 1910 release branch (#2552) 2019-10-25 13:59:16 -07:00
Tex Riddell 0513758aee
Fix header/reflection for RTAS/FeedbackTexture (#2549)
- Make header no longer conflict with officially added shader input types
- Replace uses with last enum +1/+2 to make compatible with prev SDKs
- Add reflection Test for FeedbackTexture2D[Array]
2019-10-24 17:27:27 -07:00
Tex Riddell 35e3e3105a
Reflection: Remove hack preventing more than one SV_ClipDistance (#2544)
No idea why this was here, but it was very old (predates GitHub repo),
and no tests failed when I removed it, so I think it's fine to remove.
2019-10-24 17:13:15 -07:00
Tex Riddell f032e2bce5
Fix precise on matrix with matrix subscript. (#2545) 2019-10-24 17:08:05 -07:00
Jeff Noyle 8ea40f8604
PIX DIA: Use min/max RVA of variable's uses as live range (#2548) 2019-10-24 15:54:57 -07:00
Adam Yang 755aed5536
Fixed an infinite loop in DxilEraseDeadRegion (#2542)
* Fixed infinite loop in erase dead region

* Slightly simpler

* Added test
2019-10-24 14:11:46 -07:00
Xiang Li b21fc88a55
Disable scalarization of const_static vector arrays. (#2546) 2019-10-24 11:58:38 -07:00
Helena Kotas 4391420da4
Integration from OS repo (#2541)
Includes OS PR #2130654: C++17 readiness: Enable /std:c++17 globally: Fixes for C2039 Errors
2019-10-22 15:43:26 -07:00
Tex Riddell 244670ec9e Pass DxilTypeSystem to GetLoweredUDT for type annotations 2019-10-22 09:48:19 -07:00
Tex Riddell 6eb541244a Lower vector/matrix early for UDT ptrs used directly such as Payload 2019-10-22 09:48:19 -07:00
Tex Riddell 6357448a38 Update type validation to support legal UDT case.
New Rules:
outer type may be: [ptr to][1 dim array of]( UDT struct | scalar )
inner type (UDT struct member) may be: [N dim array of]( UDT struct | scalar )
scalar type may be: ( float(16|32|64) | int(16|32|64) )

- Disallow pointers to pointers, and pointers in structs
- Disallow multi-dim arrays at top-level, but allow within struct
2019-10-22 09:48:19 -07:00
Tex Riddell a9fe6e19f5 Validation: Remove flawed special case for MeshShader Payload type 2019-10-22 09:48:19 -07:00
Tex Riddell 74480d1e72 Validation: Allow inner constant GEP for GEP and BitCast instructions 2019-10-22 09:48:19 -07:00
Tex Riddell f383b21be9 Add HLLowerUDT: early UDT ptr lowering for direct use in final Dxil
- DispatchMesh and other intrinsics that use UDT ptr directly need
  this to prevent copying and reconstruction, as well as prevent vectors
  and HL matrices from being used in final Dxil.
2019-10-22 09:48:19 -07:00
Tex Riddell 8a54ceba7c HLMatrixSubscript lowering: support lowering directly to array 2019-10-22 09:48:19 -07:00
Tex Riddell 5e06769ac8 MultiDimArrayToOneDimArray: support multi-dim array of struct
- Required for native structure ptr used directly by certain intrinsics,
  such as DispatchMesh.
2019-10-22 09:48:19 -07:00
Tex Riddell 698d0bec6b HLMatrixLowerPass Fix: Memory representation for constant init 2019-10-22 09:48:19 -07:00
Tex Riddell f5e9661afa Handle groupshared addrspace cast in ComputeViewIDState 2019-10-22 09:48:19 -07:00
Tex Riddell dd3af11b88 Fix DispatchMesh with groupshared payload. 2019-10-22 09:48:19 -07:00
JohnMcPMS 4da72f15d9 Enable codegen to evaluate integral min/max (#2465) 2019-10-21 17:41:29 -07:00
Tex Riddell 4fe8cdbd1c
Add more tests for FeedbackTexture2DArray (#2539) 2019-10-21 17:37:54 -07:00
Helena Kotas 57a8a6c8db
Fix validation failure for 16-bit float resource types (#2524)
Fix validation failure for 16-bit float resource types, add fp16 test coverage for Texture2D.Sample*
2019-10-21 11:26:37 -07:00
Ehsan a5223dd210
[spirv] Allow result of logical ops as array index. (#2518) 2019-10-21 10:39:00 -05:00
Ehsan bcfaec9458
[spirv] groupshared vars should not be placed in $Globals cbuffer. (#2516) 2019-10-21 10:37:24 -05:00
Tex Riddell a6a28a34bc
Fix lowering for all TextureCube[Array] Sample* and Gather* overloads (#2535)
* Fix lowering for all TextureCube[Array] Sample* and Gather* overloads

* Fix offsets for Gather test for change to i32 0 from i32 undef

- When not specifying immediate offsets when they can apply,
  we used to provide undef, but we should have been using zero.
2019-10-19 13:28:54 -07:00
Tex Riddell a34bc16231
Merge pull request #2536 from tex3d/debug-name-noval
Fix recording debug name when validation disabled (-Vd)
2019-10-18 13:05:23 -07:00
Tex Riddell 5ac0044ef7 Update dxcutil in dxrfallbackcompiler to align 2019-10-18 02:35:19 -07:00
Tex Riddell c874b8176c Wrap inputs to [ValidateAnd]AssembleToContainer for more consistency 2019-10-18 01:47:27 -07:00
Tex Riddell c84990e498 Fix recording debug name when validation disabled (-Vd) 2019-10-18 00:36:13 -07:00
Xiang Li 9610b51caa
Decide unsigned for atomic on parameter 0. (#2533) 2019-10-17 23:15:53 -07:00