From 07d1f8faf9a7b4bdf6989de7df928105cd248251 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Thu, 22 Sep 2016 16:10:02 -0600 Subject: [PATCH] st/mesa: small optimization in swizzle_swizzle() Usually, there's no user-specified texture swizzle so we can optimize the swizzle_swizzle() function and skip the loop/switch. Reviewed-by: Charmaine Lee --- src/mesa/state_tracker/st_atom_texture.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c index a6135333b3e..19df6622ef1 100644 --- a/src/mesa/state_tracker/st_atom_texture.c +++ b/src/mesa/state_tracker/st_atom_texture.c @@ -59,6 +59,11 @@ swizzle_swizzle(unsigned swizzle1, unsigned swizzle2) { unsigned i, swz[4]; + if (swizzle1 == SWIZZLE_XYZW) { + /* identity swizzle, no change to swizzle2 */ + return swizzle2; + } + for (i = 0; i < 4; i++) { unsigned s = GET_SWZ(swizzle1, i); switch (s) { -- 2.11.0