889b77a2a1
When building a vector via tint::writer::AppendVector, and the vector argument is already a vector constructor, expand that vector constructor into its components only when those components are all scalars. This avoids a type breakage which can occur with cases like this: vector argument is: vec2<i32>(vec2<u32>(0u,1u)) scalar argument is: 2 Before this fix, the result was: vec2<i32>(0u, 1u, 2); But should be this instead: vec3<i32>(vec2<u32>(0u,1u),2) This was noticed in SPIR-V writer output when forming a coordinate vector from a an unsigned WGSL coordinate vector with a signed array vector. Fixed: tint:1048 Change-Id: Id46665739cc23da0ca58b9baabf7b4531b86350b Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/60040 Auto-Submit: David Neto <dneto@google.com> Kokoro: Kokoro <noreply+kokoro@google.com> Commit-Queue: David Neto <dneto@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> |
||
---|---|---|
.. | ||
api/descriptor_set/descriptor_set_layout_binding/layout_binding_order | ||
binding_model/dynamic_offset | ||
combined_operations/negintdivand | ||
graphicsfuzz | ||
non_robust_buffer_access | ||
rasterization/line_continuity/line-strip | ||
spirv_assembly/instruction | ||
subgroup_uniform_control_flow/discard/subgroup_reconverge_discard00 | ||
texture |