🔒 Locked
F Buffer
Advertisement
Original Post
they havent exposed it yet and when i last asked about it (a couple of months back iirc) they had no plans to expose it as yet
a quick google doesnt show up anything online matching that discription Basiror... any chance of a link?
ok i have checked it out now
i was talking about the P-buffer
the f-buffer is just there to allow longer more complex pixel shader operations that need to pass the pixel-engine several times, thus they minimize the computition time because they don t have to read back from memory every pass (through the pixel-engine)
so as conclusion, you can t use it directly, the gfx card uses it automatically as soon as you do some complex shader operations
F-Buffer (Fragment-stream FIFO Buffer)
i was talking about the P-buffer
the f-buffer is just there to allow longer more complex pixel shader operations that need to pass the pixel-engine several times, thus they minimize the computition time because they don t have to read back from memory every pass (through the pixel-engine)
so as conclusion, you can t use it directly, the gfx card uses it automatically as soon as you do some complex shader operations
F-Buffer (Fragment-stream FIFO Buffer)
Hmm.. well after reading the rest of the F Buffer paper by W. Mark and K. Proudfoot I guess it handles the buffer overflows by saving the amount of fragments stored before the buffer overflowed, renders them and then re renders the geometry skipping the first n fragments where n is the amount of fragments it rendered the first time round. Either that or it starts storing the rest of the F buffer in system memory but that''d probably have some rather serious performance hits.
i''m pretty sure you have to use it directly.
Based on the F-buffer paper Monder mentioned the impression i got was that you would break your shader up into parts, you would then do the first section of the shader writing the output to an F-buffer, then on the next passes you would use an F-Buffer as a source and/or a sink for data, repeating until you completed the output and write it to the frame buffer (figure 3, page 3 of the paper)
As such, we cant use them without telling the driver you want one or more and as they arent exposed yet we cant use them at all.
As for the 9800 breaking up complex shaders, proof please, because i''ve not seen any info about this and i tend to keep my ear to the ground when it comes to stuff like that
Based on the F-buffer paper Monder mentioned the impression i got was that you would break your shader up into parts, you would then do the first section of the shader writing the output to an F-buffer, then on the next passes you would use an F-Buffer as a source and/or a sink for data, repeating until you completed the output and write it to the frame buffer (figure 3, page 3 of the paper)
As such, we cant use them without telling the driver you want one or more and as they arent exposed yet we cant use them at all.
As for the 9800 breaking up complex shaders, proof please, because i''ve not seen any info about this and i tend to keep my ear to the ground when it comes to stuff like that
f-buffer is implicit in opengl shaders. this is true at least for GLslang shaders, not sure about fp1.0.. they don''t do that in dx, because dx defines the max instruction count for the shaders. gl doesn''t (at least glslang) => they can expose it there without the user ever letting know it.
If that''s not the help you''re after then you''re going to have to explain the problem better than what you have. - joanusdmentia
davepermen.net
If that''s not the help you''re after then you''re going to have to explain the problem better than what you have. - joanusdmentia
davepermen.net
One quick email to ATI DevRel later and i have to following on the subject :
"The F-buffer is definately something used behind the scenes and is not an explicit function call. It is one method of allowing fragment shaders that go beyond the native limits of the HW. There are other methods that can be used also and would be similar in use, something hidden to the programmer. At this point we have not implemented shaders that go beyond native limits but it is something that could possibly be done in future."
So, I was wrong about its useage, however it appears that atm it isnt used on the hardware with OGSlang
Big props to the Jeff Royle at DevRel, so far i''ve had answers to my questions within 48h of me sending ''em, top stuff
"The F-buffer is definately something used behind the scenes and is not an explicit function call. It is one method of allowing fragment shaders that go beyond the native limits of the HW. There are other methods that can be used also and would be similar in use, something hidden to the programmer. At this point we have not implemented shaders that go beyond native limits but it is something that could possibly be done in future."
So, I was wrong about its useage, however it appears that atm it isnt used on the hardware with OGSlang
Big props to the Jeff Royle at DevRel, so far i''ve had answers to my questions within 48h of me sending ''em, top stuff
Topic Locked
This topic has been locked by a moderator. New replies are not allowed.
Sign in to reply to this topic.
Advertisement