From 619c53489fc5d363317f5e176f0e0271a1e90a33 Mon Sep 17 00:00:00 2001 From: Axel Davy Date: Thu, 11 Mar 2021 18:33:24 +0100 Subject: [PATCH] st/nine: Ignore swizzle on samplers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prevents a crash running wine tests Signed-off-by: Axel Davy Acked-by: Timur Kristóf Part-of: --- src/gallium/frontends/nine/nine_shader.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/frontends/nine/nine_shader.c b/src/gallium/frontends/nine/nine_shader.c index 53924202b00..07d891968a8 100644 --- a/src/gallium/frontends/nine/nine_shader.c +++ b/src/gallium/frontends/nine/nine_shader.c @@ -1095,7 +1095,7 @@ tx_src_param(struct shader_translator *tx, const struct sm1_src_param *param) break; case D3DSPR_SAMPLER: assert(param->mod == NINED3DSPSM_NONE); - assert(param->swizzle == NINED3DSP_NOSWIZZLE); + /* assert(param->swizzle == NINED3DSP_NOSWIZZLE); Passed by wine tests */ src = ureg_DECL_sampler(ureg, param->idx); break; case D3DSPR_CONST: @@ -1204,7 +1204,7 @@ tx_src_param(struct shader_translator *tx, const struct sm1_src_param *param) break; } - if (param->swizzle != NINED3DSP_NOSWIZZLE) + if (param->swizzle != NINED3DSP_NOSWIZZLE && param->file != D3DSPR_SAMPLER) src = ureg_swizzle(src, (param->swizzle >> 0) & 0x3, (param->swizzle >> 2) & 0x3,