- 01 Nov, 2016 1 commit
-
-
John Kessenich authored
Use std::atoi instead of std::stoi
-
- 31 Oct, 2016 1 commit
-
-
David Neto authored
Some Android cross cross-compilers don't have std::stoi. E.g. i686-linux-android-g++ from Android NDK r10e don't have std::stoi.
-
- 29 Oct, 2016 1 commit
-
-
John Kessenich authored
Add explicit lambda return types, for compilers without C++14 support
-
- 28 Oct, 2016 1 commit
-
-
baldurk authored
-
- 27 Oct, 2016 4 commits
-
-
John Kessenich authored
silence -Wunknown-pragmas warnings on gcc
-
John Kessenich authored
HLSL: allow component-wise operations for logical || and &&.
-
John Kessenich authored
HLSL: Enable component-wise vector comparisons from operators
-
John Kessenich authored
GLSL: apply unused variable
-
- 26 Oct, 2016 2 commits
-
-
steve-lunarg authored
HLSL || and && can operate component-wise.
-
steve-lunarg authored
This PR only changes a few lines of code, but is subtle. In HLSL, comparison operators (<,>,<=,>=,==,!=) operate component-wise when given a vector operand. If a whole vector equality or inequality is desired, then all() or any() can be used on the resulting bool vector. This PR enables this change. Existing shape conversion is used when one of the two arguments is a vector and one is a scalar. Some existing HLSL tests had assumed == and != meant vector-wise instead of component-wise comparisons. These tests have been changed to add an explicit any() or all() to the test source. This verifably does not change the final SPIR-V binary relative to the old behavior for == and !=. The AST does change for the (now explicit, formerly implicit) any() and all(). Also, a few tests changes where they previously had the return type wrong, e.g, from a vec < vec comparison in hlsl.shapeConv.frag. Promotion of comparison opcodes to vector forms (EOpEqual->EOpVectorEqual) is handled in promoteBinary(), as is setting the proper vector type of the result. EOpVectorEqual and EOpVectorNotEqual are now accepted as either aggregate or binary nodes, similar to how the other operators are handled. Partial support already existed for this: it has been fleshed out in the printing functions in intermOut.cpp. There is an existing defect around shape conversion with 1-vectors, but that is orthogonal to this PR and not addressed by it.
-
- 25 Oct, 2016 1 commit
-
-
John Kessenich authored
Disabled MSVC 2015 compile warnings.
-
- 21 Oct, 2016 9 commits
-
-
steve-lunarg authored
-
Jeremy Hayes authored
I happened upon numArgs while hunting for unused variables. I suspect the intent was to apply it as shown in this patch. However, I am not a compiler dude. Someone more appropriate should grok this change.
-
Johannes van Waveren authored
-
Johannes van Waveren authored
-
Johannes van Waveren authored
-
John Kessenich authored
HLSL: fix defect in EOpMethodSampleCmp* texture decomposition
-
John Kessenich authored
HLSL: phase 4 of RWTexture support: add image atomics
-
John Kessenich authored
HLSL: Fix unary and binary operator type conversion issues
-
John Kessenich authored
SPV: Add missing guard to code that uses AMD extensions
-
- 20 Oct, 2016 1 commit
-
-
steve-lunarg authored
HLSL holds the compare value in a separate intrinsic arg, but the AST wants a vector including the cmp val, except in the 4-dim coord case, where it doesn't fit and is in fact a separate AST parameter. This is awkward but necessary, given AST semantics. In the process, a new vector is constructed for the combined result, but this vector was not being given the correct TType, so was causing some downstream troubles. Now it is. A similar defect existed in OpTextureBias, and has also been fixed.
-
- 19 Oct, 2016 3 commits
-
-
steve-lunarg authored
A need arose to use capabilities from TIntermediate during node promotion. These methods have been moved from virtual methods on the TIntermUnary and TIntermBinary nodes to methods on TIntermediate, so it is easy for them construct new nodes and so on. This is done as a separate commit to verify that no test results are changed as a result.
-
steve-lunarg authored
This PR will turn Interlocked* intrinsics using rwtexture or rwbuffer object as the first parameter into the proper OpImageAtomic* operations.
-
David Neto authored
Otherwise compilation fails when ENABLED_AMD_EXTENSIONS is off.
-
- 18 Oct, 2016 1 commit
-
-
steve-lunarg authored
This fixes defects as follows: 1. handleLvalue could be called on a non-L-value, and it shouldn't be. 2. HLSL allows unary negation on non-bool values. TUnaryOperator::promote can now promote other types (e.g, int, float) to bool for this op. 3. HLSL allows binary logical operations (&&, ||) on arbitrary types, similar (2). 4. HLSL allows mod operation on arbitrary types, which will be promoted. E.g, int % float -> float % float.
-
- 16 Oct, 2016 8 commits
-
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
-
John Kessenich authored
VS2010 compile fixes
-
John Kessenich authored
HLSL: phase 3 of rwtexture support: add sub-vec4 capabilities
-
John Kessenich authored
Use pthread_mutex for global lock on Linux.
-
John Kessenich authored
SPV: Add missing extension declarations for certain AMD extensions.
-
John Kessenich authored
HLSL: allow multi-dimensional arrays
-
- 15 Oct, 2016 4 commits
-
-
Josh Gargus authored
-
steve-lunarg authored
This uses the Unknown storage format, instead of deducing the format from the texture declaration type.
-
steve-lunarg authored
Also makes a (correct) test change for global -> temp vars.
-
steve-lunarg authored
This PR sets the TQualifier layoutFormat according to the HLSL image type. For instance: RWTexture1D <float2> g_tTex1df2; becomes ElfRg32f. Similar on Buffers, e.g, Buffer<float4> mybuffer; The return type for image and buffer loads is now taken from the storage format. Also, the qualifier for the return type is now (properly) a temp, not a global.
-
- 14 Oct, 2016 1 commit
-
-
Rex Xu authored
-
- 13 Oct, 2016 2 commits
-
-
John Kessenich authored
HLSL: phase 2: add operator[]
-
John Kessenich authored
Check for out-of-range bindings during IO mapping.
-