Originally posted by jrch2k8
View Post
Announcement
Collapse
No announcement yet.
Marek Cleans-Up & Refactors R600g Driver
Collapse
X
-
-
Ah, Marek fixes the world again.
Kudos for the code cleanups. It makes things smoother.
It's always good for all kinds of work if somebody else with some distance (or yourself with some time passed) goes over it and adds some polishing.Stop TCPA, stupid software patents and corrupt politicians!
Comment
-
Originally posted by log0 View PostYou can use apitrace, "glretrace -p ..." for profiling. I've used it some time ago to compare mesa to windows catalyst. There was not much difference, just that SwapBuffers took like ten times longer with mesa/r600g if I remember correctly. But then my test code didn't do anything extraordinary, just setting textures and issuing draw calls most of the time.
Comment
-
Originally posted by jrch2k8 View Posthi, marek i have an stupid idea[that maybe can be good] since i don't have time to deal with learning gallium enough to implement opengl missing bits i was thinking that i should understand gallium enough to help optimizing the command stream but i was curious if exist a tool that let me, lets say run piglit and capture the CS from fglrx so i can compare it against r600g, maybe i can shoot some low hanging fruits in there.
Originally posted by jrch2k8 View Postanother thing i could spent my time with is comparing performance against a reference base[fglrx] but i wish to know if you know any utility that let me capture every gl call and see how much time needed to execute[not sure if can be possible with something like apitrace] dunno for example GL_ARB_Extension 200ms, ofc i don't expect to discover boiling water this way but it can provide a good start point to tackle some low hanging bottlenecks at least
Originally posted by Adarion View PostKudos for the code cleanups. It makes things smoother.
It's always good for all kinds of work if somebody else with some distance (or yourself with some time passed) goes over it and adds some polishing.
Comment
-
Originally posted by marek View PostThe cleanups mainly ensure that the code doesn't turn into unmaintainable mess after a couple of years of development (and make supporting new features easier).
Hey Marek just curious, is there anything big you WISH you could do with R600g codebase? I've been following the posts about the Nouveau crowd rewriting the DRM bits, Intel rewriting how they do KMS, etc etc etc, and I was just curious: If you had infinite time to do it in, and would get paid to do it, whats the one thing you'd do to the R600g driver? Like are there any serious core design flaws that need to be fixed but that no one wants to/has the time, to fix?
Edit: You can screw backwards compatibility with existing ABI/API if you have toLast edited by Ericg; 11 September 2012, 01:55 PM.All opinions are my own not those of my employer if you know who they are.
Comment
-
Originally posted by marek View PostThe tools exist, but Jerome has been doing that already and it doesn't seem to have borne much fruit (compared to the invested time). I was doing that too while working on r300g.
Apitrace can capture GL calls, but the hardware executes commands in parallel, so you won't be able to tell how much time each command takes on the GPU. Besides that, Apitrace itself has huge CPU overhead and replaying commands with it is actually a lot slower, making it useless for benchmarking.
The cleanups mainly ensure that the code doesn't turn into unmaintainable mess after a couple of years of development (and make supporting new features easier).
Comment
-
Originally posted by jrch2k8 View Postok make sense but i guess since i got nights and weekends i can try anyway and maybe read lots of code to see if can find loops that can be unbranched or vectorized/threaded in the struct fest[more a c++ fan but i can get used to it]
Comment
-
Originally posted by Ericg View PostHey Marek just curious, is there anything big you WISH you could do with R600g codebase? I've been following the posts about the Nouveau crowd rewriting the DRM bits, Intel rewriting how they do KMS, etc etc etc, and I was just curious: If you had infinite time to do it in, and would get paid to do it, whats the one thing you'd do to the R600g driver? Like are there any serious core design flaws that need to be fixed but that no one wants to/has the time, to fix?
Comment
-
Originally posted by marek View Postor are in the process of being fixed.
I know LLVM is being used for some parts of radeon but can it be used for that compiler too?All opinions are my own not those of my employer if you know who they are.
Comment
Comment