diff options
Diffstat (limited to 'mesalib/src/gallium/auxiliary/util')
-rw-r--r-- | mesalib/src/gallium/auxiliary/util/u_format.h | 3 | ||||
-rw-r--r-- | mesalib/src/gallium/auxiliary/util/u_upload_mgr.c | 16 | ||||
-rw-r--r-- | mesalib/src/gallium/auxiliary/util/u_upload_mgr.h | 10 |
3 files changed, 7 insertions, 22 deletions
diff --git a/mesalib/src/gallium/auxiliary/util/u_format.h b/mesalib/src/gallium/auxiliary/util/u_format.h index 0fbaf4cc1..5f86e2d2c 100644 --- a/mesalib/src/gallium/auxiliary/util/u_format.h +++ b/mesalib/src/gallium/auxiliary/util/u_format.h @@ -872,6 +872,9 @@ util_format_get_component_bits(enum pipe_format format, static INLINE enum pipe_format util_format_srgb(enum pipe_format format) { + if (util_format_is_srgb(format)) + return format; + switch (format) { case PIPE_FORMAT_L8_UNORM: return PIPE_FORMAT_L8_SRGB; diff --git a/mesalib/src/gallium/auxiliary/util/u_upload_mgr.c b/mesalib/src/gallium/auxiliary/util/u_upload_mgr.c index 6859751c5..7349d0068 100644 --- a/mesalib/src/gallium/auxiliary/util/u_upload_mgr.c +++ b/mesalib/src/gallium/auxiliary/util/u_upload_mgr.c @@ -87,16 +87,8 @@ void u_upload_unmap( struct u_upload_mgr *upload ) } } -/* Release old buffer. - * - * This must usually be called prior to firing the command stream - * which references the upload buffer, as many memory managers will - * cause subsequent maps of a fired buffer to wait. - * - * Can improve this with a change to pipe_buffer_write to use the - * DONT_WAIT bit, but for now, it's easiest just to grab a new buffer. - */ -void u_upload_flush( struct u_upload_mgr *upload ) + +static void u_upload_release_buffer(struct u_upload_mgr *upload) { /* Unmap and unreference the upload buffer. */ u_upload_unmap(upload); @@ -107,7 +99,7 @@ void u_upload_flush( struct u_upload_mgr *upload ) void u_upload_destroy( struct u_upload_mgr *upload ) { - u_upload_flush( upload ); + u_upload_release_buffer( upload ); FREE( upload ); } @@ -120,7 +112,7 @@ u_upload_alloc_buffer( struct u_upload_mgr *upload, /* Release the old buffer, if present: */ - u_upload_flush( upload ); + u_upload_release_buffer( upload ); /* Allocate a new one: */ diff --git a/mesalib/src/gallium/auxiliary/util/u_upload_mgr.h b/mesalib/src/gallium/auxiliary/util/u_upload_mgr.h index 82215a556..63bf30e38 100644 --- a/mesalib/src/gallium/auxiliary/util/u_upload_mgr.h +++ b/mesalib/src/gallium/auxiliary/util/u_upload_mgr.h @@ -57,16 +57,6 @@ struct u_upload_mgr *u_upload_create( struct pipe_context *pipe, void u_upload_destroy( struct u_upload_mgr *upload ); /** - * Unmap and release old upload buffer. - * - * This is like u_upload_unmap() except the upload buffer is released for - * recycling. This should be called on real hardware flushes on systems - * that don't support the PIPE_TRANSFER_UNSYNCHRONIZED flag, as otherwise - * the next u_upload_buffer will cause a sync on the buffer. - */ -void u_upload_flush( struct u_upload_mgr *upload ); - -/** * Unmap upload buffer * * \param upload Upload manager |