FPGA GPU
Hardware- 7 Devlogs
- 15 Total hours
Simple gpu using an fpga. what can i say except this is a rare skill? doesn’t get girls tho but its ok cause im gay.
Simple gpu using an fpga. what can i say except this is a rare skill? doesn’t get girls tho but its ok cause im gay.
Better triangle winding math than nvidia. oh wow works been really busy these days. i havent had much time for code. its also kinda tiring. Since we aren’t working with a ton of computing power, the most important development is that i’ve managed to build an evaluation engine that works in 1 cycle and does very fast triangle winding checks, all without doing any complex math. The evaluation is quadrant based, where 2 vertexes are defined against the other vertex, and their quadrant properties are evaluated and compared against known examples, with 3 of these happening simultaneously at once to deliver rapid winding testing. Hire me nvidia.
the biggest beef steak-
so turns out they have IN BUILT VIDEO CONTROLLERS, which would have been a handy thing to know BEFORE I MADE ONE FROM SCRATCH. did i waste my time yes or yes.
trust me guys its a learning oppourtunity
Man this sure is one bad apple! after much blood sweat and screen tearing, we have achieved bad apple running at max resolution (1024 x768). by utilizing a custom encoding format, I compressed the video sequence into a linear stream that the custom decoder can decipher and deliver images to. The sequence contains 2/3rds of the full video and runs at 5x the speed due to an error i care not to explain (i forgot that this thing is stateless and outputs video at 60fps while i only provided 12fps) but who the hell cares we have bad apple
so uh i forgot to do lapses while i was reading ddr3 documentation. Don’t worry yall didn’t miss much. Turns out that ram is much , much more complicated than what i’ve grown up believing. You would’t trust me when i say that Assembly has coddled the user in terms of memory. Why do i have to charge up memory like an energy weapon and what do you mean i lose 75% performance if i place the bits wrong. I might genuinely be the first man who is insane enough to write it from scratch. we’re gonna have read queues baby
Custom encoders , and custom patterns! The lack of an actual memory is nothing to a man who does his magic inside shaders. The hdmi stream in reality is just like a graphics shader, each pixel and fragment are the same to me. custom gradients galore! the encoder was a little hard to lock down but i got it in the end hehe
our first step towards greatness. Yessir we officially have our own video output! there’s still a long long way to go before we actually render a picture, and there’s a huge memory controller shaped elephant in the room that i do not want to address, but for now rejoice.
HDMI shaboingboing. As you can see I use very professional language. The hdmi output is annoying because of its strict timing. Coincidentally the hdmi output will become the easiest part of the project once I get to the rest of it. Ouch . The hdmi output uses a clock multiplier to deliver precise timings at 56 mhz to output to a 1024x768 screen. As of now everything is hard coded because I’ll have to make my own memory controller (cause it doesn’t have one). Not tested yet but I’m hopeful