diff options
author | Marek Olšák <[email protected]> | 2019-08-27 16:38:05 -0400 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2019-10-15 14:24:23 -0400 |
commit | 7f6b9baee2dde4acecf38e77758d379fc249daf9 (patch) | |
tree | 54410c71e23f750cc8ab5384c37efe9ae4a0a707 /src/mesa | |
parent | 3f840e5ccdaa14981974bfb475d2d1aa4da47e5e (diff) |
st/mesa: always allocate pack/unpack buffers as staging
Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/state_tracker/st_cb_bufferobjects.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/mesa/state_tracker/st_cb_bufferobjects.c b/src/mesa/state_tracker/st_cb_bufferobjects.c index 6b54aa67583..6c20a57ef76 100644 --- a/src/mesa/state_tracker/st_cb_bufferobjects.c +++ b/src/mesa/state_tracker/st_cb_bufferobjects.c @@ -245,6 +245,11 @@ buffer_usage(GLenum target, GLboolean immutable, } } else { + /* These are often read by the CPU, so enable CPU caches. */ + if (target == GL_PIXEL_PACK_BUFFER || + target == GL_PIXEL_UNPACK_BUFFER) + return PIPE_USAGE_STAGING; + /* BufferData */ switch (usage) { case GL_DYNAMIC_DRAW: @@ -252,14 +257,7 @@ buffer_usage(GLenum target, GLboolean immutable, return PIPE_USAGE_DYNAMIC; case GL_STREAM_DRAW: case GL_STREAM_COPY: - /* XXX: Remove this test and fall-through when we have PBO unpacking - * acceleration. Right now, PBO unpacking is done by the CPU, so we - * have to make sure CPU reads are fast. - */ - if (target != GL_PIXEL_UNPACK_BUFFER_ARB) { - return PIPE_USAGE_STREAM; - } - /* fall through */ + return PIPE_USAGE_STREAM; case GL_STATIC_READ: case GL_DYNAMIC_READ: case GL_STREAM_READ: |