- Mar 02, 2018
-
-
Rex Xu authored
- Support new opaque types: f16sampler*, f16image*, f16subpassInput*. - Add new built-in GLSL texture/image functions.
-
John Kessenich authored
-
- Feb 28, 2018
-
-
John Kessenich authored
Fix typo in help for -V<bad-number>
-
John Kessenich authored
EShLangFragment falls through to EShLangCompute, only #ifndef AMD_EXTENSIONS.
-
davidhubbard authored
EShLangFragment falls through to EShLangCompute, only #ifndef AMD_EXTENSIONS. This is probably a bug.
-
David Neto authored
-
- Feb 27, 2018
-
-
John Kessenich authored
This factored computeTypeLocationSize() out of needing the TIntermediate contents, and uses it to show how to know how many locations an object needs. However, it still does not do cross stage, or mixed location/no-location analysis.
-
John Kessenich authored
-
John Kessenich authored
Constants were generally cached by type opcode, but all structures share the same type opcode (OpTypeStruct), so they need to be cached by type id.
-
- Feb 23, 2018
-
-
John Kessenich authored
-
- Feb 22, 2018
-
-
John Kessenich authored
GLSL/SPV: Fix #1196: Require resources to have layout(binding=X).
-
John Kessenich authored
-
John Kessenich authored
-
- Feb 21, 2018
-
-
John Kessenich authored
HLSL: Fix #1249: Always execute both sides of ternary "?:".
-
John Kessenich authored
This is semantically required by HLSL, and frequently results in using OpSelect instead of control flow.
-
- Feb 20, 2018
-
-
John Kessenich authored
HLSL: Add conversions for image ops during SPV construction
-
- Feb 18, 2018
-
-
LoopDawg authored
HLSL allows image and texture types to be templatized on sub-vec4 types, or even structures. This was mostly handled already during creation of sampling operations. However, for operator[] which can generate image loads, this wasn't happening. It also isn't very easy to do at that point in time, because operator[] does not know where the results it produces will end up. They may be an lvalue or an rvalue, and there's a post-process to convert loads to stores. They may end up in atomic ops. To bypass that difficulty, GlslangToSpv now looks for this case and adds the appropriate conversion. LIMITATION: this only works for cases for which a simple conversion opcode suffices. That is to say, it will not work if the type is templatized on a struct.
-
- Feb 15, 2018
-
-
John Kessenich authored
-
John Kessenich authored
Fix an issue of interpolateAtVertexAMD().
-
- Feb 14, 2018
-
-
Rex Xu authored
An error message should be reported if the interpolant is not an input.
-
- Feb 12, 2018
-
-
John Kessenich authored
-
- Feb 10, 2018
-
-
John Kessenich authored
Update SPIRV-Tools known-good
-
John Kessenich authored
Upgrade update_glslang_sources.py to work with other sites
-
- Feb 09, 2018
-
-
David Neto authored
One legalization case updated for a renumbered ID
-
- Feb 08, 2018
-
-
GregF authored
--site gitlab must be added to command for gitlab capability. Default is github.
-
John Kessenich authored
-
John Kessenich authored
Add DeadInsertElim to legalization and RedundancyElim to -Os.
-
- Feb 07, 2018
-
-
GregF authored
-
- Feb 06, 2018
-
-
John Kessenich authored
SPV: Create more access chains addressing a few swizzling issues.
-
John Kessenich authored
Preprocessor: Use std::string instead of std::stringstream
-
John Kessenich authored
-
John Kessenich authored
- Fixes #1233 - Treats local bools like anything else - more consistently deals with a dynamic component selection
-
Arseny Kapoulkine authored
std::stringstream has a measurable overhead for preprocessing - it appears that operator<< does a tiny bit of extra work for appending chars/strings and also can't be inlined in most cases on VS2015; additionally, std::endl triggers a stream flush which also adds up. Replacing this with std::string buffer gets the preprocessing time down from 180ms to 135ms in one case, making it 1.33x faster. Note that integer-to-string conversion is using std::to_string; in theory this could be slower than sprintf or manual conversion, but I haven't found these cases to affect preprocessing time in practice (std::to_string would always use the short string buffer for line/version numbers, and the number of calls is not too significant).
-
- Feb 05, 2018
-
-
John Kessenich authored
Update SPIRV-Tools known-good
-
David Neto authored
Update SPIRV-Tools. Relevant functional changes: - Optimizer enhancements: - ADCE now removes OpSwitch - Block merging occurs in more cases - Optimizer fixes: - Constant propagation (CCP): support matrix constants - #1199: Optimizer: Fix CCP: don't propagate spec constants. - #1203: Optimizer: Fix common uniform elim bug introduced by refactoring. - #1210: Optimizer: Aggressive dead code elimination: Fix 'break' identification. - #1212: Optimizer: Aggressive dead code elimination: Was skipping too many instructions. - #1214: Optimizer: Aggressive dead code elimination: Fix infinite loop. - #1228: Optimizer: Fix CCP: Handling of varying Phi nodes; was resulting in infinite loop. - #1245: Optimizer: Dead branch elimination: Avoid a null pointer dereference. - #1250: Optimizer: Dead branch elimination: Avoid spuriously reporting a change. - #1262: Support building on VisualStudio 2013 again Update SPIRV-Headers, with "unified1" directory. Updated one Glslang legalization test base result due to better block merging.
-
- Feb 02, 2018
-
-
John Kessenich authored
-
John Kessenich authored
Control flow attributes
-
- Feb 01, 2018
-
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
See https://github.com/KhronosGroup/GLSL/pull/11.
-