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

868 Коммитов

Автор SHA1 Сообщение Дата
Lei Zhang d39c94c56f
[spirv] Emit warning for packoffset (#951)
We do not support packoffset right now. Emit warning and ignore it.
2018-01-03 10:13:04 -05:00
Lei Zhang 4bee20cac9
[spirv] Legalization: use CCP and enable on HS/DS/GS (#948) 2017-12-21 16:20:52 -05:00
Ehsan 6887b565f4
[spirv] Fix the return type of OpSelect. (#947) 2017-12-21 13:40:42 -05:00
Lei Zhang dfa66b6b9a
[spirv] Refresh SPIRV-Tools and update legalization pass recipe (#946) 2017-12-21 10:44:56 -05:00
Ehsan 5362b3597b
[spirv] Handle GetDimension methods w/ float args. (#944) 2017-12-21 10:20:46 -05:00
Lei Zhang f9b53ba663
[spirv] Emit fatal error for failing to find counter variable (#939) 2017-12-20 20:35:58 -05:00
Lei Zhang 420e638d87
[spirv] Fix ConstantBuffer/TextureBuffer assignment (#929)
Assigning a ConstantBuffer<T> to a T is indeed a copy.
2017-12-20 20:31:55 -05:00
Lei Zhang a269cf44fe
[spirv] Emit counter variables for alias structured/byte buffers (#923)
Also handled updating counter variable aliases in assignment and
function calls.
2017-12-20 20:27:57 -05:00
Lei Zhang eaa3e8e26f
[spirv] Emit alias structured/byte buffer as pointer to pointer (#918)
This is to aid legalization passes to do their work.

For non-external variables of the following types

* (RW)StructuredBuffer
* (RW)ByteAddressBuffer
* AppendStructuredBuffer
* ConsumeStructuredBuffer

An extra level of pointer is applied. We use this extra level of
pointer to indicate that they are aliases. Loads and stores of
these alias variables will get the pointers of the aliased-to-
variables.

Associated counters is not handled in this commit.
2017-12-20 20:23:10 -05:00
Lei Zhang cf39455abf
[spirv] Update doc about variable storage classes (#945) 2017-12-20 18:34:25 -05:00
Lei Zhang 9316ec211f
[spirv] Test atomic intrinsics on primitive types in CS (#943)
Interlocked*() can only be performed on int or uint typed resources
and shared memory variables.
2017-12-20 16:18:06 -05:00
Lei Zhang c1991aadc8
[spirv] Fix static function variable initialization (#942)
Static function variable should be initialized once. We were
emitting if checks to make sure that but got the branch wrongly
flipped.
2017-12-20 14:03:46 -05:00
Xiang Li b816c124f1
Support resource select for lib profile. (#940) 2017-12-20 10:47:29 -08:00
Justin Holewinski 9ebf135f7d Update NV section of README to reflect r387 (#941)
The r387 driver series is the first to support DXIL
in release mode on Win10 FCU and later.
2017-12-20 05:33:03 -08:00
Xiang Li ba844c25fe
Support local resource array which don't have dynamic indexing. (#938) 2017-12-19 15:29:11 -08:00
Ehsan fc52dbced0
[spirv] Document missing pow2 partitioning feature. (#937)
* [spirv] Document missing pow2 partitioning feature.
* Provide more accurate location for attributes.
2017-12-19 13:37:48 -05:00
Ehsan cb4e570b82
[spirv] warn {row|col}_major on standalone matrix. (#935) 2017-12-18 16:48:16 -05:00
Lei Zhang 1c498f3743
[spirv] Allow indexing into temporary struct (#934)
Also added a method for creating temporary variables.
2017-12-18 14:23:49 -05:00
Ehsan 8c5a38ba22
[spirv] Fix Memory Barrier mappings to SPIR-V. (#917) 2017-12-18 14:07:45 -05:00
Ehsan 9a502c0e10
[spirv] Fix image sample instruction return types. (#932) 2017-12-18 10:26:59 -05:00
Sebastian Tafuri 1a45ed822a [spirv] Add support for vk::offset attribute (#922)
Added support for the vk::offset attribute to manually
specify offsets for struct members.

This commit only handles non-nested structs and it
does not validate the offset provided either.
2017-12-15 14:06:42 -08:00
Lei Zhang ec8dc62320
[spirv] Fix vector casting that can be const-evaluated (#931)
For vector casting that can be const-evaluated, we need to call
tryToEvaluateAsConst(). Previously we only handled the scalar
case.
2017-12-15 13:04:21 -08:00
Xiang Li db99efe397
Support resource select inside loop. (#930)
Also fix scalarizer fail when scattered element is null.
2017-12-15 11:33:03 -08:00
Lei Zhang dfff2c0e15
[spirv] Fix wrong type when casting bool to literal int (#928) 2017-12-15 09:27:37 -08:00
Young Kim ecdde943f7
Fix microcom and build issues, add missing .rc files
- fix microcom.h macros to allow for custom constructor and other issues
- fix 32/64-bit build issues in ShaderOpTest
- add missing .rc files for dxl, dxlib_sample, and dxc_batch
2017-12-14 18:38:53 -08:00
Tex Riddell bf258eb98e
Fix ValidationTest failure when DXIL.dll present (SV_IsFrontFace type change) (#927) 2017-12-14 17:56:54 -08:00
Tex Riddell b8628000aa
type_traits.h: Support isPodLike for _MSC_VER >= 1900 (#925) 2017-12-14 14:41:00 -08:00
Xiang Li be1e6b130e
More fix for integer cbuffer variable has init val. (#924) 2017-12-14 14:02:13 -08:00
Young Kim 6c998fda25
- Add int16, uint16 execution tests (#920)
- Add enable-16-bit-types argument to half test shaders
2017-12-14 11:33:59 -08:00
Xiang Li 6539689175
Make sure default val for cbuffer element is ignored. (#921) 2017-12-14 09:24:33 -08:00
Xiang Li 4f7016af53
Support isfrontface as uint. (#919) 2017-12-13 20:41:51 -08:00
Young Kim bf911b1d22
Add 16bit integers to Any IntrinsicCompTypes and for existing UInt3264 comp types. (#913) 2017-12-13 13:44:10 -08:00
Lei Zhang 08355c1764
[spirv] Early return for non-function call (#916) 2017-12-13 10:59:59 -08:00
Ehsan 4561cb9ea1
[spirv] Temporary struct/class object method call. (#912) 2017-12-13 08:50:50 -05:00
Xiang Li 0790e03364
Remove stacksave and stackstore. (#914) 2017-12-12 18:50:01 -08:00
Young Kim ecf0307963
Half tests (#911)
- Adding half tests for unary,binary,tertiary math operations
- Add 'exec-future' option for hcttest
2017-12-12 15:12:19 -08:00
Ehsan 1d4509f35d
[spirv] Support Load methods that take Status arg. (#905) 2017-12-12 17:38:30 -05:00
Lei Zhang 674aa26115
[spirv] Refresh external dependency SPIRV-Tools (#910) 2017-12-12 13:34:32 -05:00
Tex Riddell 055cf27ac7
Fix re-emit metadata, and skip ViewID state for libs. (#908) 2017-12-11 21:57:00 -08:00
Xiang Li 64eb31cc51
Ignore default val for cbuffer. (#907) 2017-12-11 18:21:09 -08:00
Lei Zhang 37e8153e70
[spirv] Remove structured/byte buffer assignment tests (#906)
We will have a different way of handling structured/byte buffer
aliasing.
2017-12-11 15:41:41 -05:00
Ehsan 679b7c80c7
[spirv] Support CheckAccessFullyMapped intrinsic. (#897) 2017-12-11 14:02:21 -05:00
Marcelo Lopez Ruiz 546b159729
Make dndxc dll search path more user friendly (#904) 2017-12-11 09:18:06 -08:00
Marcelo Lopez Ruiz 08990d21e3
Restore variable width font, !dbg scrolls into view and highlights col. (#852)
Some perf improvements to colorization.
2017-12-10 13:35:41 -08:00
Marcelo Lopez Ruiz f1cfd374f9
Run fewer reflection tests even in full case (#865) 2017-12-10 13:35:18 -08:00
Xiang Li c011ec3d55
Support vector constant in TryEvalIntrinsic. (#902) 2017-12-09 16:27:44 -08:00
Xiang Li 639e12c118
When MemcpySplitter::PatchMemCpyWithZeroIdxGEP, not go inside matrix. (#901) 2017-12-08 22:32:52 -08:00
Young Kim fdadc6d718
Denorm float tests (#899)
-Execution tests for Shader Model 6.2 denorm mode
-'FAdd', 'FSub', 'FMul', 'FDiv', 'FMad' instructions are used for testings
-Code cleanup
2017-12-08 18:18:32 -08:00
Xiang Li 455885b3fc
Support matrix transpose. (#900) 2017-12-08 16:40:23 -08:00
Lei Zhang d7a96e9e80
[spirv] Always emit a counter variable for RWStructuredBuffer (#896)
This will make handling RWStructuredBuffer aliasing legalization
easier later.
2017-12-07 17:02:16 -05:00