[PATCH vkd3d 6/7] vkd3d-shader: Translate sample_b instructions.
Józef Kucia
joseph.kucia at gmail.com
Wed Oct 17 10:59:35 CDT 2018
From: Józef Kucia <jkucia at codeweavers.com>
Signed-off-by: Józef Kucia <jkucia at codeweavers.com>
---
libs/vkd3d-shader/spirv.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c
index 5d34a847b10a..fce6e03909b0 100644
--- a/libs/vkd3d-shader/spirv.c
+++ b/libs/vkd3d-shader/spirv.c
@@ -5448,6 +5448,12 @@ static void vkd3d_dxbc_compiler_emit_sample(struct vkd3d_dxbc_compiler *compiler
case VKD3DSIH_SAMPLE:
op = SpvOpImageSampleImplicitLod;
break;
+ case VKD3DSIH_SAMPLE_B:
+ op = SpvOpImageSampleImplicitLod;
+ operands_mask |= SpvImageOperandsBiasMask;
+ image_operands[image_operand_count++] = vkd3d_dxbc_compiler_emit_load_src(compiler,
+ &src[3], VKD3DSP_WRITEMASK_0);
+ break;
case VKD3DSIH_SAMPLE_GRAD:
op = SpvOpImageSampleExplicitLod;
operands_mask |= SpvImageOperandsGradMask;
@@ -6458,6 +6464,7 @@ void vkd3d_dxbc_compiler_handle_instruction(struct vkd3d_dxbc_compiler *compiler
vkd3d_dxbc_compiler_emit_ld(compiler, instruction);
break;
case VKD3DSIH_SAMPLE:
+ case VKD3DSIH_SAMPLE_B:
case VKD3DSIH_SAMPLE_GRAD:
case VKD3DSIH_SAMPLE_LOD:
vkd3d_dxbc_compiler_emit_sample(compiler, instruction);
--
2.18.1
More information about the wine-devel
mailing list