diff --git a/src/mesa/main/texcompress_bptc.c b/src/mesa/main/texcompress_bptc.c index aa96dd61e2f..d70e35ffedd 100644 --- a/src/mesa/main/texcompress_bptc.c +++ b/src/mesa/main/texcompress_bptc.c @@ -253,17 +253,17 @@ _mesa_unpack_bptc(uint8_t *dst_row, { switch (format) { case MESA_FORMAT_BPTC_RGB_SIGNED_FLOAT: - decompress_rgb_float(src_width, src_height, - src_row, src_stride, - (float *)dst_row, dst_stride, + decompress_rgb_fp16(src_width, src_height, + src_row, src_stride, + (uint16_t *)dst_row, dst_stride, true); break; case MESA_FORMAT_BPTC_RGB_UNSIGNED_FLOAT: - decompress_rgb_float(src_width, src_height, - src_row, src_stride, - (float *)dst_row, dst_stride, - false); + decompress_rgb_fp16(src_width, src_height, + src_row, src_stride, + (uint16_t *)dst_row, dst_stride, + false); break; default: diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c index 42b3ed7dda1..cbb8a3eeb0a 100644 --- a/src/mesa/state_tracker/st_extensions.c +++ b/src/mesa/state_tracker/st_extensions.c @@ -979,7 +979,7 @@ void st_init_extensions(struct pipe_screen *screen, { { o(ARB_texture_compression_bptc) }, { PIPE_FORMAT_R8G8B8A8_UNORM, PIPE_FORMAT_R8G8B8A8_SRGB, - PIPE_FORMAT_R32G32B32X32_FLOAT } }, + PIPE_FORMAT_R16G16B16X16_FLOAT } }, { { o(TDFX_texture_compression_FXT1) }, { PIPE_FORMAT_FXT1_RGB, diff --git a/src/mesa/state_tracker/st_format.c b/src/mesa/state_tracker/st_format.c index c3cbefe3de0..dd1a79b7282 100644 --- a/src/mesa/state_tracker/st_format.c +++ b/src/mesa/state_tracker/st_format.c @@ -123,7 +123,7 @@ st_mesa_format_to_pipe_format(const struct st_context *st, switch (mesaFormat) { case MESA_FORMAT_BPTC_RGB_SIGNED_FLOAT: case MESA_FORMAT_BPTC_RGB_UNSIGNED_FLOAT: - return PIPE_FORMAT_R32G32B32X32_FLOAT; + return PIPE_FORMAT_R16G16B16X16_FLOAT; default: return _mesa_is_format_srgb(mesaFormat) ? PIPE_FORMAT_R8G8B8A8_SRGB : PIPE_FORMAT_R8G8B8A8_UNORM;