[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