Glslang problems

Yes, I thought so. Because an ATI you can split up a shader and use ATI_draw_buffer to do that feature on your own. So that should be possible on Radeon 9500+. So I guessed that F-buffer stands just for floating point buffer or something like that.

AFAIK, it’s a hardware feature. F-Buffer stands for “fragment-stream buffer”. Here’s the doc:

EDIT: The reason why it has to be a hardware feature is that the memory requirements for the buffer do not increase with screen resolution. For normal multipassing one would need one or more buffers of the same dimensions as the framebuffer. With the F-Buffer the intermediate data for only a single pixel (the pixel being worked on) is stored. Also, normal multipassing can only store one Vec4 per pixel. If you want to store more intermediate data, you need multiple buffers – which gets expensive. Think of the F-Buffer as multi-passing on a per-pixel basis, rather than on a per-screen basis.

[This message has been edited by Ostsol (edited 01-31-2004).]

And AFAIK it’s all done in software and no hardware feature.

The entire point of F-buffers is that they are hardware, not software. Writing code to break fragment shaders into multiple passes isn’t too tough; it’s the “making it fast” part that is.

Thanks for correcting me, and that link really clears things up. Until now I thought that the R350-Path that’s since longer used on R300 HW also included kind of a software-FBuffer, but that doesn’t seem to be the case.

But to be honest : Since ATI isn’t exposing that F-Buffer in HW, it’s kind of pointless to dig too deep into it.

Which means that the R300 and R350 are not really different.

Without the F-Buffer exposed in drivers, they’re exactly the same in terms of fragment shading capabilities. There are other differences, though, such as the R350’s ability to use some z-buffer optimizations which break on the R300 when the stencil buffer is being used. There’s also apparently some other tweaks to the memory controller.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.