diff options
-rw-r--r-- | src/vrend_shader.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vrend_shader.c b/src/vrend_shader.c index 8d184fb..1f23ca3 100644 --- a/src/vrend_shader.c +++ b/src/vrend_shader.c @@ -2039,6 +2039,10 @@ iter_instruction(struct tgsi_iterate_context *iter, snprintf(buf, 255, "%s = %s(1.0/(%s));\n", dsts[0], dstconv, srcs[0]); EMIT_BUF_WITH_RET(ctx, buf); break; + case TGSI_OPCODE_DRCP: + snprintf(buf, 255, "%s = %s(1.0LF/(%s));\n", dsts[0], dstconv, srcs[0]); + EMIT_BUF_WITH_RET(ctx, buf); + break; case TGSI_OPCODE_FLR: emit_op1("floor"); EMIT_BUF_WITH_RET(ctx, buf); @@ -2068,6 +2072,7 @@ iter_instruction(struct tgsi_iterate_context *iter, EMIT_BUF_WITH_RET(ctx, buf); break; case TGSI_OPCODE_RSQ: + case TGSI_OPCODE_DRSQ: snprintf(buf, 255, "%s = %s(inversesqrt(%s.x));\n", dsts[0], dstconv, srcs[0]); EMIT_BUF_WITH_RET(ctx, buf); break; @@ -2123,6 +2128,7 @@ iter_instruction(struct tgsi_iterate_context *iter, EMIT_BUF_WITH_RET(ctx, buf); break; case TGSI_OPCODE_MAD: + case TGSI_OPCODE_DMAD: snprintf(buf, 255, "%s = %s((%s * %s + %s)%s);\n", dsts[0], dstconv, srcs[0], srcs[1], srcs[2], writemask); EMIT_BUF_WITH_RET(ctx, buf); break; |