diff options
author | Dave Airlie <airlied@redhat.com> | 2016-01-18 16:36:36 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-02-19 11:18:47 +1000 |
commit | fd6c6f852e89b6b57012728cff5b41314472fa91 (patch) | |
tree | 9435a2adf248c29dee4ccdb15b965d1219f2441c | |
parent | 7f48ca0e7ea761d8ef1cfb38e7afc7a0a791d269 (diff) |
more fp64 bits
-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; |