mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 18:18:06 +02:00
mesa/st: implement fallback for latc
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18564>
This commit is contained in:
parent
6553e02a0b
commit
1b72045393
2 changed files with 14 additions and 2 deletions
|
|
@ -445,6 +445,8 @@ st_compressed_format_fallback(struct st_context *st, mesa_format format)
|
|||
return !st->has_s3tc;
|
||||
case MESA_FORMAT_LAYOUT_RGTC:
|
||||
return !st->has_rgtc;
|
||||
case MESA_FORMAT_LAYOUT_LATC:
|
||||
return !st->has_latc;
|
||||
case MESA_FORMAT_LAYOUT_BPTC:
|
||||
return !st->has_bptc;
|
||||
case MESA_FORMAT_LAYOUT_ASTC:
|
||||
|
|
@ -647,7 +649,8 @@ st_UnmapTextureImage(struct gl_context *ctx,
|
|||
itransfer->temp_stride,
|
||||
transfer->box.width, transfer->box.height,
|
||||
texImage->TexFormat);
|
||||
} else if (_mesa_is_format_rgtc(texImage->TexFormat)) {
|
||||
} else if (_mesa_is_format_rgtc(texImage->TexFormat) ||
|
||||
_mesa_is_format_latc(texImage->TexFormat)) {
|
||||
_mesa_unpack_rgtc(map, transfer->stride,
|
||||
itransfer->temp_data,
|
||||
itransfer->temp_stride,
|
||||
|
|
|
|||
|
|
@ -124,7 +124,8 @@ st_mesa_format_to_pipe_format(const struct st_context *st,
|
|||
PIPE_FORMAT_R8G8B8A8_UNORM;
|
||||
}
|
||||
|
||||
if ((_mesa_is_format_rgtc(mesaFormat) && !st->has_rgtc)) {
|
||||
if ((_mesa_is_format_rgtc(mesaFormat) && !st->has_rgtc) ||
|
||||
(_mesa_is_format_latc(mesaFormat) && !st->has_latc)) {
|
||||
switch (mesaFormat) {
|
||||
case MESA_FORMAT_R_RGTC1_UNORM:
|
||||
return PIPE_FORMAT_R8_UNORM;
|
||||
|
|
@ -134,6 +135,14 @@ st_mesa_format_to_pipe_format(const struct st_context *st,
|
|||
return PIPE_FORMAT_R8G8_UNORM;
|
||||
case MESA_FORMAT_RG_RGTC2_SNORM:
|
||||
return PIPE_FORMAT_R8G8_SNORM;
|
||||
case MESA_FORMAT_L_LATC1_UNORM:
|
||||
return PIPE_FORMAT_L8_UNORM;
|
||||
case MESA_FORMAT_L_LATC1_SNORM:
|
||||
return PIPE_FORMAT_L8_SNORM;
|
||||
case MESA_FORMAT_LA_LATC2_UNORM:
|
||||
return PIPE_FORMAT_L8A8_UNORM;
|
||||
case MESA_FORMAT_LA_LATC2_SNORM:
|
||||
return PIPE_FORMAT_L8A8_SNORM;
|
||||
default:
|
||||
unreachable("Unknown RGTC format");
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue