Views: 1,611,767 | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search | 12-03-24 05:11 PM |
Guest: |
0 users reading GPU stuff to investigate | 1 bot |
Main - Reverse-engineering - GPU stuff to investigate | Show post layouts | New reply |
StapleButter |
| ||
Member blarg Level: 30 Posts: 7/184 EXP: 151609 Next: 14260 Since: 10-27-14 From: France Last post: 2660 days ago Last view: 2571 days ago |
Shader limits. For whatever reason, trying to specify more than one constant or 9 opdesc's in a shader freezes the GPU.
Probably it's also the case for uniforms. |
smea |
| ||
Newcomer Normal user Level: 3 Posts: 1/1 EXP: 60 Next: 68 Since: 11-06-14 Last post: 3680 days ago Last view: 3515 days ago |
- see if it's possible to reset the GPU once it "freezes" <= most important thing anyone could ever do ever (could be just GSP freezing waiting for something ? could be that GPU is still waiting for us to send it something more until it does anything ? who knows !)
- GPU_DepthRange problems - geometry shaders ! (same instruction set with a few new instructions to emit vertices/primitives apparently, need to test and map out + figure out how to set entrypoint and such) - conditions in shaders (we have control flow ops mostly figured out, cf aemstro, but no clue how conditions work other than uniform booleans) - wtf are 0x0062 (used when we start drawing with value 0, mask 1) and 0x0063 (used when we finish drawing with value 1, mask F) ? ... and tons of other things but these are the ones i can think of right now |
StapleButter |
| ||
Member blarg Level: 30 Posts: 8/184 EXP: 151609 Next: 14260 Since: 10-27-14 From: France Last post: 2660 days ago Last view: 2571 days ago |
Which reminds me of, of course, fragment lighting. It'd be really cool if we figured out how to use that thing. It's one of the big things DMP shows off about the PICA200, too.
Oh, and stencil buffer replacement ops. What the hell is up with those. |
StapleButter |
| ||
Member blarg Level: 30 Posts: 11/184 EXP: 151609 Next: 14260 Since: 10-27-14 From: France Last post: 2660 days ago Last view: 2571 days ago |
Shader instructions: Also we gotta find shit like SUB and DIV. SUB could be emulated with MUL*-1 and ADD, and DIV could be emulated with RCP and MUL, but that's hacky. |
StapleButter |
| ||
Member blarg Level: 30 Posts: 15/184 EXP: 151609 Next: 14260 Since: 10-27-14 From: France Last post: 2660 days ago Last view: 2571 days ago |
Posted by StapleButter Need to try odd numbers of them. Maybe it's even number syndrome all over again? |
StapleButter |
| ||
Member blarg Level: 30 Posts: 21/184 EXP: 151609 Next: 14260 Since: 10-27-14 From: France Last post: 2660 days ago Last view: 2571 days ago |
Posted by smea Just make sure to not enter a gspWaitForP3D() call or you're frozen for good. Unless you have another thread that realizes rendering is taking ways too long, and fake-signals the P3D event to free the first thread and resets the GPU. Speaking of that, I don't know about you smea but I have observed subpar performance. Back then it took about 6ms to render like 4 triangles, and now the hardware renderer's display lists take about 10ms to execute, even though the polygon counts are still far from the theoretical limits. neobrain's theory on that is that the GPU is in some power-saving mode. Would make sense. Where was the GPU reset sequence taken from, already? Another thing is about command 0x0100. It's commonly set to 0x00E40100. The E4 there got my interest, even though last time I tried to mess with it, nothing changed. E4 = 11 10 01 00 = 3 2 1 0 I suspect that, used maybe along some other bit, this enables color component swizzling. Hell, maybe it's one of those bits I thought were just being weird. |
minexew |
| ||
Newcomer Normal user Level: 6 Posts: 3/6 EXP: 889 Next: 18 Since: 11-27-14 Last post: 3654 days ago Last view: 3652 days ago |
Can user-mode applications access these? http://3dbrew.org/wiki/PDN_Registers
One of them could control the power to the GPU, theoretically making it possible to reset it. But then again, it probably needs some kind of an initialization sequence known only by the OS. |
minexew |
| ||
Newcomer Normal user Level: 6 Posts: 4/6 EXP: 889 Next: 18 Since: 11-27-14 Last post: 3654 days ago Last view: 3652 days ago |
Also http://3dbrew.org/wiki/PDN_Services#PDN_GSP_service_.22pdn:g.22 |
Main - Reverse-engineering - GPU stuff to investigate | Show post layouts | New reply |
Page rendered in 0.011 seconds. (2048KB of memory used) MySQL - queries: 26, rows: 77/77, time: 0.005 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |