972 Commits

Author SHA1 Message Date
Andrew Woloszyn
a132af5b78 Updated the includer interface to allow relative includes.
This plumbs both the current file path and the include depth
back up to the includer. This allows the includer to properly
support relative paths.

This also replaces the string copy that was done during include
with a zero-copy method of accomplishing the same thing. This
prevents extra copies of entire files.
2016-03-21 10:19:45 -04:00
John Kessenich
f2d8a5c53f SPV: Use heuristic to avoid geometry multi-streams when possible. 2016-03-03 22:29:11 -07:00
John Kessenich
2ac71dfb78 Merge pull request #187 from amdrexu/bugfix
SPV: Continue to fix the issue of bool -> uint32
2016-03-03 21:59:21 -07:00
John Kessenich
be0fa3c4c0 Merge pull request #188 from bsalomon/master
Fix line endings in Test/100.conf
2016-03-03 21:57:51 -07:00
Brian Salomon
5dc8a76265 Fix line endings in Test/100.conf. 2016-03-03 12:12:07 -05:00
Rex Xu
b4fd8d10f0 SPV: Continue to fix the issue of bool -> uint32
For short-circuit operator (&& and ||), the conversion is missing.
2016-03-03 14:38:51 +08:00
John Kessenich
8e3f4c2d66 Syntax: correct spelling of rgb10_a2ui. 2016-03-01 08:43:17 -07:00
John Kessenich
32fb11daa9 Merge pull request #173 from amdrexu/bugfix
SPV: Fix an issue caused by bool-to-uint32 conversion.
2016-02-27 21:37:17 -07:00
John Kessenich
52d08596ec Merge pull request #175 from rdb/master
Fix compilation issues with MSVC 2010
2016-02-27 21:29:14 -07:00
John Kessenich
ced70f4e28 Merge pull request #178 from baldurk/minor-warning-fix
Minor warning fixes
2016-02-27 21:14:15 -07:00
baldurk
1be2ffa7cd GCC/Clang warning fix - unsigned/signed mismatch in comparison 2016-02-25 21:47:14 +01:00
baldurk
9cc6cd3ef4 GCC warning fix - unhandled enums in switch statement 2016-02-25 21:20:53 +01:00
baldurk
227e026dbf MSVC warning fix - conversion from size_t to int, possible loss of data 2016-02-25 21:19:49 +01:00
John Kessenich
5184353326 Merge pull request #174 from mgadams/alias_proto_warnings
Fix warnings/errors for strict aliasing & function prototypes
2016-02-24 21:43:59 -07:00
John Kessenich
678f5f5a4e Merge pull request #176 from jackoalan/parameterize-ensure
SPV: Ensure Parameterize is called during Disassemble
2016-02-24 21:41:02 -07:00
John Kessenich
fd3e09fefe Merge pull request #172 from Marqin/master
fix #171 - error: ‘isinf’ was not declared in this scope
2016-02-24 21:39:47 -07:00
Rex Xu
2725323bba SPV: Fix an issue caused by bool-to-uint32 conversion.
This issue is related with the commit
103bef9d74d768f0690ed53f52681baead384d1e.
2016-02-24 12:27:10 +08:00
Jack Andersen
52e61acf26 SPV: Ensure Parameterize is called during Disassemble 2016-02-23 12:03:21 -10:00
rdb
32084e889d Fix compilation issues with MSVC 2010
(mostly by eliminating use of range-based for loops and std::tie)
2016-02-23 22:17:38 +01:00
Mark Adams
18b637f9dc Fix warnings/errors for strict aliasing & function prototypes
This fixes various issues related to gcc's strict-aliasing warning
by using unions. It also handles various cases hit with
gcc's missing-declarations warning.
2016-02-23 12:17:11 -05:00
Hubert Jarosz
6df2cdbb8a fix #171 - error: ‘isinf’ was not declared in this scope
glslang/MachineIndependent/intermOut.cpp used `isinf`,
but it's in `std` namespace, so should use `std::isinf`.
2016-02-23 01:32:37 +01:00
John Kessenich
0967748fbc SPV: Fix 'location' inheritance bug. 2016-02-19 12:21:50 -07:00
John Kessenich
5047c6f7a7 SPV: Fix Linux build warning. 2016-02-18 19:47:33 -07:00
John Kessenich
d930b6ee4b Merge pull request #164 from google/bison
Error out if bison is not found on non-Windows operating systems.
2016-02-18 11:58:50 -07:00
Lei Zhang
4fe1efa1a9 Error out if bison is not found on non-Windows operating systems.
We cannot just default to use tools/bison.exe when it is not on
Windows.
2016-02-18 06:18:05 -05:00
John Kessenich
6c292d3ba7 SPV: Implement Vulkan version of GLSL (KHR_vulkan_glsl). 2016-02-15 21:46:55 -07:00
John Kessenich
019f08fcd8 SPV: Fix issue #159: use ExplicitLod forms for non-fragment stages. 2016-02-15 15:40:42 -07:00
John Kessenich
5d0fa9781b SPV Capabilities: StorageImageExtendedFormats, StorageImageReadWithoutFormat, and StorageImageWriteWithoutFormat. 2016-02-15 11:57:00 -07:00
John Kessenich
5e80113939 SPV Capabilities: SampleRateShading, SparseResidency, MinLod, and ImageQuery. 2016-02-15 11:09:46 -07:00
John Kessenich
b0364dcc3e SPV Capabilities: Image types.
SampledBuffer
ImageBuffer
Sampled1D
Image1D
SampledCubeArray
ImageCubeArray
SampledRect
ImageRect
InputAttachment
ImageMSArray
StorageImageMultisample
2016-02-14 17:37:30 -07:00
John Kessenich
3c52207e8a SPV capabilities: Add int16, int64, float16, and float64. 2016-02-14 17:11:15 -07:00
John Kessenich
103bef9d74 SPV: Handle GLSL bool loads from a uniform buffer as a conversion from int -> bool.
SPIR-V bool is abstract; it has no bit pattern for storage with transparent memory.
OpenGL's convention is a bool in a uniform buffer is 32-bit int with non-0 being 'true'.
2016-02-08 21:41:30 -07:00
John Kessenich
10110596a3 Merge pull request #161 from ossy-szeged/master
Fix typo in an include guard.
2016-02-07 11:23:28 -07:00
Csaba Osztrogonác
f947debf70 Fix typo in an include guard. 2016-02-05 07:40:35 -08:00
John Kessenich
ba5685a332 Semantics: Map noise*() to an operator for PureOperatorBuiltins mode.
Fixes issue #157.
2016-02-02 15:59:12 -07:00
John Kessenich
32cfd49b68 SPV: RelaxedPrecision: Plumb this through the full AST->SPV translator. 2016-02-02 13:55:29 -07:00
John Kessenich
26bd6a313d Merge pull request #155 from mgadams/resultid_warnings
Build: Fix two new Windows build warnings/errors
2016-02-02 09:14:38 -07:00
John Kessenich
fd8a38276f Merge pull request #153 from greg-lunarg/gsf-pr1
SPV Remapper: Update for 1.0 and bug fixes
2016-02-02 09:11:01 -07:00
Mark Adams
d5ac538e23 Fix two new Windows build warnings/errors 2016-02-01 19:13:06 -08:00
GregF
8548bab1fa spirv-remap: Fixed strings not at end of operands, fixed L/S defect
Also added new op classes.
2016-02-01 16:44:57 -07:00
GregF
036a7944e5 spirv-remap: assert on unhandled OperandClass 2016-02-01 16:13:21 -07:00
GregF
796e15ad27 spirv-remap: inhibit loadstore opt if variable ref'd by other instructions 2016-02-01 16:12:48 -07:00
GregF
3bb040b71b spirv-remap: handle OperandImageOperands during remap 2016-02-01 16:12:00 -07:00
John Kessenich
9218759ebb SPV: Address superset of issue #151: missing OpCapability instructions.
This commit adds:
CapabilityGeometryPointSize
CapabilityTessellationPointSize
CapabilityClipDistance
CapabilityCullDistance
CapabilityMultiViewport
CapabilityTransformFeedback
CapabilityGeometryStreams
CapabilityDerivativeControl
CapabilityInterpolationFunction
2016-02-01 13:45:25 -07:00
John Kessenich
9df51caba9 Fix front-end bug: Constant folding of array-of-struct index op.
If a constant object was both an array and a structure, and was
indexed with a constant, the arrayness was ignored and the wrong
subconstant selected.  This fixes that.
2016-02-01 11:57:33 -07:00
John Kessenich
9d565d9ef8 Todo: removed Todo.txt, and migrated to issues, closing issue #13. 2016-01-22 18:27:05 -07:00
John Kessenich
f6eae2a54a SPV: Require desktop 140 or ES 310 or above. 2016-01-22 17:47:22 -07:00
John Kessenich
4bfeed5fe8 Semantics: Spec. changing to reflect reality of int/uint conversion for |^&.
This effects 4.x, where int/uint conversions are done, but not earlier.
2016-01-22 15:40:24 -07:00
John Kessenich
4889167430 SPV: Use a more accurate MemorySemanticsAllMemory mask. 2016-01-22 10:15:03 -07:00
John Kessenich
cd26144d24 SPV: the OpImageTexelPointer sample 0 should be <id> of 0, not literal 0. 2016-01-22 09:54:12 -07:00