Hello, I've been lurking for a while, this seems to be my first post.
While trying to make some "easy" (ha) improvements in radeonsi I looked around in all the surrounding code to get a good picture of how things work. So I noticed something: All the Gallium drivers need to implement clear_depth_stencil() and clear_render_target() from pipe_context. Those implementations are generally using little to no acceleration, just making sure that there's any implementation at all. Still, it's quite a few lines over all the drivers. The two methods in question were introduced for Direct3D, which has no in-tree state tracker anymore, and for scissored clearing in OpenGL. But scissored clearing is already implemented as a fallback using quad drawing in the OpenGL state tracker (st_cb_clear.c, clear_with_quad()) in pretty much the same way as the unoptimized paths in drivers. So, the question arises: Does anybody still use those functions, maybe VMware in some out-of-tree code? If not I suggest removing them and I'd send patches to do that. Alternatively, they could be reduced to do just scissored clearing, and the OpenGL state tracker could call that in the hope that some GPU will have an optimized way to do it (how realistic is that? I have not looked at all the GPU drivers...). Cheers, Andreas _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev