diff options
author | Stéphane Marchesin <[email protected]> | 2011-06-26 13:40:54 -0700 |
---|---|---|
committer | Stéphane Marchesin <[email protected]> | 2011-06-27 02:05:59 -0700 |
commit | 811963a7aed4d4ea9a3b2c8ad4db6a5c3f118956 (patch) | |
tree | 2542db7499ccf5e72ec0fe72415b1499939ad834 /src | |
parent | d2f05283d2226f3285dccfc373ee9e314a8c95c8 (diff) |
i915g: Implement fake DDX/DDY.
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/i915/i915_fpc_translate.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/gallium/drivers/i915/i915_fpc_translate.c b/src/gallium/drivers/i915/i915_fpc_translate.c index ec2c31685cb..6948fc368f3 100644 --- a/src/gallium/drivers/i915/i915_fpc_translate.c +++ b/src/gallium/drivers/i915/i915_fpc_translate.c @@ -516,6 +516,18 @@ i915_translate_instruction(struct i915_fp_compile *p, i915_emit_const4fv(p, cos_constants), 0); break; + case TGSI_OPCODE_DDX: + case TGSI_OPCODE_DDY: + /* XXX We just output 0 here */ + debug_printf("Punting DDX/DDX\n"); + src0 = get_result_vector(p, &inst->Dst[0]); + i915_emit_arith(p, + A0_MOV, + get_result_vector(p, &inst->Dst[0]), + get_result_flags(inst), 0, + swizzle(src0, ZERO, ZERO, ZERO, ZERO), 0, 0); + break; + case TGSI_OPCODE_DP2: src0 = src_vector(p, &inst->Src[0], fs); src1 = src_vector(p, &inst->Src[1], fs); |