HSR vs Tile-Based rendering?

Vaguely. Did a quick google search. They claim no performance hit for context switching. The main question: is this technology applicable for GPU programming, where the pipelines are much longer?
 
Chalnoth said:
Vaguely. Did a quick google search. They claim no performance hit for context switching. The main question: is this technology applicable for GPU programming, where the pipelines are much longer?


Much longer than what?

When the patent was filed it specifically said for use in 3D graphics so we all spent ages going wow! what is it! where is the card with it in!

Then everyone forgot. I think its going to be used to shift unused areas of silicon arund the chip for load balancing across the whole chip (excluding certain areas probably) on a per clock basis.

For example MSAA requires quite a reasonable amount of die area, if its not being used tho why not use the logic for assisting in geometry transforms or something? :)
 
Well, that was just a specific example of one of many possible situations that could benifit.

But, the MSAA logic upsamples the geometry info amongst other things which invovles multiplications and such, so why not multiply different numbers from elsewhere on the chip and use the results elsewhere on the chip?

I mean, these things can run linux and dsp applications on the same core - functional similarities between linux and the handling of streaming data? on the low level - loads because it breaks down to the use of RISC instructions like MAD MOV MUL and such.
 
Dave B(TotalVR) said:
But, the MSAA logic upsamples the geometry info amongst other things which invovles multiplications and such, so why not multiply different numbers from elsewhere on the chip and use the results elsewhere on the chip?
I really don't see why this logic you're describing is any different than the typical triangle setup logic, other than the possibility that one would want to allow sample positions to not lie in an ordered grid. The real question I would have for you is, can this logic be used efficiently for other purposes in 3D graphics? If not, then there's not much point in generalizing it for a GPU manufacturer.
 
Simon F said:
Dave B(TotalVR) said:
Ever heard of Metagence?
Dave
Oh don't start with that. We'll be getting 'expert' opinion on CPU design next.
Haven't you learned that anytime Chalnoth says "I don't see why" or "I would expect that" that you can immediately dismiss whatever follows as being completely incorrect or based on false assumptions? :D

-FUDie
 
Chalnoth said:
Dave B(TotalVR) said:
But, the MSAA logic upsamples the geometry info amongst other things which invovles multiplications and such, so why not multiply different numbers from elsewhere on the chip and use the results elsewhere on the chip?
I really don't see why this logic you're describing is any different than the typical triangle setup logic, other than the possibility that one would want to allow sample positions to not lie in an ordered grid. The real question I would have for you is, can this logic be used efficiently for other purposes in 3D graphics? If not, then there's not much point in generalizing it for a GPU manufacturer.


The answer is probably, you're not just feeding the MSAA unit different numbers, your re-structuring it to deal with different tasks. Im sure Simon or John would be able to give you a more definitive answer but I fear they my be reluctant to comment ;)
 
Well, I understand that part. What I don't understand is how more generalized processing would be useful at that stage in rendering.

If you wanted to make the units completely general, so that they're not necessarily acting on data at that stage in rendering, then you have another problem: that of using too many transistors for a piece of the rendering pipeline that is commonly used in a specific way.

And the other thing is that I'm not convinced that there is a single type of "MSAA unit" that one could identify in each video card that supports MSAA. There are different ways to tackle this sort of a thing.

One way would be to simply allow the triangle setup engine to generate separate information for z data and pixel data. Another way would be to have the triangle setup engine output normal pixel data that then enters this, "MSAA unit," where other z values are calculated for z testing (based upon triangle information that is also carried through).
 
You look at the picture of a 3D core and see how much space is used by logic specifically for the MSAA. A Metagence core would be able to run the calculations for the MSAA on one thread whilst doing other things on the same logic in another thread. Metagence has the load balancing issue there sorted.
 
Well, again, my question is: what is the MSAA portion of the core actually doing? Is it just handling extra z-compares per clock? Are we talking about framebuffer compression as well here?
 
As I understand MSAA, it upsamples geometry info then renders the scene as if twice as big but 4 pixels at once, if there is no tri boundary in the 4 pixels it renders then it only does the one texture lookup. Ask Dave or somebody for a better explanation though.

Anyway, upsampling all the geometry has gotta be a pretty big task in itself...
 
Dave B(TotalVR) said:
Anyway, upsampling all the geometry has gotta be a pretty big task in itself...
Do you mean scaling by 2 in X and Y? It's utterly trivial.
 
Back
Top