John Kessenich
cfd7ce87cd
HLSL: Support register(..., spaceN) for setting the descriptor set.
...
This was suggested in issue #454 .
2016-09-05 16:03:45 -06:00
John Kessenich
7735b94403
HLSL Non-Functional: Move to more robust capturing of postDecls into a qualifier.
...
This will prevent a possible future defect of thinking the type can be changed,
where there is a code path today that would drop that change.
2016-09-05 12:40:06 -06:00
John Kessenich
7d01bd6f0b
HLSL: Handle swizzles on vectors of size 1. Addresses issue #453 .
2016-09-02 22:21:25 -06:00
John Kessenich
07350f3382
HLSL: Handle "fake" entry points, by undoing their built-in variable declarations.
2016-09-02 20:24:07 -06:00
John Kessenich
9e079535a0
HLSL: Handle greater/less depth modes. Fixes issue #489 .
2016-09-02 20:05:52 -06:00
John Kessenich
a305166ea4
HLSL: Error if funcion with return type doesn't return a value.
2016-09-02 19:13:36 -06:00
John Kessenich
5e56423046
Front-ends: Remove now defunct afterEOF and related, use scanner's instead.
...
Code using atEndOfFile was dead, instead do something useful with
the scanners atEndOfInput(). This allows a better error message
for early termination of cascading errors.
2016-08-31 13:46:50 -06:00
John Kessenich
830b0cc98b
HLSL: Start location numbering with the entry-point return value.
...
Also, increment location numbers by the size of the objects.
2016-08-29 18:10:47 -06:00
John Kessenich
a05d8b5604
HLSL: Remove recent change to put locations on SV_TARGET*.
...
This put locations on members of structures, which is not allowed
in either AST or SPIR-V.
This was caught by asserts in the debug build.
2016-08-29 16:49:39 -06:00
John Kessenich
81d4714908
Merge branch 'HLSL_Semantic_Mapping' of https://github.com/dankbaker/glslang into dankbaker-HLSL_Semantic_Mapping
2016-08-29 16:07:29 -06:00
Dan Baker
6f220c0fd1
HLSL: Setting SV_DEPTHGREATEREQUAL and SV_DEPTHLESSEQUAL to EbvFragDepth for now
2016-08-29 15:56:55 -04:00
John Kessenich
6a70eb7161
HLSL: Emulate write-to-output on return-from-entry-point, for return value.
...
This fixes issue #487 and #480 .
It also correctly handles output parameters from the entry point.
2016-08-28 20:13:07 -06:00
John Kessenich
81cd764b5f
Non-functional: Add some missing const, related to signature selection.
2016-08-26 14:01:43 -06:00
John Kessenich
e3f2c8f98a
HLSL: Include shape-changing conversions in overloaded signature selection.
...
This also enables vecN -> vec1 shape conversions for all places doing shape
conversions.
For signature selection, makes shape changes worse than any other comparison
when deciding what conversions are better than others.
2016-08-25 23:57:39 -06:00
Dan Baker
26aa8a4b16
HLSL: Format updates and some minor adjustments to SV_ handling
2016-08-25 17:13:25 -04:00
John Kessenich
90dd70f752
HLSL: Allow arbitrary baseType -> baseType conversion of calling arguments.
...
This also puts a stake in the ground as to which is better when selection
from multiple signatures.
2016-08-25 10:51:29 -06:00
Dan Baker
deec03cfca
First stab at system value interpretation
2016-08-25 12:00:25 -04:00
John Kessenich
fcc0aa3b64
HLSL: Switch to generic selector, but using GLSL #version 400 rules.
...
Next step is to modify for HLSL rules.
2016-08-24 18:34:43 -06:00
John Kessenich
ab89bbe702
Merge branch 'overloaded-400' of github.com:KhronosGroup/glslang
2016-08-23 18:30:20 -06:00
John Kessenich
219b025d7e
Non-functional: Fix commit 98f164ec488f85af5a44b701477a34e810f2deb1.
...
Fix previous commit to not use tabs and otherwise match local coding
conventions better.
2016-08-23 17:51:13 -06:00
John Kessenich
98f164ec48
Merge pull request #461 from dankbaker/Error_Message_Fixes_for_HLSL
...
HLSL: Better error message for when HLSL translation fails
2016-08-23 17:48:14 -06:00
dankbaker
afe6e9c4fc
HLSL and standalone, modifying Standalone to send filename as string source, and HLSL backend will use this to print a better error mesage when things fail
2016-08-21 12:29:08 -04:00
John Kessenich
0a04b4df02
Front-end/Non-functional: Add some const/auto, useful for upcoming changes.
2016-08-19 07:27:28 -06:00
John Kessenich
b9e39120b4
HLSL: Partially address issue #463 : accept GLSL layout(...).
...
This includes all "per variable" layout qualifiers, but the
key ones mattering and tested for now are:
set=
binding=
constant_id=
push_constant
2016-08-17 17:38:45 -06:00
baldurk
1eb1c11dea
fix x64 warning about conversion size_t -> int
2016-08-15 18:01:15 +02:00
John Kessenich
2c6038ecf1
Merge branch 'cpp-headers'
2016-08-11 10:01:13 -06:00
steve-lunarg
c4a1307403
HLSL: add implicit promotions for assignments and function returns.
2016-08-09 13:48:47 -06:00
John Kessenich
267590d452
Whitespace: Nonfunctional: fix inconsistent white space, esp. no tabs.
2016-08-05 17:34:34 -06:00
John Kessenich
66ec80e01b
Build: C++ headers: Replace PR #366 with a more directed version.
2016-08-05 14:04:23 -06:00
steve-lunarg
7dfcf4d1ad
HLSL: Add GatherRed/Green/Blue/Alpha methods, inc 4-offset forms
2016-08-03 13:34:39 -06:00
John Kessenich
f6640761c4
Front-end: Implement 2nd task of issue #400 ; precision of result and operation.
...
From the ES spec + Bugzilla 15931 and GL_KHR_vulkan_glsl:
- Update precision qualifiers for all built-in function prototypes.
- Implement the new algorithm used to distinguish built-in function
operation precisions from result precisions.
Also add tracking of separate result and operation precisions, and
use that in generating SPIR-V.
(SPIR-V cares about precision of operation, while the front-end
cares about precision of result, for propagation.)
2016-08-02 21:48:02 -06:00
Dan Baker
b49806b0bf
Fixing some casts that warn when compiled to 64 bit (size_t is 64 bit rather then 32 bit)
2016-08-02 14:42:43 -04:00
steve-lunarg
fe5a3ff2f3
HLSL: allow trailing commas in initializer lists & scalar initialization
2016-07-30 10:47:33 -06:00
John Kessenich
b38f071605
HLSL: Add back in the [subcomponent] part of a 'register' decl.
2016-07-30 10:30:51 -06:00
John Kessenich
ff13213547
Front-ends GLSL/HLSL: Fix initializer lists for structs of one member.
...
Single member structs initialized with an initializer list had
an incorrect argument for constructor emulation.
2016-07-29 18:29:06 -06:00
John Kessenich
96e9f47cbb
HLSL: Implement the register production.
2016-07-29 14:28:39 -06:00
John Kessenich
82d6baf86f
HLSL: Implement packoffset production.
2016-07-29 13:03:50 -06:00
John Kessenich
a26a5170a3
Non-functional: Rationalize location and use of mapTypeToConstructor().
2016-07-28 16:56:52 -06:00
steve-lunarg
d53f717fd3
HLSL: add Buffer support for Load method
2016-07-27 15:57:31 -06:00
steve-lunarg
68f2c144e3
HLSL: Add CalculateLevelOfDetail, and unimplemented errors for *Unclamped and GetSamplePosition
2016-07-27 10:46:33 -06:00
steve-lunarg
1e19d90043
HLSL: add 2DMS texture formats, and matching Load / GetDimensions support
2016-07-27 07:37:21 -06:00
John Kessenich
731cd83ef6
Merge pull request #405 from steve-lunarg/samplers
...
HLSL: Add gather, improve proto generator machine for upcoming 2DMS/S…
2016-07-26 09:40:46 -06:00
John Kessenich
64723c20b5
Merge pull request #406 from steve-lunarg/pp_line
...
HLSL: enable #line extension by default for HLSL source.
2016-07-26 09:39:48 -06:00
John Kessenich
3d157c510f
HLSL: cbuffer and tbuffer grammar and production.
2016-07-25 16:05:33 -06:00
LoopDawg
6256146ef3
HLSL: enable #line extension by default for HLSL source.
2016-07-23 10:45:00 -06:00
LoopDawg
a2f3d285a8
HLSL: Add gather, improve proto generator machine for upcoming 2DMS/Shadow
2016-07-22 12:46:11 -06:00
LoopDawg
3ef7852ef6
HLSL: Add SampleLevel method
2016-07-21 15:02:30 -06:00
LoopDawg
f245101954
HLSL: Add texture Load method & decomposition
2016-07-21 09:42:35 -06:00
LoopDawg
a78b02941b
HLSL: Add SampleCmp and SampleCmpLevelZero texture methods
2016-07-20 09:57:03 -06:00
LoopDawg
5d58faecc0
HLSL: Add tx.GetDimensions method (uint returns only)
2016-07-18 16:40:21 -06:00