Vulkan: Drop RelaxedPrecision from aliased attributes
Take the following example:
attribute mediump vec4 a; // location 0
attribute highp vec2 b; // location 0
f(b)
This was previously translated to:
attribute mediump vec4 a; // location 0
f(a.xy)
That difference here is that b was previously highp, but a.xy is
mediump. This change drops RelaxedPrecision from attributes so that
they are all highp.
Note that the temporary SPIR-V ids these attributes are loaded into
still retain their RelaxedPrecision decoration (if any), and the
precision of calculations in the shader is not increased by this
change.
Bug: angleproject:4249
Change-Id: Idca0fc667ad6e36ddf428b65ea03706272a9ed9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488131
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by:
Charlie Lao <cclao@google.com>
Reviewed-by:
Courtney Goeltzenleuchter <courtneygo@google.com>
Showing
Please
register
or
sign in
to comment