diff options
author | Ian Romanick <ian.d.romanick@intel.com> | 2011-08-21 18:45:06 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2011-08-23 14:52:10 -0700 |
commit | b2184da684fc20849b5e6e554f0a0f92d2872ce9 (patch) | |
tree | 274d202d06beff07e141346deb10f478fc75af10 /src/mesa/main/api_arrayelt.c | |
parent | 6183edc070e2d3dce36ab5ee7aee72b0c38775a7 (diff) | |
download | external_mesa3d-b2184da684fc20849b5e6e554f0a0f92d2872ce9.zip external_mesa3d-b2184da684fc20849b5e6e554f0a0f92d2872ce9.tar.gz external_mesa3d-b2184da684fc20849b5e6e554f0a0f92d2872ce9.tar.bz2 |
mesa: Fix incorrect access parameter passed to MapBuffer
The code previously passed GL_DYNAMIC_DRAW for the access parameter.
By inspection, I believe that all drivers would treat this as
GL_READ_WRITE because it's not GL_READ_ONLY and it's not
GL_WRITE_ONLY.
It appears the i965 code wants GL_WRITE_ONLY (it's about to write a
bunch of data in, never read data), while the arrayelt code is
GL_READ_ONLY (just dereffed as arguments to CALL_Whatever*v).
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Acked-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Keith Whitwell <keithw@vmware.com>
Diffstat (limited to 'src/mesa/main/api_arrayelt.c')
-rw-r--r-- | src/mesa/main/api_arrayelt.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c index 6400c8f..8e1e3ff 100644 --- a/src/mesa/main/api_arrayelt.c +++ b/src/mesa/main/api_arrayelt.c @@ -1602,9 +1602,7 @@ void _ae_map_vbos( struct gl_context *ctx ) _ae_update_state(ctx); for (i = 0; i < actx->nr_vbos; i++) - ctx->Driver.MapBuffer(ctx, - GL_DYNAMIC_DRAW_ARB, - actx->vbo[i]); + ctx->Driver.MapBuffer(ctx, GL_READ_ONLY, actx->vbo[i]); if (actx->nr_vbos) actx->mapped_vbos = GL_TRUE; |