i965/nir/vec4: Implement various rounding functions
[mesa.git] / src / mesa / drivers / dri / nouveau / nouveau_fbo.c
index 43651bf49500cd91e824d138be0bebaaef1688ae..c78d4baa12446a47e967c658370e82dad833076b 100644 (file)
@@ -44,23 +44,23 @@ set_renderbuffer_format(struct gl_renderbuffer *rb, GLenum internalFormat)
        case GL_RGB:
        case GL_RGB8:
                rb->_BaseFormat  = GL_RGB;
-               rb->Format = MESA_FORMAT_XRGB8888;
+               rb->Format = MESA_FORMAT_B8G8R8X8_UNORM;
                s->cpp = 4;
                break;
        case GL_RGBA:
        case GL_RGBA8:
                rb->_BaseFormat  = GL_RGBA;
-               rb->Format = MESA_FORMAT_ARGB8888;
+               rb->Format = MESA_FORMAT_B8G8R8A8_UNORM;
                s->cpp = 4;
                break;
        case GL_RGB5:
                rb->_BaseFormat  = GL_RGB;
-               rb->Format = MESA_FORMAT_RGB565;
+               rb->Format = MESA_FORMAT_B5G6R5_UNORM;
                s->cpp = 2;
                break;
        case GL_DEPTH_COMPONENT16:
                rb->_BaseFormat  = GL_DEPTH_COMPONENT;
-               rb->Format = MESA_FORMAT_Z16;
+               rb->Format = MESA_FORMAT_Z_UNORM16;
                s->cpp = 2;
                break;
        case GL_DEPTH_COMPONENT:
@@ -68,7 +68,7 @@ set_renderbuffer_format(struct gl_renderbuffer *rb, GLenum internalFormat)
        case GL_STENCIL_INDEX8_EXT:
        case GL_DEPTH24_STENCIL8_EXT:
                rb->_BaseFormat  = GL_DEPTH_STENCIL;
-               rb->Format = MESA_FORMAT_Z24_S8;
+               rb->Format = MESA_FORMAT_S8_UINT_Z24_UNORM;
                s->cpp = 4;
                break;
        default:
@@ -242,7 +242,7 @@ static void
 nouveau_framebuffer_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
                                 GLenum attachment, struct gl_renderbuffer *rb)
 {
-       _mesa_framebuffer_renderbuffer(ctx, fb, attachment, rb);
+       _mesa_FramebufferRenderbuffer_sw(ctx, fb, attachment, rb);
 
        context_dirty(ctx, FRAMEBUFFER);
 }
@@ -265,19 +265,20 @@ static void
 nouveau_finish_render_texture(struct gl_context *ctx,
                              struct gl_renderbuffer *rb)
 {
-       texture_dirty(rb->TexImage->TexObject);
+       if (rb && rb->TexImage)
+               texture_dirty(rb->TexImage->TexObject);
 }
 
 static int
 validate_format_bpp(mesa_format format)
 {
        switch (format) {
-       case MESA_FORMAT_XRGB8888:
-       case MESA_FORMAT_ARGB8888:
-       case MESA_FORMAT_Z24_S8:
+       case MESA_FORMAT_B8G8R8X8_UNORM:
+       case MESA_FORMAT_B8G8R8A8_UNORM:
+       case MESA_FORMAT_S8_UINT_Z24_UNORM:
                return 32;
-       case MESA_FORMAT_RGB565:
-       case MESA_FORMAT_Z16:
+       case MESA_FORMAT_B5G6R5_UNORM:
+       case MESA_FORMAT_Z_UNORM16:
                return 16;
        default:
                return 0;