Module: wine Branch: master Commit: c6bccc927885c926d229aef2d8857f4159475efc URL: http://source.winehq.org/git/wine.git/?a=commit;h=c6bccc927885c926d229aef2d8...
Author: H. Verbeet hverbeet@gmail.com Date: Mon Jan 15 19:36:46 2007 +0100
wined3d: Simplify shader_glsl_get_swizzle().
---
dlls/wined3d/glsl_shader.c | 17 ++++++----------- 1 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c index 4a77431..f0fe216 100644 --- a/dlls/wined3d/glsl_shader.c +++ b/dlls/wined3d/glsl_shader.c @@ -734,21 +734,16 @@ static void shader_glsl_get_swizzle(cons /* For registers of type WINED3DDECLTYPE_D3DCOLOR, data is stored as "bgra", * but addressed as "rgba". To fix this we need to swap the register's x * and z components. */ + DWORD swizzle = (param & WINED3DSP_SWIZZLE_MASK) >> WINED3DSP_SWIZZLE_SHIFT; const char *swizzle_chars = fixup ? "zyxw" : "xyzw"; char *ptr = swizzle_str;
- /* swizzle bits fields: wwzzyyxx */ - DWORD swizzle = (param & WINED3DSP_SWIZZLE_MASK) >> WINED3DSP_SWIZZLE_SHIFT; - DWORD swizzle_x = swizzle & 0x03; - DWORD swizzle_y = (swizzle >> 2) & 0x03; - DWORD swizzle_z = (swizzle >> 4) & 0x03; - DWORD swizzle_w = (swizzle >> 6) & 0x03; - *ptr++ = '.'; - if (mask & WINED3DSP_WRITEMASK_0) *ptr++ = swizzle_chars[swizzle_x]; - if (mask & WINED3DSP_WRITEMASK_1) *ptr++ = swizzle_chars[swizzle_y]; - if (mask & WINED3DSP_WRITEMASK_2) *ptr++ = swizzle_chars[swizzle_z]; - if (mask & WINED3DSP_WRITEMASK_3) *ptr++ = swizzle_chars[swizzle_w]; + /* swizzle bits fields: wwzzyyxx */ + if (mask & WINED3DSP_WRITEMASK_0) *ptr++ = swizzle_chars[swizzle & 0x03]; + if (mask & WINED3DSP_WRITEMASK_1) *ptr++ = swizzle_chars[(swizzle >> 2) & 0x03]; + if (mask & WINED3DSP_WRITEMASK_2) *ptr++ = swizzle_chars[(swizzle >> 4) & 0x03]; + if (mask & WINED3DSP_WRITEMASK_3) *ptr++ = swizzle_chars[(swizzle >> 6) & 0x03];
*ptr = '\0'; }