- 21 Oct, 2016 3 commits
-
-
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
-
- 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 14 commits
-
-
John Kessenich authored
HLSL: phase 2: add operator[]
-
John Kessenich authored
Check for out-of-range bindings during IO mapping.
-
steve-lunarg authored
All the underpinnings are there; this just parses multiple array dimensions and passes them through to the existing mechanisms. Also, minor comment fixes, and add a new test for multi-dim arrays.
-
baldurk authored
-
baldurk authored
* This avoids an internal compile error on VS2010 possibly related to std::enable_if use.
-
baldurk authored
-
baldurk authored
-
baldurk authored
-
baldurk authored
-
baldurk authored
-
baldurk authored
-
baldurk authored
-
baldurk authored
-
baldurk authored
-
- 12 Oct, 2016 6 commits
-
-
steve-lunarg authored
- hlsl.struct.frag variable changed to static, assignment replacd. - Created new low level functions addBinaryNode and addUnaryNode. These are used by higher level functions such as addAssignment, and do not do any argument promotion or conversion of any sort. - Two functions above are now used in RWTexture lvalue conversions. Also, other direction creations of unary or binary nodes now use them, e.g, addIndex. This cleans up some existing code. - removed handling of EOpVectorTimesScalar from promote() - removed comment from ParseHelper.cpp
-
steve-lunarg authored
Improve comments. A few tweaked lines allow [] on non-rw tx. Add test case for this. Improve VectorTimesScalar handling.
-
steve-lunarg authored
This commit splits lValueErrorCheck into machine dependent and independent parts. The GLSL form in TParseContext inherits from and invokes the machine dependent part in TParseContextBase. The base form checks language independent things. This split does not change the set of errors tested for: the test results are identical. The new base class interface is now used from the HLSL FE to test lvalues. There was one test diff due to this, where the test was writing to a uniform. It still does the same indirections, but does not attempt a uniform write.
-
steve-lunarg authored
This commit adds l-value support for RW texture and buffer objects. Supported are: - pre and post inc/decrement - function out parameters - op-assignments, such as *=, +-, etc. - result values from op-assignments. e.g, val=(MyRwTex[loc] *= 2); Not supported are: - Function inout parameters - multiple post-inc/decrement operators. E.g, MyRWTex[loc]++++;
-
steve-lunarg authored
This commit adds r-value support for RW textures and buffers. Supported is: - Function in parameter conversions - conversion of rvalue use to imageLoad
-
John Kessenich authored
SPV: Use SampledImage with OpImageQueryLod
-