FPGAs are general purpose logic gates that you can reprogram on the fly to do whatever you want them to do. I suppose you could configure them to do matrix maths, but they are not going to rival a dedicated GPU. Most hardware that utilizes a FPGA does so to simplify circut design, allow for circut redesign after a board has been built, and to cut down the number of external logic parts needed.
A CPU / GPU also has many orders of magnitude more logic gates than an FPGA has.
i think I understand that, but I don't understand why it won't rival a dedicated GPU. A GPU is very much restricted to be SIMD, while it seems to me that you could program an FPGA in response to the data - either many SIMD processors or a a few SIMD plus some logic that combines results, or ...
You would need to do on the fly reprogramming which is slow. The game designer would have to be intimately familiar w the fpga architecture and the game software complexity would increase ridiculously. Fpga density cannot rival dedicated gpu gate density for dedicated rasterizing, etc. I doubt performance would improve at all. Game computations are dominated by what gpus are built for.
I should also note that an FPGA will not perform as well as a custom ASIC (such as a GPU) in terms of speed, power, or price (in significantly large quantities). An FPGA can be a very good options for moderate to low volume applications. You are correct with your description of a potential FPGA application. I would say it could rival or exceed the performance of the GPU solution.