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

3061 Коммитов

Автор SHA1 Сообщение Дата
Vishal Sharma 23a94db422
Handle matrix type when expanding store intrinsics (#3418) 2021-02-03 09:13:04 -08:00
Vishal Sharma 991205e511
Fix a bug in buffer store when storing matrix of size greater than four (#3422) 2021-02-02 19:40:59 -08:00
Helena Kotas f56d2aff87
Lower the priority of HelperLaneTestWave (#3425) 2021-02-01 19:35:32 -08:00
Adam Yang 6cd93dfe40
Added option to not generate nops (#3419) 2021-02-01 15:57:53 -08:00
Adam Yang 01135442bb
Fixed the parameter for QuadReadLaneAt incorrectly being const (#3421) 2021-02-01 15:44:12 -08:00
Xiang Li 81af620244
Fix bug when lower NonUniformResourceIndex. (#3417)
Should only mark nonUniform on user of CI.
2021-02-01 12:02:05 -08:00
Minmin Gong 65155d95bd
In the original code, there are chances to compare an iterator from m_CBsByName to m_StructuredBufferCBsByName.end(). It crashes if _ITERATOR_DEBUG_LEVEL is not 0. Fix it by comparing an iterator to the container it's from. (#3160)
Co-authored-by: Minmin Gong <mgong@microsoft.com>
2021-01-29 14:31:52 -08:00
Tex Riddell de63c27429
Re-enable IsHelperLane test since down-conversion is in (#3410) 2021-01-29 13:14:17 -08:00
Tex Riddell 3b99af518d
Implement fallback path for IsHelper on SM < 6.6 (#3408) 2021-01-29 11:05:05 -08:00
Xiang Li 7b3c0bba92
Allow delete self loop in JumpThreading. (#3409) 2021-01-29 10:37:31 -08:00
Greg Roth f68dfb5092
Add hidden option to disable lifetime markers (#3406)
Intended for debugging and workarounds
2021-01-28 19:54:16 -08:00
Greg Roth 9248e571fe
Defined behavior on all wave sensitivity outcomes (#3405)
The wave sensitivity analysis should produce a result for any relevant
instruction. It fails in some cases, which is a bug. However, the result
of that bug shouldn't be intermittent incorrect errors as it is now.

When a result isn't found, assume that there is no wave sensitivity. The
assert is kept and might produce a warning ultimately. This is meant to
add a guard rail to the worst case scenario.
2021-01-28 17:34:17 -08:00
Helena Kotas 0df938a563
Fix broken execution tests (#3404) 2021-01-28 14:15:49 -08:00
Xiang Li 5a90ffd72b
Change default type for 1<<x to int. (#3400) 2021-01-27 19:28:24 -08:00
Adam Yang d08b307146
Fixed global constructors evaluated at codegen aren't removed (#3389) 2021-01-26 13:35:48 -08:00
Helena Kotas 3d918a239d
Remove extra argument from END_TEST_METHOD macro invocation (#3394) 2021-01-26 12:39:29 -08:00
Helena Kotas d1700eed47
Update highest shader model in Execution test (#3392) 2021-01-25 21:54:02 -08:00
Xiang Li f532d0a7f1
Remove empty loop. (#3391)
* Remove empty loop.
2021-01-25 20:15:53 -08:00
Tex Riddell 3f93d3bd25
Disable linux requirement in Travis due to unresolved infra issue (#3393) 2021-01-25 19:54:02 -08:00
Tex Riddell 59804ddd36
Remove Travis Build Status to unblock 2021-01-25 19:24:18 -08:00
Tex Riddell 318f0ea52c
Enable ISHELPERLANE_PLACEHOLDER in test until implementations catch up. (#3388)
* Enable ISHELPERLANE_PLACEHOLDER in test until implementations catch up.
* HelperLaneTestWave to Pri2 to avoid warp problems in default run for now
2021-01-25 18:38:06 -08:00
Xiang Li eb2d54612a
Remove debug code. (#3390) 2021-01-25 14:27:24 -08:00
Ehsan a233960c3f
[spirv] Don't apply RelaxedPrecision to ops operating on bools (#3364)
* [spirv] Don't apply RelaxedPrecision to Unary/Binary ops operating on booleans

* Address code review comments.
2021-01-25 10:05:31 -06:00
Ehsan f11daf7d42
[spirv] Fix storage class for ptr-to-ptr in Vulkan 1.2. (#3344)
* [spirv] Fix storage class for ptr-to-ptr in Vulkan 1.2.

* [spirv] Add one more test case.

* Address code review comments.
2021-01-25 10:04:48 -06:00
Xiang Li 48a661e490
Remove DxilCondenseResourcesPass. (#3386) 2021-01-22 23:49:34 -08:00
Greg Roth e99a6a9f91
silence sign warning on some systems (#3384)
A recent change produces a warning, which is sometimes interpretted as
an error, causing builds to fail
2021-01-22 23:08:43 -08:00
Tex Riddell b0f129cd09
Add ResourceKind/NumThreads to PSV0 (DxilPipelineStateValidation) (#3233)
- Increment MAX_PSV_VERSION to 2
- Clean up versioning logic
- Add NumThreads to PSV0 v2
2021-01-22 16:41:40 -08:00
Jaebaek Seo a3c52dbbbc
[spirv] Fix failure caused by multiplying size() and int (#3379)
The code `int foo; .. size(float) * foo` causes failure because
`getElementSpirvBitwidth()` in AstTypeProbe.cpp does not handle the type
of `sizeof()` which is the "unsigned long" type. This commit handles it.

Fixes #2814
2021-01-22 15:54:13 -06:00
Tex Riddell 7c9e487afd
Implement IsHelperLane() (#3382) 2021-01-22 12:45:18 -08:00
Helena Kotas e2af267152
IsHelperLane() Execution Tests (#3367) 2021-01-22 10:34:30 -08:00
Xiang Li 8dd1bc1959
When create annotateHandle, put it near to input handle so it could be optimized. (#3381)
* When create annotateHandle, put it near to input handle so it could easier to be optimized.
2021-01-21 22:23:34 -08:00
Xiang Li 797d4b8adc
Mutate resource to handle for shader model 6.6+. (#3374)
* Mutate resource to handle for sm_6_6+.

* Use bitcast to save global symbol and HLSL type for DxilResourceBase.
2021-01-21 17:16:06 -08:00
Ehsan 0ec5839e5e
[spirv] Update SPIRV-Tools. (#3365) 2021-01-21 10:22:25 -06:00
Ehsan bcf56f2670
[spirv] Fix target env error message. (#3346) 2021-01-21 10:22:11 -06:00
Tex Riddell 9dca645a99
DxilConv: localize caching of handles instead of storing in resource obj (#3376)
Future work would be confused by current meaning of Set/GetHandle
on DxilResourceBase, which didn't make sense anyway for this narrow
use case limited to DxilConv.

This change replaces that use with a local handle Value* cache keyed off
of the resource class and slot.
This is valid only for SM 5.0 and below, where the cache applies.
It can't be used generally for SM 5.1, which is an existing limitation,
so no change here.
2021-01-20 17:39:33 -08:00
Greg Roth 61c6573842
Remove early aspirational language about DXIR standard (#3375)
Early on, the plan was to document DXIR similar to DXIL. There are no
current plans to do so. This updates the documentation to reflect that.
2021-01-20 17:02:25 -08:00
Adam Yang 43d430650f
Added the missing thread local IMalloc for possible memory allocation in some implementations (#3373) 2021-01-20 14:12:13 -08:00
Adam Yang 2b8ef5b57e
Removed source from debug module. Support slim PDB. (#3348) 2021-01-20 12:25:28 -08:00
Xiang Li ac60ae1f4d
Add annotateHandle when link lower shader model to shader model 6.6. (#3368)
* Add annotateHandle when link lower shader model to shader model 6.6.
2021-01-19 18:15:58 -08:00
Adam Yang 2f40325448
Don't crash when querying hash when hash is empty (#3366)
Co-authored-by: Adam Yang <laevus.y@gmail.com>
2021-01-19 12:35:30 -08:00
Greg Roth 9152bb39fa
Lifetime test: UAVcreation/raytracing conditionals (#3356)
The lifetime test had parameters for UAV creation in the wrong order so
they were misassigned. The use of lib creation also didn't depend on
raytracing support as it should.

correct some other sm66 cap bit checks too
2021-01-15 07:40:27 -08:00
Xiang Li 50981cdefe
Support CallInst when ReplaceStaticIndexingOnVector. (#3354)
* Support CallInst when ReplaceStaticIndexingOnVector.
2021-01-13 20:02:28 -08:00
Xiang Li 83e538ecc3
Use IsEntry when LowerStaticGlobalIntoAlloca. (#3353) 2021-01-13 16:14:09 -08:00
Greg Roth cb3b54fdc8
Refactor resource creation in resources exec test (#3349)
Various resources have been created inconsistently with the shader
representation. After running out of bandaids, this refactors that code
to give the caller the tools necessary to create the resources
correctly.
2021-01-12 16:25:11 -08:00
Xiang Li 8e3a21c417
Call init function for entry of lib profiles. (#3350)
* Call init function for entry of lib profiles.
2021-01-12 11:29:13 -08:00
Helena Kotas cf044cc960
Minor changes to tests to silence warnings (#3342)
* Minor changes to tests to silence warnings

* Remove unused arguments
2021-01-11 20:59:39 -08:00
Greg Roth 11f07659a7
Allow adding object methods when in namespace (#3284)
Builtin object types such as Texture2D add all their object methods
to the associated decl context when they are first seen. However,
previously, if the code meant to effect that was found in a namespace
it would skip this addition. This removes that restriction so that
the methods can be added and then found when needed.

Fixes #2472
2021-01-11 16:00:01 -08:00
Greg Roth b90095fc87
Don't create static global for uninited local const (#3345)
Previously, codegen attempted to skip the alloca creation that would
be encountered below and just emit the constant init. However, the
code in EmitAutoVarDecl() first checks whether the Init is null using
isTrivialInitializer() and just bails if it is.

This adds the isTrivialInitializer() call to the conditions here
since we fallback to the alloca if there is no constant initializer.
2021-01-11 15:06:07 -08:00
Greg Roth 442cac1a44
Fix mesh and groupshared in ExecutionTest (#3339)
The ShaderOpTest code for mesh shaders had a lot of problems. This
corrects the initialization of the pipeline and the dispatch.

In addition, there were various problems with ExecutionTests for atomics
where mesh shaders were used. This adds testing for mesh results that
was being skipped. This required adjustment of the indices.

Also required was proper accumulation of groupshared values between
amplification and mesh shaders.

Various and sundry indexing corrections were also required.
2021-01-08 13:26:34 -08:00
Adam Yang 897fee8ba9
PDB Util shouldn't fail on DXIL with no debug info (#3337) 2021-01-06 14:48:55 -08:00