radeon/r200/r300/r600: Warn if we emit more than prediction was.
[mesa.git] / src / mesa / drivers / dri / radeon / radeon_swtcl.c
index 4b49c141a0f6c58a59119cc26836c8c262ce8706..20ce6c470b4ecb6258b40aa8cbd60aa0dcede703 100644 (file)
@@ -38,6 +38,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "main/enums.h"
 #include "main/imports.h"
 #include "main/macros.h"
+#include "main/simple_list.h"
 
 #include "swrast_setup/swrast_setup.h"
 #include "math/m_translate.h"
@@ -284,14 +285,14 @@ void r100_swtcl_flush(GLcontext *ctx, uint32_t current_offset)
    r100ContextPtr rmesa = R100_CONTEXT(ctx);
 
    rcommonEnsureCmdBufSpace(&rmesa->radeon,
-                           rmesa->hw.max_state_size + (12*sizeof(int)),
+                           radeonCountStateEmitSize( &rmesa->radeon ) + (12*sizeof(int)),
                            __FUNCTION__);
 
 
-   radeonEmitState(rmesa);
+   radeonEmitState(&rmesa->radeon);
    radeonEmitVertexAOS( rmesa,
                        rmesa->radeon.swtcl.vertex_size,
-                       //                      rmesa->radeon.dma.current,
+                       first_elem(&rmesa->radeon.dma.reserved)->bo,
                        current_offset);
 
                      
@@ -371,9 +372,6 @@ static GLboolean radeon_run_render( GLcontext *ctx,
    tnl_render_func *tab = TAG(render_tab_verts);
    GLuint i;
 
-   if (rmesa->swtcl.indexed_verts.buf) 
-      RELEASE_ELT_VERTS();
-       
    if (rmesa->radeon.swtcl.RenderIndex != 0 ||   
        !radeon_dma_validate_render( ctx, VB ))
       return GL_TRUE;          
@@ -749,7 +747,7 @@ void radeonFallback( GLcontext *ctx, GLuint bit, GLboolean mode )
    if (mode) {
       rmesa->radeon.Fallback |= bit;
       if (oldfallback == 0) {
-        RADEON_FIREVERTICES( rmesa );
+        radeon_firevertices(&rmesa->radeon);
         TCL_FALLBACK( ctx, RADEON_TCL_FALLBACK_RASTER, GL_TRUE );
         _swsetup_Wakeup( ctx );
         rmesa->radeon.swtcl.RenderIndex = ~0;
@@ -825,12 +823,3 @@ void radeonInitSwtcl( GLcontext *ctx )
    rmesa->radeon.swtcl.hw_primitive = 0;
 }
 
-
-void radeonDestroySwtcl( GLcontext *ctx )
-{
-   r100ContextPtr rmesa = R100_CONTEXT(ctx);
-
-   // if (rmesa->swtcl.indexed_verts.buf) 
-   //    radeonReleaseDmaRegion( rmesa, &rmesa->swtcl.indexed_verts, 
-   //                        __FUNCTION__ );
-}