- 27 Apr, 2016 2 commits
-
-
John Kessenich authored
SPV: Use OpLogicalEqual/OpLogicalNotEqual for boolean type comparison.
-
Rex Xu authored
-
- 22 Apr, 2016 1 commit
-
-
John Kessenich authored
Remove use of std::mutex in gtest code.
-
- 21 Apr, 2016 1 commit
-
-
David Neto authored
Gtest runs in single-threaded mode. So the GlslangInitializer object in the test code doesn't have to do its own synchronization.
-
- 18 Apr, 2016 1 commit
-
-
John Kessenich authored
SPV: Spec-consts: Fix constructors matrix and vector
-
- 14 Apr, 2016 2 commits
-
-
qining authored
fix the problem that spec constant composite instruction being used when only front-end constants are used in the constructor
-
qining authored
Fix issue: #237 1. The code generated for matrix constructor should 1) build column vectors first, 2) build matrix with the vectors. 2. When there is only one scalar type constituent in vector's constructor, we should populate the constituent to fill all the slots in the vector. As for matrix, the single constituent should be populated to the diagonal positions (top-left to bottom-right diagonal). remove createSpvConstantFromConstSubTree()
-
- 13 Apr, 2016 5 commits
-
-
John Kessenich authored
SPV: SpecOp bool->uint/int and uint<->int conversion
-
qining authored
-
qining authored
Bool -> uint/int with OpSpecConstantOp OpSelect instruction. uint <-> int conversion with OpSpecConstantOp OpIAdd instruction. Note, implicit conversion: `const uint = an_int_spec_constant` is not supported. Explicit type casting is required: `const uint = uint(an_int_spec_constant)`
-
John Kessenich authored
Unit test executable should link to libHLSL
-
John Kessenich authored
-
- 12 Apr, 2016 1 commit
-
-
David Neto authored
No unit tests exercise it.
-
- 11 Apr, 2016 1 commit
-
-
John Kessenich authored
A couple of small warning fixes
-
- 09 Apr, 2016 2 commits
- 07 Apr, 2016 2 commits
-
-
John Kessenich authored
-
John Kessenich authored
This might address issue #221, which I couldn't reproduce.
-
- 06 Apr, 2016 5 commits
-
-
John Kessenich authored
This is according to the expected KHR_vulkan_glsl without floating point. So, floating-point spec-const operations no longer work, and that's reflected in the tests.
-
John Kessenich authored
SPV: Generate OpSpecConstantOp for all subtrees indicated by the AST.
-
qining authored
-
qining authored
Move SpecConstantOpModeGuard from makeSpvConstantFromConstSubTree() to visitbinary() and visitunary(). Checking if the visiting node is a spec constants, if so, turn on the SpecConstantOpMode, otherwise, stay in the normal mode.
-
qining authored
fix the wrong generated code when a non-constant array is declared with its size derived from spec constant operations
-
- 04 Apr, 2016 3 commits
-
-
John Kessenich authored
Handle built-in constants redeclared with a specialization constant id.
-
qining authored
Support declaring built-in values as spec constants. Refine the code in createSpvConstant().
-
John Kessenich authored
-
- 03 Apr, 2016 4 commits
-
-
John Kessenich authored
-
John Kessenich authored
VS2010 compile fixes
-
John Kessenich authored
Fix spelling mistakes
-
Eric Engestrom authored
-
- 02 Apr, 2016 3 commits
-
-
John Kessenich authored
-
baldurk authored
-
baldurk authored
-
- 31 Mar, 2016 5 commits
-
-
John Kessenich authored
Add Google Test as the new test framework
-
John Kessenich authored
Parser: Update array size of gl_ClipDistance/gl_CullDistance in gl_in[].
-
John Kessenich authored
SPV: Spec Constant Operations
-
qining authored
fix format; remove unnecessary parameters; rename some spec op mode guard class; remove support of float point comparison and composite type comparison; update the tests.
-
Lei Zhang authored
The existing test harness is a homemade shell script. All the tests and the expected results are written in plain text files. The harness just reads in a test, invoke the glslangValidator binary on it, and compare the result with the golden file. All tests are kinda integration tests. This patch add Google Test as an external project, which provides a new harness for reading shader source files, compile to SPIR-V, and then compare with the expected output.
-
- 30 Mar, 2016 1 commit
-
-
qining authored
Approach: Add a flag in `Builder` to indicate 'spec constant mode' and 'normal mode'. When the builder is in 'normal mode', nothing changed. When the builder is in 'spec constant mode', binary, unary and other instruction creation rountines will be redirected to `createSpecConstantOp()` to create instrution at module level with `OpSpecConstantOp <original opcode> <operands>`. 'spec constant mode' should be enabled if and only if we are creating spec constants. So a flager setter/recover guard is added when handling binary/unary nodes in `createSpvConstantsFromConstSubTree()`. Note when handling spec constants which are represented as ConstantUnion Node, we should not use `OpSpecConstantOp` to initialize the composite constant, so builder is set to 'normal mode'. Tests: Tests are added in Test/spv.specConstantOperations.vert, including: 1) Arithmetic, shift opeations for both scalar and composite type spec constants. 2) Size conversion from/to float and double for both scalar and vector. 3) Bitwise and/or/xor for both scalar and vector. 4) Unary negate/not for both scalar and vector. 5) Vector swizzles. 6) Comparisons for scalars. 7) == and != for composite type spec constants Issues: 1) To implement == and != for composite type spec constants, the Spec needs to allow OpAll, OpAny, OpFOrdEqual, OpFUnordEqual, OpOrdNotEqual, OpFUnordNotEqual. Currently none of them are allowed in the Spec.
-
- 27 Mar, 2016 1 commit
-
-
Rex Xu authored
-