|
45bcc784
|
2016-11-07T13:58:48
|
|
translator: Scope all classes with "sh".
I was seeing an odd problem with our PoolAlloc conflicting with the
glslang/Vulkan TIntermNode, so the fix was to move everything to a
separate namespace.
The bison grammars are also regenerated. No functional changes.
BUG=angleproject:1576
Change-Id: I959c7afe4c092f0d458432c07b4dcee4d39513f3
Reviewed-on: https://chromium-review.googlesource.com/408267
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
acb4b81a
|
2016-11-07T13:50:29
|
|
translator: Put ShaderLang APIs in "sh" namespace.
Working with glslang in Vulkan means we are static linking libANGLE
with functions that have the same name as our translator APIs. We
can fix this by scoping our APIs. We don't need to scope the types
of the file, since they don't conflict.
This will require a follow-up patch to remove the unscoped APIs
once we switch over Chromium.
We also scope TCompiler and some related classes to avoid multiply
defined link errors with glslang.
BUG=angleproject:1576
Change-Id: I729b19467d2ff7d374a82044b16dbebdf2dc8f16
Reviewed-on: https://chromium-review.googlesource.com/408337
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2cc85b3b
|
2016-08-05T16:22:53
|
|
Add support for images in the compiler
The patch adds support for GLSL ES 3.1 image types.
Internal format layout qualifiers for images are added.
Support for the readonly and writeonly qualifiers are added. The other
memory qualifiers are omitted as to make the patch simpler.
Tests are added which check for correct and incorrect usage of images,
internal format layout and memory qualifiers.
BUG=angleproject:1442
TEST=angle_unittests
TEST=angle_end2end_tests
Change-Id: Ie4d3acb2a195de11b405ad54110a04c4c1de0b7e
Reviewed-on: https://chromium-review.googlesource.com/378855
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
7ebb97fc
|
2016-09-08T18:01:50
|
|
Use 64-bits compile options
BUG=chromium:645071
Change-Id: I31825123bf4cb45fb37a93f538e8936487beb5ff
Reviewed-on: https://chromium-review.googlesource.com/382712
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
613b959d
|
2016-09-05T12:05:53
|
|
Clean up qualification order checks
Move determining whether qualification order checks are relaxed to
QualifierTypes.cpp. The ParseContext only needs to construct
TTypeQualifierBuilder with the shader version as a parameter, and it
will make the decision based on that. ParseContext still passes
diagnostics to the TTypeQualifierBuilder functions that return
variable qualification to make it more explicit when errors are
generated.
Also encapsulate looking for symbols in the AST inside
compiler_test.cpp.
BUG=angleproject:1442
TEST=angle_unittests
Change-Id: I4190e6a680ace0cc0568a517e86353a95cc63c08
Reviewed-on: https://chromium-review.googlesource.com/380556
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
91d56945
|
2015-07-21T18:56:48
|
|
Emulate the pack/unpack functions for unorms.
BUG=angleproject:1044
Change-Id: I2cfb792de43d3a6fddd750100c74f948948dc1f6
Reviewed-on: https://chromium-review.googlesource.com/287290
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
10fcd9be
|
2016-06-30T12:24:09
|
|
Add a helper class for compiler string matching tests
The MatchOutputCodeTest class makes it easier to implement tests that
do string matching on compiler output. Inheriting test classes set the
compiler settings, tests then call compile() with the shader string
and can call foundInCode() to check if the output code contains a
given string.
Various compiler unit tests that already did string matching are
refactored to make use of this new helper class. Some tests now use
SH_GLES3_SPEC instead of SH_GLES2_SPEC - this should not have a
significant impact on test coverage.
Some compileTestShader function variants that are now unused can be
removed from the code.
BUG=angleproject:1430
TEST=angle_unittests
Change-Id: I1fd3529d5a1c6ab192f95ace800cf162604e68e7
Reviewed-on: https://chromium-review.googlesource.com/357800
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a6996685
|
2015-10-12T14:32:30
|
|
Automatically enable highp in fragment shaders on ESSL3
Most code using the translator already enables highp with the resources
flag when a shader spec that accepts ESSL3 is used, but for example the
shader_translator utility doesn't. This fix makes sure that highp is
always enabled when a fragment shader written in ESSL3 or newer is being
compiled. This will make shader_translator easier to use for testing
ESSL3 shaders.
BUG=541550
TEST=angle_unittests
Change-Id: Ia1911677c55f3c5d921829a8cbb808847ac8b636
Reviewed-on: https://chromium-review.googlesource.com/305190
Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
7adfb184
|
2015-06-09T15:49:41
|
|
Refactor common compiler test functionality into helper functions
Refactor translating a ESSL shader string into a target language so that
compiler initialization and cleanup code can be reused between test classes.
BUG=angleproject:817
TEST=angle_unittests
Change-Id: Idb229dceb9e17b13ed6ad2a68ab55ed5c968780e
Reviewed-on: https://chromium-review.googlesource.com/275814
Tested-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|