From 4917d383212b45c946a1311fcaeff6f7ab7b80b1 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Fri, 19 Jan 2018 09:17:06 +0100 Subject: [PATCH] intel/compiler: fix first_component for 64-bit types on vertex inputs MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Divide it by two as we do for other stages. This is because the component layout qualifier is always in 32-bit units. Fixes issues in a new CTS test (still WIP): KHR-GL45.enhanced_layouts.varying_double_components Reviewed-by: Samuel Iglesias Gonsálvez --- src/intel/compiler/brw_fs_nir.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp index 0d77564..7a6346a 100644 --- a/src/intel/compiler/brw_fs_nir.cpp +++ b/src/intel/compiler/brw_fs_nir.cpp @@ -2420,6 +2420,9 @@ fs_visitor::nir_emit_vs_intrinsic(const fs_builder &bld, assert(const_offset && "Indirect input loads not allowed"); src = offset(src, bld, const_offset->u32[0]); + if (type_sz(type) == 8) + first_component /= 2; + for (unsigned j = 0; j < num_components; j++) { bld.MOV(offset(dest, bld, j), offset(src, bld, j + first_component)); } -- 2.7.4