g3dvl: Catch up to gallium changes, fix build.
authorYounes Manton <younes.m@gmail.com>
Fri, 6 Feb 2009 19:37:35 +0000 (14:37 -0500)
committerYounes Manton <younes.m@gmail.com>
Fri, 6 Feb 2009 19:37:35 +0000 (14:37 -0500)
src/gallium/state_trackers/g3dvl/vl_basic_csc.c
src/gallium/state_trackers/g3dvl/vl_context.c
src/gallium/state_trackers/g3dvl/vl_r16snorm_mc_buf.c
src/gallium/state_trackers/g3dvl/vl_surface.c
src/gallium/winsys/g3dvl/nouveau/Makefile
src/gallium/winsys/g3dvl/nouveau/nouveau_screen_vl.c
src/gallium/winsys/g3dvl/nouveau/nouveau_swapbuffers.c

index 122c42ed0e6f3fd26717d1485adc7eec7637a159..187a13a56052cb3e2a4ff3a9dd4b66bff57f2811 100644 (file)
@@ -544,7 +544,7 @@ static int vlCreateDataBufs
         * to display a rendered surface
         * Quad is rendered as a tri strip
         */
-       csc->vertex_bufs[0].pitch = sizeof(struct vlVertex2f);
+       csc->vertex_bufs[0].stride = sizeof(struct vlVertex2f);
        csc->vertex_bufs[0].max_index = 3;
        csc->vertex_bufs[0].buffer_offset = 0;
        csc->vertex_bufs[0].buffer = pipe_buffer_create
@@ -573,7 +573,7 @@ static int vlCreateDataBufs
         * Create our texcoord buffer and texcoord buffer element
         * Texcoord buffer contains the TCs for mapping the rendered surface to the 4 vertices
         */
-       csc->vertex_bufs[1].pitch = sizeof(struct vlVertex2f);
+       csc->vertex_bufs[1].stride = sizeof(struct vlVertex2f);
        csc->vertex_bufs[1].max_index = 3;
        csc->vertex_bufs[1].buffer_offset = 0;
        csc->vertex_bufs[1].buffer = pipe_buffer_create
@@ -602,26 +602,24 @@ static int vlCreateDataBufs
         * Create our vertex shader's constant buffer
         * Const buffer contains scaling and translation vectors
         */
-       csc->vs_const_buf.size = sizeof(struct vlVertexShaderConsts);
        csc->vs_const_buf.buffer = pipe_buffer_create
        (
                pipe->screen,
                1,
                PIPE_BUFFER_USAGE_CONSTANT | PIPE_BUFFER_USAGE_DISCARD,
-               csc->vs_const_buf.size
+               sizeof(struct vlVertexShaderConsts)
        );
 
        /*
         * Create our fragment shader's constant buffer
         * Const buffer contains the color conversion matrix and bias vectors
         */
-       csc->fs_const_buf.size = sizeof(struct vlFragmentShaderConsts);
        csc->fs_const_buf.buffer = pipe_buffer_create
        (
                pipe->screen,
                1,
                PIPE_BUFFER_USAGE_CONSTANT,
-               csc->fs_const_buf.size
+               sizeof(struct vlFragmentShaderConsts)
        );
 
        /*
index c4c4e23c157f544ee81ce27aabf859515f4ff46f..65ddb9f01ef09b82b463ae8fe37050ce8ecfc5d3 100644 (file)
@@ -86,7 +86,7 @@ static int vlInitCommon(struct vlContext *context)
        }
        dsa.alpha.enabled = 0;
        dsa.alpha.func = PIPE_FUNC_ALWAYS;
-       dsa.alpha.ref = 0;
+       dsa.alpha.ref_value = 0;
        context->dsa = pipe->create_depth_stencil_alpha_state(pipe, &dsa);
        pipe->bind_depth_stencil_alpha_state(pipe, context->dsa);
 
index d53482f579412cd32377cfd45d60f65b038f9d2b..2176bb86d8ab235b3eaf698b8e3e4c95d6c45bcb 100644 (file)
@@ -911,7 +911,7 @@ static int vlCreateDataBufs
        mc->macroblocks_per_picture = mbw * mbh;
 
        /* Create our vertex buffers */
-       mc->vertex_bufs.ycbcr.pitch = sizeof(struct vlVertex2f) * 4;
+       mc->vertex_bufs.ycbcr.stride = sizeof(struct vlVertex2f) * 4;
        mc->vertex_bufs.ycbcr.max_index = 24 * mc->macroblocks_per_picture - 1;
        mc->vertex_bufs.ycbcr.buffer_offset = 0;
        mc->vertex_bufs.ycbcr.buffer = pipe_buffer_create
@@ -924,7 +924,7 @@ static int vlCreateDataBufs
 
        for (i = 1; i < 3; ++i)
        {
-               mc->vertex_bufs.all[i].pitch = sizeof(struct vlVertex2f) * 2;
+               mc->vertex_bufs.all[i].stride = sizeof(struct vlVertex2f) * 2;
                mc->vertex_bufs.all[i].max_index = 24 * mc->macroblocks_per_picture - 1;
                mc->vertex_bufs.all[i].buffer_offset = 0;
                mc->vertex_bufs.all[i].buffer = pipe_buffer_create
@@ -985,22 +985,20 @@ static int vlCreateDataBufs
        mc->vertex_elems[7].src_format = PIPE_FORMAT_R32G32_FLOAT;
 
        /* Create our constant buffer */
-       mc->vs_const_buf.size = sizeof(struct vlVertexShaderConsts);
        mc->vs_const_buf.buffer = pipe_buffer_create
        (
                pipe->screen,
                DEFAULT_BUF_ALIGNMENT,
                PIPE_BUFFER_USAGE_CONSTANT | PIPE_BUFFER_USAGE_DISCARD,
-               mc->vs_const_buf.size
+               sizeof(struct vlVertexShaderConsts)
        );
 
-       mc->fs_const_buf.size = sizeof(struct vlFragmentShaderConsts);
        mc->fs_const_buf.buffer = pipe_buffer_create
        (
                pipe->screen,
                DEFAULT_BUF_ALIGNMENT,
                PIPE_BUFFER_USAGE_CONSTANT,
-               mc->fs_const_buf.size
+               sizeof(struct vlFragmentShaderConsts)
        );
 
        memcpy
index 0fa7b25b92e01722abecc92fc56f0d126a30f6aa..92388f7978ddb3d80cc8a380fe78071a6222f26e 100644 (file)
@@ -152,9 +152,9 @@ int vlPutPicture
 
        bind_pipe_drawable(pipe, drawable);
 
-       pipe->winsys->flush_frontbuffer
+       pipe->screen->flush_frontbuffer
        (
-               pipe->winsys,
+               pipe->screen,
                csc->vlGetFrameBuffer(csc),
                pipe->priv
        );
@@ -172,13 +172,13 @@ int vlSurfaceGetStatus
        assert(surface->context);
        assert(status);
 
-       if (surface->render_fence && !surface->context->pipe->winsys->fence_signalled(surface->context->pipe->winsys, surface->render_fence, 0))
+       if (surface->render_fence && !surface->context->pipe->screen->fence_signalled(surface->context->pipe->screen, surface->render_fence, 0))
        {
                *status = vlResourceStatusRendering;
                return 0;
        }
 
-       if (surface->disp_fence && !surface->context->pipe->winsys->fence_signalled(surface->context->pipe->winsys, surface->disp_fence, 0))
+       if (surface->disp_fence && !surface->context->pipe->screen->fence_signalled(surface->context->pipe->screen, surface->disp_fence, 0))
        {
                *status = vlResourceStatusDisplaying;
                return 0;
@@ -211,7 +211,7 @@ int vlSurfaceSync
        assert(surface->context);
        assert(surface->render_fence);
 
-       surface->context->pipe->winsys->fence_finish(surface->context->pipe->winsys, surface->render_fence, 0);
+       surface->context->pipe->screen->fence_finish(surface->context->pipe->screen, surface->render_fence, 0);
 
        return 0;
 }
index 22d925b643669988d5ec4257a60e7910274f01cf..2997f6b79ce4e012fb51af04d87e1c7fa5cdd815 100644 (file)
@@ -11,6 +11,7 @@ CFLAGS                += -g -Wall -Werror=implicit-function-declaration -fPIC \
                   -I${GALLIUMDIR}/winsys/drm/nouveau                   \
                   -I${DRMDIR}/include                                  \
                   -I${DRMDIR}/include/drm                              \
+                  -I${DRMDIR}/include/nouveau                          \
                   -I${GALLIUMDIR}/drivers                              \
                   -I${GALLIUMDIR}/auxiliary                            \
                   -I${DRIDIR}/include
@@ -23,13 +24,14 @@ LDFLAGS             += -L${DRMDIR}/lib                              \
                   -L${GALLIUMDIR}/auxiliary/translate          \
                   -L${GALLIUMDIR}/auxiliary/rtasm              \
                   -L${GALLIUMDIR}/auxiliary/cso_cache          \
+                  -L${GALLIUMDIR}/drivers/nv04                 \
                   -L${GALLIUMDIR}/drivers/nv10                 \
                   -L${GALLIUMDIR}/drivers/nv20                 \
                   -L${GALLIUMDIR}/drivers/nv30                 \
                   -L${GALLIUMDIR}/drivers/nv40                 \
                   -L${GALLIUMDIR}/drivers/nv50
 
-LIBS           += -lnouveaudrm -ldriclient -ldrm -lnv10 -lnv20 -lnv30 -lnv40 -lnv50 -ldraw -ltgsi -ltranslate -lrtasm -lcso_cache -lm
+LIBS           += -lnouveaudrm -ldriclient -ldrm_nouveau -ldrm -lnv04 -lnv10 -lnv20 -lnv30 -lnv40 -lnv50 -ldraw -ltgsi -ltranslate -lrtasm -lcso_cache -lm
 
 #############################################
 
index 658dafd9105882e5cbc4e51242674cc1650bb550..b7c74f8299bd0151f71df18f6107ae85e43136cb 100644 (file)
@@ -4,7 +4,7 @@
 #include <common/nouveau_dri.h>
 #include <common/nouveau_local.h>
 
-#if NOUVEAU_DRM_HEADER_PATCHLEVEL != 11
+#if NOUVEAU_DRM_HEADER_PATCHLEVEL != 12
 #error nouveau_drm.h version does not match expected version
 #endif
 
index 16e6d5543cbc04b95f39c36b4c4ccce5abc859c1..864be37871fbd67221fd79fc2edcbac699f159d0 100644 (file)
@@ -9,6 +9,7 @@ nouveau_copy_buffer(dri_drawable_t *dri_drawable, struct pipe_surface *surf,
                    const drm_clip_rect_t *rect)
 {
        struct nouveau_context_vl       *nv = dri_drawable->private;
+       struct pipe_context             *pipe = nv->base.nvc->pctx[nv->base.pctx_id];
        drm_clip_rect_t                 *pbox;
        int                             nbox, i;
 
@@ -20,7 +21,6 @@ nouveau_copy_buffer(dri_drawable_t *dri_drawable, struct pipe_surface *surf,
        pbox = dri_drawable->cliprects;
        nbox = dri_drawable->num_cliprects;
 
-       nv->base.surface_copy_prep(&nv->base, nv->base.frontbuffer, surf);
        for (i = 0; i < nbox; i++, pbox++) {
                int sx, sy, dx, dy, w, h;
 
@@ -31,7 +31,8 @@ nouveau_copy_buffer(dri_drawable_t *dri_drawable, struct pipe_surface *surf,
                w  = pbox->x2 - pbox->x1;
                h  = pbox->y2 - pbox->y1;
 
-               nv->base.surface_copy(&nv->base, dx, dy, sx, sy, w, h);
+               pipe->surface_copy(pipe, FALSE, nv->base.frontbuffer,
+                                  dx, dy, surf, sx, sy, w, h);
        }
 
        FIRE_RING(nv->base.nvc->channel);