util/format_pack: Clamp SNORM values to [-1, 1] when unpacking

Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28793>
This commit is contained in:
Faith Ekstrand
2024-04-17 20:02:39 -05:00
committed by Marge Bot
parent 354f0958af
commit 3797fc18d8
2 changed files with 4 additions and 5 deletions

View File

@@ -461,8 +461,6 @@ dEQP-GLES3.functional.texture.wrap.astc_8x8.repeat_repeat_linear_divisible,Fail
dEQP-GLES3.functional.texture.wrap.astc_8x8.repeat_repeat_linear_not_divisible,Fail dEQP-GLES3.functional.texture.wrap.astc_8x8.repeat_repeat_linear_not_divisible,Fail
dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_divisible,Fail dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_divisible,Fail
dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_not_divisible,Fail dEQP-GLES3.functional.texture.wrap.astc_8x8_srgb.repeat_repeat_linear_not_divisible,Fail
dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads1,Fail
dEQP-GLES3.functional.vertex_arrays.single_attribute.normalize.int2_10_10_10.components4_quads256,Fail
dEQP-GLES31.functional.debug.error_filters.case_29,Fail dEQP-GLES31.functional.debug.error_filters.case_29,Fail
dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer.read_pixels_fbo_format_mismatch,Fail dEQP-GLES31.functional.debug.negative_coverage.callbacks.buffer.read_pixels_fbo_format_mismatch,Fail
dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.blit_framebuffer_multisample,Fail dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.blit_framebuffer_multisample,Fail
@@ -1116,9 +1114,6 @@ spec@arb_texture_rg@texwrap formats@GL_R8- NPOT,Fail
spec@arb_texture_rg@texwrap formats@GL_RG16- NPOT,Fail spec@arb_texture_rg@texwrap formats@GL_RG16- NPOT,Fail
spec@arb_texture_rg@texwrap formats@GL_RG8- NPOT,Fail spec@arb_texture_rg@texwrap formats@GL_RG8- NPOT,Fail
spec@arb_texture_view@rendering-formats,Fail
spec@arb_texture_view@rendering-formats@clear GL_RGBA8_SNORM as GL_R32F,Fail
spec@arb_transform_feedback2@change objects while paused,Crash spec@arb_transform_feedback2@change objects while paused,Crash
spec@arb_transform_feedback3@arb_transform_feedback3-ext_interleaved_two_bufs_gs,Crash spec@arb_transform_feedback3@arb_transform_feedback3-ext_interleaved_two_bufs_gs,Crash
spec@arb_transform_feedback3@arb_transform_feedback3-ext_interleaved_two_bufs_gs_max,Crash spec@arb_transform_feedback3@arb_transform_feedback3-ext_interleaved_two_bufs_gs_max,Crash

View File

@@ -397,6 +397,10 @@ def conversion_expr(src_channel,
# bigger than single precision mantissa, use double # bigger than single precision mantissa, use double
value = '(%s * (1.0/0x%x))' % (value, one) value = '(%s * (1.0/0x%x))' % (value, one)
src_size = 64 src_size = 64
if src_norm and src_type == SIGNED:
value = 'MAX2(-1.0f, %s)' % (value)
src_norm = False src_norm = False
else: else:
if src_size <= 23 or dst_channel.size <= 32: if src_size <= 23 or dst_channel.size <= 32: