

Rasterisation patterns of the Haswell GPU - willvarfar
http://www.g-truc.net/post-0597.html

======
kevin_rubyhouse
I don't understand the significance of this... Can somebody explain it to me
like I'm 5 or provide a source for me to understand this more?

~~~
ygra
No expert here (heck, I've done maybe 5 minutes of OpenGL so far).

It reads like they use a special pixel shader to color each pixel of a texture
in a more of less unique color based on when the pixel (or maybe block) was
scheduled to be shaded (I'm guessing here based on the atomic counter bit).
This yields a texture that shows the order in which pixel shaders are run on a
texture. This seems to be different for different GPUs and architectures
(unsurprisingly) and also seems to give insights into how certain things are
implemented.

But that's all just a bit of guessing. Someone else might be able to give an
actual explanation.

~~~
nobodysfool
Yea well reading it closely, the red's value is what you see with the highest
frequency of change. You can see that red increases then increments green,
then starts over again at zero, so by looking closely at red, you can see
where the computations stop and start over again, thus giving you the reds
pattern. As to what it means, who knows.

------
lbenes
Are these atomic counters related to the atomic object feature that was
promised with OGL 3.0 and then dropped? Is there a template model now in OGL
or is it using a different method to create immutable objects across multiple
threads?

Please excuse my ignorance as I haven’t looked at OpenGL since 3.0 was
released in 2006. Now SteamOS has piqued my interest in OGL again.

Edit: grammar. Thanks jonah! After some googling, it looks like atomic
counters are not the same as the promised atomic objects, but seems OGL 4.0+
has nearly closed the feature gap with DX11.

~~~
jonah
[https://www.vocabulary.com/articles/chooseyourwords/peak-
pee...](https://www.vocabulary.com/articles/chooseyourwords/peak-peek-pique/)

[http://www.thefreedictionary.com/pique](http://www.thefreedictionary.com/pique)

(Nothing against you in particular, just a very common misuse.)

~~~
Amadou
From your second link:

2\. To provoke; arouse: The portrait piqued her curiosity.

~~~
jonah
Oh, jeez. Not my intention at all. (Apologies if it was taken that way.)

So, are we not to help people (in general) come across better by using the
proper words?

~~~
Amadou
It seems I misread the original post and thought you were 'correcting' an
already correct usage. On reading it again, it seems that I was wrong and I
apologize.

Given that HN does not show any historical revisions, it can be hard to tell
the order (or even existence) of edits. FWIW, if you had quoted the line you
were commenting on it would have been unambiguously clear to me that the OP
had taken your advice and corrected whatever he original wrote.

~~~
lbenes
Sorry for the confusion. When I came back to edit my original post, I also
changed peaked -> piqued per Johan's suggestion. Not sure of the Internet
etiquette here, but next time I'll be more clear.

~~~
jonah
Thanks for the clarifications. :)

(It's hard to humbly offer suggestions online...)

> FWIW, if you had quoted the line you were commenting on it would have been
> unambiguously clear to me that the OP had taken your advice and corrected
> whatever he original wrote.

Good point. I usually do this, but will try to always do so as it helps with
the clarity.

------
oofabz
It is also interesting to see video of these rasterization patterns. The
pattern is not exactly the same from frame to frame.

Nvidia:
[http://www.youtube.com/watch?v=WFx6StqpRdY](http://www.youtube.com/watch?v=WFx6StqpRdY)

AMD:
[http://www.youtube.com/watch?v=WnUS8kzA3dI](http://www.youtube.com/watch?v=WnUS8kzA3dI)

------
trafficlight
That's cool, I think. Do you have any links to examples from other CPUs/GPUs?

~~~
willvarfar
(Poster, not author)

(There are Kepler and Southern Islands patterns on the same page for
comparison)

I am trying to internalise this for CUDA and OpenCL kind of mechanical
sympathy optimisation.

