diff options
author | kwg <kwg@web> | 2021-06-24 06:20:58 +0000 |
---|---|---|
committer | IkiWiki <ikiwiki.info> | 2021-06-24 06:20:58 +0000 |
commit | 118a6da5510fe748c0359e3a473ee16460258fca (patch) | |
tree | b1c565f82aa0cbcc0ddbdfdcf68b411d2ea208bc | |
parent | 72c9e1fca3c6922fd638eefacd1eaa7000b36acd (diff) |
Mark DPH recognition done
-rw-r--r-- | I965Todo.mdwn | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/I965Todo.mdwn b/I965Todo.mdwn index 2a2144f..f427083 100644 --- a/I965Todo.mdwn +++ b/I965Todo.mdwn @@ -47,10 +47,6 @@ when it would be better to produce something like: (+f0) cmp.e.f0(8) g34<1>D g5<8,8,1>F g33<8,8,1>F { align1 WE_normal 1Q }; (+f0) if(8) 0 0 null 0x00000000UD { align1 WE_normal 1Q switch }; -### Recognize DPH structures and generate them. (moderate). - -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) Right now when there's a "return" in the main() function, we lower all later assignments to be conditional moves. But, using the HALT instruction we can tell the hardware to stop execution for some channels until a certain IP is reached. We use this for discards to have subspans stop executing once they're discarded (for efficiency), and we basically that on a channel-wise basis for return-from-main. Take a look at FS_OPCODE_DISCARD_JUMP, FS_OPCODE_PLACEHOLDER_HALT, and patch_discard_jumps_to_fb_writes() |