freedreno: Move fs functions after geometry pipeline stages
[mesa.git] / src / gallium / drivers / freedreno / freedreno_resource.c
index 3c411f5bc152d627c1f07a807701f92116b444fa..fcc8fc66189e0583b4d20f642023d6bf62f800b6 100644 (file)
@@ -918,6 +918,9 @@ fd_resource_create_with_modifiers(struct pipe_screen *pscreen,
                struct renderonly_scanout *scanout;
                struct winsys_handle handle;
 
+               /* apply freedreno alignment requirement */
+               scanout_templat.width0 = align(tmpl->width0, screen->gmem_alignw);
+
                scanout = renderonly_scanout_for_resource(&scanout_templat,
                                                                                                  screen->ro, &handle);
                if (!scanout)
@@ -974,16 +977,16 @@ fd_resource_create_with_modifiers(struct pipe_screen *pscreen,
 
        allow_ubwc &= !(fd_mesa_debug & FD_DBG_NOUBWC);
 
+       pipe_reference_init(&prsc->reference, 1);
+
+       prsc->screen = pscreen;
+
        if (screen->tile_mode &&
                        (tmpl->target != PIPE_BUFFER) &&
                        !linear) {
-               rsc->tile_mode = screen->tile_mode(tmpl);
+               rsc->tile_mode = screen->tile_mode(prsc);
        }
 
-       pipe_reference_init(&prsc->reference, 1);
-
-       prsc->screen = pscreen;
-
        util_range_init(&rsc->valid_buffer_range);
 
        rsc->internal_format = format;