--- /dev/null
+default:
+ cd ../.. ; make
\ No newline at end of file
#include "tnl/t_pipeline.h"
#include "drivers/common/driverfuncs.h"
+#include "softpipe/state_tracker/st_public.h"
+#include "softpipe/generic/g_context.h"
+
/**
* Global X driver lock
*/
xmesa_register_swrast_functions( mesaCtx );
_swsetup_Wakeup(mesaCtx);
+
+ st_create_context( mesaCtx,
+ generic_create() );
+
return c;
}
GLboolean XMesaMakeCurrent2( XMesaContext c, XMesaBuffer drawBuffer,
XMesaBuffer readBuffer )
{
+ _mesa_printf("%s %p %p %p\n", __FUNCTION__, drawBuffer, readBuffer );
+
if (c) {
if (!drawBuffer || !readBuffer)
return GL_FALSE; /* must specify buffers! */
#include "tnl/tnl.h"
#include "tnl/t_context.h"
+#include "softpipe/generic/g_context.h"
+#include "softpipe/state_tracker/st_public.h"
/*
_vbo_InvalidateState( ctx, new_state );
_swsetup_InvalidateState( ctx, new_state );
+ st_invalidate_state( ctx, new_state );
+
+
if (ctx->DrawBuffer->Name != 0)
return;
}
+
+static void *get_pointer_4_ximage( GLcontext *ctx,
+ struct gl_renderbuffer *rb,
+ GLint x, GLint y )
+{
+ GET_XRB(xrb);
+ return PIXEL_ADDR4(xrb, x, y);
+}
+
+
+
/*
* Write a span of PF_8A8B8G8R-format pixels to an ximage.
*/
xrb->Base.PutMonoRow = put_mono_row_8A8B8G8R_ximage;
xrb->Base.PutValues = put_values_8A8B8G8R_ximage;
xrb->Base.PutMonoValues = put_mono_values_8A8B8G8R_ximage;
+ xrb->Base.GetPointer = get_pointer_4_ximage;
}
break;
case PF_8A8R8G8B:
xrb->Base.PutMonoRow = put_mono_row_8A8R8G8B_ximage;
xrb->Base.PutValues = put_values_8A8R8G8B_ximage;
xrb->Base.PutMonoValues = put_mono_values_8A8R8G8B_ximage;
+ xrb->Base.GetPointer = get_pointer_4_ximage;
}
break;
case PF_8R8G8B:
#endif
+
+GLboolean xmesa_get_cbuf_details( GLcontext *ctx,
+ void **ptr,
+ GLuint *cpp,
+ GLint *stride,
+ GLuint *format )
+{
+ XMesaContext xmesa = XMESA_CONTEXT(ctx);
+ struct gl_framebuffer *fb = ctx->DrawBuffer;
+ struct gl_renderbuffer *crb = fb->_ColorDrawBuffers[0][0];
+ struct xmesa_renderbuffer *xrb = xmesa_renderbuffer(crb->Wrapped);
+
+ *ptr = crb->GetPointer(ctx, crb, 0, 0);
+ *stride = ((GLubyte *)crb->GetPointer(ctx, crb, 0, 1) -
+ (GLubyte *)crb->GetPointer(ctx, crb, 0, 0));
+
+ if (!ptr)
+ goto bad;
+
+ switch (xmesa->pixelformat) {
+ case PF_8A8B8G8R:
+ case PF_8A8R8G8B:
+ *format = 1; /* whatever */
+ *cpp = 4;
+ break;
+ default:
+ goto bad;
+ }
+
+ return GL_TRUE;
+
+ bad:
+ *ptr = NULL;
+ *stride = 0;
+ *format = 0;
+ return GL_FALSE;
+}
+
+
+
/**
* Return pointer to line drawing function, or NULL if we should use a
* swrast fallback.
#define ENABLE_EXT_timer_query 0 /* may not have 64-bit GLuint64EXT */
#endif
+
+GLboolean xmesa_get_cbuf_details( GLcontext *ctx,
+ void **ptr,
+ GLuint *cpp,
+ GLint *stride,
+ GLuint *format );
+
#endif
struct gl_texture_format;
struct gl_texture_image;
struct gl_texture_object;
+struct st_context;
typedef struct __GLcontextRec GLcontext;
typedef struct __GLcontextModesRec GLvisual;
typedef struct gl_framebuffer GLframebuffer;
void *swsetup_context;
void *swtnl_context;
void *swtnl_im;
- void *acache_context;
+ struct st_context *st;
void *aelt_context;
/*@}*/
};
vbo/vbo_save_draw.c \
vbo/vbo_save_loopback.c
+VF_SOURCES = \
+ vf/vf.c \
+ vf/vf_generic.c \
+ vf/vf_sse.c
+
+SOFTPIPE_SOURCES = \
+ softpipe/generic/g_context.c \
+ softpipe/generic/g_draw.c \
+ softpipe/generic/g_prim_clip.c \
+ softpipe/generic/g_prim_cull.c \
+ softpipe/generic/g_prim_flatshade.c \
+ softpipe/generic/g_prim_offset.c \
+ softpipe/generic/g_prim_setup.c \
+ softpipe/generic/g_prim_twoside.c \
+ softpipe/generic/g_prim_unfilled.c \
+ softpipe/generic/g_state_clip.c \
+ softpipe/generic/g_state_derived.c \
+ softpipe/generic/g_state_fs.c \
+ softpipe/generic/g_state_setup.c \
+ softpipe/generic/g_state_surface.c \
+ softpipe/generic/g_surface.c \
+ softpipe/generic/g_tile_fs.c \
+ softpipe/generic/g_tile_output.c \
+ softpipe/state_tracker/st_atom.c \
+ softpipe/state_tracker/st_atom_clip.c \
+ softpipe/state_tracker/st_atom_fs.c \
+ softpipe/state_tracker/st_atom_setup.c \
+ softpipe/state_tracker/st_atom_cbuf.c \
+ softpipe/state_tracker/st_atom_viewport.c \
+ softpipe/state_tracker/st_cb_program.c \
+ softpipe/state_tracker/st_draw.c \
+ softpipe/state_tracker/st_context.c
+
+
SHADER_SOURCES = \
shader/arbprogparse.c \
$(MAIN_SOURCES) \
$(MATH_SOURCES) \
$(VBO_SOURCES) \
+ $(VF_SOURCES) \
+ $(SOFTPIPE_SOURCES) \
$(TNL_SOURCES) \
$(SHADER_SOURCES) \
$(SWRAST_SOURCES) \