pongsagon vichit (@MattDIYgraphics) header
pongsagon vichit (@MattDIYgraphics) profile picture

Amateur ASIC/FPGA designer building gaming hardware & GPUs. Write a 3D rasterizer on an MCU. Retro PC enthusiast. Teaching graphics programming by day.

Thailand
Joined March 2022
Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)Photo by pongsagon vichit (@MattDIYgraphics)
ASIC TinyGPU v2.0 is alive and working!!! Huge thanks to the #TinyTapeout community for all the support. Check out the fully open-source design here: github.com/pongsagon/tt_um_p… P.S. TinyGPU v3.0 is coming this December! Stay tuned. #OpenHardware #FPGA #ASIC
5
25
3
104
6,165
Had a blast presenting on designing tiny ASIC GPUs at #Hackaday! Huge thanks to the organizers and everyone who came out or tuned in. ⚡️ Catch the full talk recording on YouTube: youtube.com/live/Mp-dI_nVv4g…
4
13
862
The biggest #Supercon badge so far? 🤣 Powered by ESP32! Absolutely love this #TinyTapeout gift card. Now I want my own name card made like this. Time to get in touch with wafer.space!
9
326
Every pixel needs a depth test, but RAM is slow. TinyGPU v3.0 hides that latency by running shader execution in parallel with Z-buffer access. That jump—from a fixed pipeline in v2.0 to a 31-instruction pixel shader core in v3.0—happens without dropping a single frame 🚀
4
25
267
25,351
v2.0 ASIC is coming in Aug v3.0 ASIC is coming in Jan Submitting v3.0 without even knowing whether v2.0 would successfully work on real ASIC silicon. But we all know that GPU is a 🔪cut-throat business — must release new models fast.
3
817
Running #Bryce 3D on an #iMac G3 feels like the peak of late-90s vibe. The translucent Bondi Blue iMac G3 was a design statement like no other—it didn’t hide the tech, it celebrated it. And running Bryce 3D? That app didn’t just render landscapes; it rendered possibilities.
530
Standard polygon clipping is expensive. TinyGPU v3.0 instead does near/far plane culling (discarding whole triangles) in clip space, then uses Guard Band clipping—allowing out-of-viewport coords and clipping in screen space.
8
20
1
350
27,246
Guard band clipping comparison: 🟢 GeForce 256: +-100,000,000 (Overkill?) ⚪️ RIVA 128 (1997): +- 2048 🔴 TinyGPU v3.0: [-480, 800), [-360, 600)
4
843
TinyGPU v3.0 Pixel Shader spec: • lightweight DirectX 8 PS 1.1–inspired design • SIMD (4 pixels in parallel) • 31 instructions per shader (tweaking) • 26-op instruction set • Branching via masked execution • 4× 8-bit temp registers
3
25
1
308
18,357
(typo) Shader 3 reg[0] = frag.tex_color reg[1] = frame_num reg[0] = reg[0] + reg[1] color = reg[0]
601
TinyGPU v3.0 is coming with a programmable Pixel Shader!! Tested on FPGA and submitted to the #TinyTapeout May shuttle (~290k transistors). This Chameleon demo is a tribute to the #GeForce 3, the first programmable GPU released 25 years ago. github.com/pongsagon/ttsky26…
7
49
3
435
28,647
We’re entering an era where a single individual (exceptional one) can launch a chip-production project and sell the chips for about the price of a printed T-shirt. What a time te be alive.
Working on a Z80 replica for @mithro’s Wafer.Space tapeout in a couple of days. 180nm proces and 5 mm^2 die area could be a perfect match for reviving retro chip manufacturing! FOSSi, open source silicon.
1
16
1,329
Last minute update #TinyTapeout. TinyGPU v2.0 now support Texture mapping. Tex res 256x256, 4-bit. Texture mapped models run 33% slower than the flat shading version. The project uses 66% of 4x4 tiles, around 240k transistors. git: github.com/pongsagon/tt_um_p…
6
17
1
169
11,562
TinyGPU v2.0. A standalone GPU that can display a model file from Flash.Render 1K tri at 6.5fps in 320x240, 4-bit color. Tested on Basys3 FPGA. Submitted to the upcoming #TinyTapeout shuttle. more spec 🧵. git: github.com/pongsagon/tt_um_p…
5
25
2
229
19,341
Spec: - GPU can performs transformation & lighting, rasterization - 4-bit double buffer, 8-bit depth buffer store on QSPI RAM - max tri 1K - backface culling - 1 dynamic directional light, flat shading
1
15
1,270
TinyGPU v2.0. Just completed the rasterization with z-buffer part I am trying to finished transformation & lighting part before the upcoming #TinyTapeout shuttle.
6
12
1
257
14,346
Silicon wafer, a must have desk ornament for ASIC designer. Buy it here. store.tinytapeout.com
11
749
#Snap #Spectacles Babel AR - multi person mode✨ Two-way communication — understand and speak back in any language. Breaking language barriers, reuniting people. From Utopia Lab with @SufeeYama
3
711
My @tinytapeout 7 chip has arrived and it WORKS! This is a tiniest ASIC GPU. Render two polygons max. Thank you @matthewvenn @UriShaked and all the folks on the TT discord community. git github.com/pongsagon/tt07-ti…
2
19
1
131
7,369
ibook G3 ipad case from Adafruit’s guide learn.adafruit.com/ibook-ipa… Cost only half of that magic keyboard case but way more chic.
3
673
Valuable info on how SNES renderer work from @fabynou fabiensanglard.net/snes_ppus… Cant find these info when working on my FPGA PPU. Nintendo's engineers do optimize every bit. I also use double line buffer and cut short on everything. Life is also easier with BRAM than VRAM.
2
4
28
4,044
Playing around with Roger Allen's CUDA version of RT in one weekend by Peter Shirley. By putting scene and cam data in the const kernel parameter, I can get around 10x speed up. Render at 1800x1000, 16 samples/pixel, 15-20 fps on RTX4090 code: github.com/pongsagon/CUDA-RT…
1
9
966
CUDA 12.1 Const kernel parameter can handle 32KB of data. The scene from one weekend is ideal for this trick. It used around 20KB. developer.nvidia.com/blog/cu…
1
2
438
Testing RTX4090. Computing Julia fractal using CUDA at 4K, doing 1,200 iterations for each pixel. Draw it as a texture quad using CUDA/OpenGL interop. Got around 10-15 fps. Code: github.com/pongsagon/Julia-C…
4
475
Try render raytracing scene from "Ray tracing in one weekend" book in text mode using Console command prompt API. Render at 120x60 character, 10-level gray scale. Using Console to draw something is much easier than using OpenGl or SFML.
9
48
4,147