|
4dd167fb
|
2017-11-09T13:08:31
|
|
Vulkan: Assign locations to varyings.
These were actually always required, but only was caught by the newer
versions of the SPIR-V toolchain.
BUG=angleproject:2237
Change-Id: I43fef179e8792e46a602b39a6decafcab03b19df
Reviewed-on: https://chromium-review.googlesource.com/760638
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
de03e003
|
2017-10-21T14:04:20
|
|
Vulkan: Add shader handling for textures.
BUG=angleproject:2167
Change-Id: I33940288331a23b940753795e5e43b8cabcb87f5
Reviewed-on: https://chromium-review.googlesource.com/732189
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6276b922
|
2017-09-25T02:35:57
|
|
Vulkan: Implement basic uniform shader parsing.
This is a first step at implementing uniforms with descriptor sets.
It does not actually bind uniforms and upload data, but it does
implement uniform shader parsing. Uniforms are gathered into a single
uniform block which is bound to set 0, with binding 0 for vertex
uniforms and binding 1 for fragment uniforms.
Also adds a ReplaceSubstring helper to string_utils.
Also removes the precision writing from OutputVulkanGLSL since this
was generating warnings with glslang.
BUG=angleproject:2167
Change-Id: I9ec8351ec1973e583100f99292b0080ee968067b
Reviewed-on: https://chromium-review.googlesource.com/699938
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
2a9e107c
|
2017-09-22T11:31:57
|
|
Vulkan: Support multiple vertex outputs.
This is a bit of a hack, similar to how D3D11 works. We need to write
output locations in the GLSL shader before we send them to glslang,
so we wait until the link call, then string-replace some hard-coded
identifeir code to the attribute location determined by ANGLE.
This CL also fills in some of the vertex format conversion tables in
formatutilsvk.cpp.
BUG=angleproject:2167
Change-Id: I2424d0d990bdbcd831a4dd130e61e87d8f8f479f
Reviewed-on: https://chromium-review.googlesource.com/677555
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
a5e693af
|
2017-07-13T16:07:26
|
|
Make unique id counter a member of TSymbolTable
This makes unique id counting thread-safe.
BUG=angleproject:624
TEST=angle_unittests
Change-Id: Ie0f2c7e574470b39750d37d2181c790bc874b275
Reviewed-on: https://chromium-review.googlesource.com/570419
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e794cd86
|
2017-01-13T17:29:51
|
|
Vulkan: Implement new GLSL translator back-end.
The Vulkan GLSL translator back-end will handle validating and
translating our WebGL/ESSL shaders into Vulkan-specific GLSL.
glslang (the Vulkan one) accepts both GLSL and GLSL ES shaders
as inputs, and both the desktop and ESSL back-ends give
incompleteness warnings when used. For now, use the desktop GL
450 as a target for Vulkan GLSL.
The Vulkan-specific changes are currently only to add locations
to every vertex input and fragment output.
BUG=angleproject:1575
Change-Id: I7c3f32f522e9d18e5f8618eb7927336bf4fbdcf2
Reviewed-on: https://chromium-review.googlesource.com/412266
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|