This paper describes an implementation of a progressive radiosity algorithm for triangular meshes which works completely on programmable graphics processors. Errors due to the rasterization of triangles are fixed in a post-processing step or with a fragment shader during runtime. Adaptive subdivision to increase the accuracy of the radiosity solution can be performed during render-time. Since we found that the gradient is not very robust to determine whether triangles should be subdivided or not, we propose a new technique which uses hardware occlusion queries to determine shadow boundaries in image space. The GPU implementation facilitates the simple integration of normal mapping into the radiosity process. Light distribution textures (LDTs) enable us to simulate a variety of real world light sources without much computational overhead. The derivation of such an LDT from a EULUMDAT file is described.