diff options
author | Alan Hourihane <alanh@tungstengraphics.com> | 2008-12-08 14:29:50 +0000 |
---|---|---|
committer | Alan Hourihane <alanh@tungstengraphics.com> | 2008-12-08 14:29:50 +0000 |
commit | 33a1f495d4bb19288680b9812c6ec1235302d215 (patch) | |
tree | d47067fe24d530c660b75ee80cdcec72f10d9ed0 /src/mesa/drivers/dri/i915/intel_render.c | |
parent | bcd5dda4358a5e47551278477bd00d2c63415c44 (diff) | |
parent | bdc8ac4426f00eaafbe8ca0d356563efe390294d (diff) | |
download | external_mesa3d-33a1f495d4bb19288680b9812c6ec1235302d215.zip external_mesa3d-33a1f495d4bb19288680b9812c6ec1235302d215.tar.gz external_mesa3d-33a1f495d4bb19288680b9812c6ec1235302d215.tar.bz2 |
Merge commit 'origin/master' into gallium-0.2
Conflicts:
progs/glsl/Makefile
Diffstat (limited to 'src/mesa/drivers/dri/i915/intel_render.c')
-rw-r--r-- | src/mesa/drivers/dri/i915/intel_render.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i915/intel_render.c b/src/mesa/drivers/dri/i915/intel_render.c index 467abe4..410052b 100644 --- a/src/mesa/drivers/dri/i915/intel_render.c +++ b/src/mesa/drivers/dri/i915/intel_render.c @@ -117,6 +117,26 @@ intelDmaPrimitive(struct intel_context *intel, GLenum prim) intel_set_prim(intel, hw_prim[prim]); } +static inline GLuint intel_get_vb_max(struct intel_context *intel) +{ + GLuint ret; + + if (intel->intelScreen->no_vbo) + ret = intel->batch->size - 1500; + else + ret = INTEL_VB_SIZE; + ret /= (intel->vertex_size * 4); + return ret; +} + +static inline GLuint intel_get_current_max(struct intel_context *intel) +{ + + if (intel->intelScreen->no_vbo) + return intel_get_vb_max(intel); + else + return (INTEL_VB_SIZE - intel->prim.current_offset) / (intel->vertex_size * 4); +} #define LOCAL_VARS struct intel_context *intel = intel_context(ctx) #define INIT( prim ) \ @@ -126,9 +146,8 @@ do { \ #define FLUSH() INTEL_FIREVERTICES(intel) -#define GET_SUBSEQUENT_VB_MAX_VERTS() (INTEL_VB_SIZE / (intel->vertex_size * 4)) -#define GET_CURRENT_VB_MAX_VERTS() \ - ((INTEL_VB_SIZE - intel->prim.current_offset) / (intel->vertex_size * 4)) +#define GET_SUBSEQUENT_VB_MAX_VERTS() intel_get_vb_max(intel) +#define GET_CURRENT_VB_MAX_VERTS() intel_get_current_max(intel) #define ALLOC_VERTS(nr) intel_get_prim_space(intel, nr) |