Ok, step 1:
Make take my 'BrianHG_DDR3_DECA_Show_1080p' project and use it's video output section trimmed down to 8 bit color and add a dummy palette between the 8 bit video output to drive a 32bit color result. Change the PLL to 74.25MHz and the video settings to 720p.
(You will need to engineer a 32bit .mif file, 8 bit address input, 32 bit data out as your ARGB color.)
I would engineer and play with this as a new 'BrianHG_DDR3_DECA_Show_1080p' project first before committing to the GPU as the compile time is quick. Note you can change the IO for the RS232 debugger so you may test writing data to the pixels.
Since the screen is 900kb, and you geometry unit can only address 1024kb and the Z80 can only do 512k, begin the screen base address memory at 64kb so that the Z80 can at least upload the font from Z80 into the beginning of memory.
Next, moving onto the GPU...
In your GPU, erase your:
GPU_HW_Control_Regs
data_mux_geo
sync_generator
vid_osd_generator
vid_out_stencil
Now, your output will be hard-wired 1280x720 8 bit color. Graphics only. 1 layer. So, you will need to blitter all your text setting the geo source to 1 bit color for the font, and 8 bit color for the output screen just like before. All your other control regs are now gone. (You can use the scale setting in the blitter to get a simulated 640x360 clean, or 640x480 with some scaling chunks on the Y axix, or, find a 16x24 font and without scaling, get the best Z80 text you have seen yet.)
In fact, with all the erased modules, it might be easier to just add the 'Z80_bus_interface' and 'geometry_processor', the only 2 modules from the old GPU, and add them into the 'BrianHG_DDR3_DECA_Show_1080p', rename it project as your new GPU project.
Note that the read and write channel numbers for the Z80 and geometry unit should remain the same and my single 1080p maggie channel should be moved onto the next additional DDR3 read channel.