Young Kim
e507d99e4e
fix merge conflict on SROA
2018-04-10 17:33:37 -07:00
Young Kim
0777a7a020
Merge branch 'master' into rtmaster
2018-04-10 16:47:47 -07:00
Tex Riddell
0021e993a2
Merged PR 56: Avoid inserting other insts before allocas in several passes.
...
Avoid inserting other insts before allocas in several passes.
- Improve code that creates allocas/non-allocas to keep allocas first
- Add helper functions to dxilutil
- Use name AllocaBuilder for CreateAlloca for clarity
2018-04-10 23:33:41 +00:00
Young Kim
0bc25bd790
Revert dxilpipelinestatevalidation namespaces
2018-04-10 12:31:30 -07:00
Lei Zhang
0a8b8c4e1d
[spirv] Rename -fvk-use-glsl-layout to -fvk-use-gl-layout ( #1206 )
...
GLSL as a shading language does not define the layout rules for
std140/std430; the OpenGL graphics environment defines that.
This is also more consistent with -fvk-use-dx-layout.
2018-04-10 10:25:26 -04:00
Young Kim
33a8ad5130
Merged PR 61: Implement DxilRuntimeRefleciton API for runtime
...
DxilRuntimeReflection uses RDATTableReader to obtain information about the library. InitFromRDAT call will allocate all memory required to get DXIL_LIBRARY_DESC.
2018-04-10 00:08:50 +00:00
Lei Zhang
99c142be0b
[spirv] Add support for DX layout rules ( #1198 )
...
These layout rules can be turned on with -fvk-use-dx-layout.
For both cbuffer/tbuffer and structured buffers.
2018-04-08 12:50:57 -04:00
Ehsan
2a0b7c49fd
[spirv] Add -fspv-target-env command line option. ( #1187 )
...
* [spirv] Add -fspv-target-env command line option.
The valid values for this option currently are:
vulkan1.0
vulkan1.1
If no target environment is specified, vulkan1.0 is used as default.
2018-04-03 09:12:51 -04:00
Tex Riddell
335ee949bb
More places to be cautious about alloca vs. non-alloca insert locs.
...
- some builder name changes for consistency
2018-03-29 18:05:38 -07:00
Xiang Li
357803d342
Don't sink sample coordinate into control flow. ( #1188 )
2018-03-29 16:33:59 -07:00
Lei Zhang
241d32c810
[spirv] Allow explicitly controlling SPIR-V extensions ( #1151 )
...
Added FeatureManager to record all extensions specified from
the command-line and emit error if trying to use one not permitted.
Added command-line option -fspv-extension= to specify
whitelisted extensions.
2018-03-27 17:42:16 -04:00
Xiang_Li (XBox)
1d91a0a5b1
Merged PR 59: Remove hl functions has body and always inline before DxilGeneration to avoid
...
Remove hl functions has body and always inline before DxilGeneration to avoid fail to find resource for update counter.
2018-03-27 21:35:10 +00:00
Sebastian Tafuri
44dff38588
Silence unusued variable warning when building without asserts ( #1073 )
...
* Silence unusued variable warning when building without asserts
* Spaces instead of tabs
* Replaced DXASSERT with DXASSERT_LOCALVAR instead
2018-03-27 09:27:17 -07:00
Lei Zhang
236cdc1cdf
Hook up --help-hidden with PrintHelp() ( #1060 )
...
We have defined --help-hidden in HLSLOptions.td but the compiler
is not set up to respect it. This commit hooks up them.
2018-03-27 12:08:11 -04:00
Xiang Li
a489c2ec25
Transform mad(a, 0, b) into b. ( #1150 )
2018-03-19 18:04:56 -07:00
Lei Zhang
0d8a15a61a
[spirv] Better reflection support via new extensions ( #1111 )
...
This commit uses the HlslCounterBufferGOOGLE decoration to link
the main RW/Append/Consume StructuredBuffer with its associated
counter buffer. It also uses HLSLSemanticGOOGLE to decorate
stage IO variables with their semantic strings from the source code.
2018-03-17 13:05:31 -04:00
Young Kim
f174990c6e
Fix checking LoadInput for GetAttributeAtVertex for no Opt ( #1149 )
2018-03-17 08:45:46 -07:00
Grant
18138ff8cf
Handle more complex addressing modes ( #1147 )
...
Fix HoistConstantArray pass to recognize more complex load & store patterns.
Previously it was expecting no nesting and just a simple list of GetElementPtr's that fed loads or stores. Now it can accept a tree (DAG) of GetElementPtrs that feed leaf node loads or stores.
These patterns cannot be directly derived from HLSL, however they can occur due to previous optimizations that transform the array accesses (like a partial CSE or similar).
2018-03-16 14:29:36 -07:00
Tex Riddell
81f8b8c3a2
Avoid inserting other insts before allocas in several passes.
...
- Improve code that creates allocas/non-allocas to keep allocas first
- Add helper functions to dxilutil
- Use name AllocaBuilder for CreateAlloca for clarity
2018-03-15 17:41:42 -07:00
Tex Riddell
6f531dedd0
Merge branch 'user/texr/unused-var-warning' into user/texr/rt-merge-rebase
2018-03-13 12:47:40 -07:00
Tex Riddell
53bb89f6d8
Fix unused local var warning when DXASSERT is off.
2018-03-13 12:44:59 -07:00
Young Kim
648b4aebd1
Merged PR 47: Remove duplicate resource usage for a function for arrays of resources
...
Remove duplicate resource usage for a function for arrays of resources
2018-03-13 18:13:46 +00:00
Xiang Li
d66d48721f
Set default input control point count to 1. ( #1135 )
2018-03-13 11:06:30 -07:00
Tex Riddell
74f4fee608
HLMatrixLower: Fix out matrix param for lib func
2018-03-13 01:53:52 -07:00
Tex Riddell
5f94a3cf57
Save/restore diag printer in LoadModuleFromBitcode.
2018-03-12 23:16:31 -07:00
Tex Riddell
e237f8a57e
Merged PR 50: Fix attributes for ray intrinsics that can change during traversal
...
Fix attributes for ray intrinsics that can change during traversal
2018-03-13 03:13:03 +00:00
Tex Riddell
cb5f27c080
Merge branch 'master' into user/texr/rt-merge-rebase
2018-03-12 13:11:12 -07:00
Tex Riddell
8ba7f58967
Merged PR 44: Fix CreateTransposeShuffle in HLMatrixLowerPass
...
Fix CreateTransposeShuffle in HLMatrixLowerPass
2018-03-12 20:10:00 +00:00
Tex Riddell
64dada19d7
Merged PR 41: Prevent GVN from upsizing loads and bitcasting i32* to i64* breaking DXIL
...
Prevent GVN from upsizing loads and bitcasting i32* to i64* breaking DXIL
2018-03-12 20:09:49 +00:00
Tex Riddell
bb2009ac39
Merged PR 40: Skip unused resources in FindUsingFunction fixing AV
...
Skip unused resources in FindUsingFunction fixing AV
2018-03-12 20:09:37 +00:00
Tex Riddell
4b02d18ca2
Merged PR 39: Linker: add resources to LLVMUsed so they don't get deleted prematurely
...
Linker: add resources to LLVMUsed so they don't get deleted prematurely
2018-03-12 20:09:24 +00:00
Tex Riddell
dcaad9e14c
Fix scalarizer for shuffle on vector produced later ( #1128 )
2018-03-12 12:58:48 -07:00
Tex Riddell
571ff78e00
DPF on llvm_assert. ( #1115 )
2018-03-12 12:55:31 -07:00
Lei Zhang
70990344ed
[spirv] Implement relaxed layout for vector types ( #1092 )
...
Based on GLSL std140/std430 layout rules, relaxed layout allows
using vector's element type's alignment as the vector types's
alignment, so that we can pack a float value and a float3 value
tightly. This is the default right now.
Also add an option, -fvk-use-glsl-layout, to turn off the relaxed
layout for vectors and use conventional GLSL std140/std430 layout
rules.
2018-03-12 10:21:54 -04:00
Young Kim
799331737d
Merged PR 38: Cleanup RDAT Table, fixing resource dependency, and adding function dependency
2018-03-10 01:57:20 +00:00
Tex Riddell
f8e1af0417
Merge branch 'master' into user/texr/rt-merge-rebase
2018-03-09 00:55:21 -08:00
Xiang Li
277bb0bce3
Use memcpy when cast cbuffer constant into static global. ( #1125 )
2018-03-08 22:34:46 -08:00
Tex Riddell
2a9e758f06
Merged PR 34: Fix matrix handling when array and other cases within function args.
...
Fix matrix handling when array and other cases within function args.
2018-03-09 02:13:14 +00:00
Tex Riddell
fbbd1c1350
Merged PR 36: Fix StructuredBuffer GetDimensions stride
...
Fix StructuredBuffer GetDimensions stride
2018-03-08 08:41:58 +00:00
Young Kim
20067a37fe
Merged PR 35: Merge user/kiyoung/function-feature-flag to user/texr/rt-merge-rebase
...
- Refactoring ShaderFlag out of DxilModule
- Have Shader Flag per function on RDAT blob
2018-03-08 01:59:39 +00:00
Tex Riddell
bff194564f
Merged PR 33: Fix break due to mismatched use of const in Props/Signature Map keys.
...
Fix break due to mismatched use of const in Props/Signature Map keys.
2018-03-06 18:18:29 +00:00
Xiang_Li (XBox)
be06ec1d3a
Merged PR 32: Remove unused debug info when linking.
...
Remove unused debug info when linking.
2018-03-06 02:25:52 +00:00
Xiang_Li (XBox)
88de36b2f5
Merged PR 31: Support select chain in TranslateHLCreateHandle.
...
Support select chain in TranslateHLCreateHandle.
2018-03-05 23:07:47 +00:00
Tex Riddell
e3b66dc556
Merged PR 29: Fix linking to library with unresolved function declarations.
...
Fix linking to library with unresolved function declarations.
2018-03-01 03:50:48 +00:00
Xiang Li
3873af6750
Support addrspacecast when flatten global variable. ( #1103 )
2018-02-27 17:16:58 -08:00
Xiang Li
19616e53b5
Revert "Support addrspacecast when flatten global variable."
...
This reverts commit d74ff8a97d
.
2018-02-27 10:59:48 -08:00
Xiang Li
d74ff8a97d
Support addrspacecast when flatten global variable.
2018-02-27 10:55:35 -08:00
Young Kim
0a098d7cbb
Merged PR 28: Add RDAT blob for library targets and add its reader
2018-02-26 23:51:39 +00:00
Tex Riddell
fa03d3362a
Fix payload/attr/param sizes, add test, fix some metadata non-determinism
2018-02-21 19:04:09 -08:00
Tex Riddell
914c040b14
Merged PR 26: Fix intrinsic names to match spec.
...
Fix intrinsic names to match spec.
- PrimitiveIndex still maps to low level dx.op.primitiveID
2018-02-21 21:51:20 +00:00