r300-gallium, radeon-gallium: Continue migration to DRI2 state_tracker, part 2.
[mesa.git] / src / gallium / drivers / r300 / r300_texture.c
index edd437066340e956a6c730f883eb080c89ae75e8..b3425587e3806fa4ca31a6842e2f03d4a4399449 100644 (file)
@@ -31,8 +31,9 @@ static void r300_setup_miptree(struct r300_texture* tex)
 {
     struct pipe_texture* base = &tex->tex;
     int stride, size, offset;
+    int i;
 
-    for (int i = 0; i <= base->last_level; i++) {
+    for (i = 0; i <= base->last_level; i++) {
         if (i > 0) {
             base->width[i] = minify(base->width[i-1]);
             base->height[i] = minify(base->height[i-1]);
@@ -185,3 +186,21 @@ void r300_init_screen_texture_functions(struct pipe_screen* screen)
     screen->tex_surface_release = r300_tex_surface_release;
     screen->texture_blanket = r300_texture_blanket;
 }
+
+boolean r300_get_texture_buffer(struct pipe_texture* texture,
+                                struct pipe_buffer** buffer,
+                                unsigned* stride)
+{
+    struct r300_texture* tex = (struct r300_texture*)texture;
+    if (!tex) {
+        return FALSE;
+    }
+
+    pipe_buffer_reference(texture->screen, buffer, tex->buffer);
+
+    if (stride) {
+        *stride = tex->stride;
+    }
+
+    return TRUE;
+}