diff options
author | kwg <kwg@web> | 2015-09-25 00:03:50 -0700 |
---|---|---|
committer | dri <iki-dri@freedesktop.org> | 2015-09-25 00:03:50 -0700 |
commit | c3b494632f7cb2fa8f20ec760039510d3111fd46 (patch) | |
tree | cff157a948fa3065ba2d78645f82e301d538d2d1 /I965Todo.mdwn | |
parent | 88766a51f2a31510fc357a7213c5c8eec473a109 (diff) |
Diffstat (limited to 'I965Todo.mdwn')
-rw-r--r-- | I965Todo.mdwn | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/I965Todo.mdwn b/I965Todo.mdwn index 43c7ecf..2118a98 100644 --- a/I965Todo.mdwn +++ b/I965Todo.mdwn @@ -29,9 +29,7 @@ when it would be better to produce something like: ### Recognize DPH structures and generate them. (moderate). -Right now we have ir_binop_dot, which translates to a DP2, DP3, or DP4 instruction in the hardware during brw_vec4_visitor.cpp. But if you've got a DP4 where just one of the channels is 1.0 (or, equivalently, DP3 plus adding one of the channels of one of the two vectors to the result), then we could avoid the immediate 1.0 move by using the DPH opcode. - -While it may not be a complete solution, you can probably get some positive results in shader-db by making a new ir_binop_dph ir_expression operation (see src/glsl/README and git log on ir.h to find some other examples of what goes with new expression operations), recognizing the pattern in ir_algebraic.cpp (since that's the easiest place we have for doing changes like this), then adding brw_DPH to the generator. +We could teach nir_opt_algebraic to recognize fdp4 with the first source's .w component == 1.0 and turn that into fdph. There are probably patterns where teaching nir_search about swizzles would be useful. ### Return-from-main using HALT (easy) |