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:
committed by
Marge Bot
parent
354f0958af
commit
3797fc18d8
@@ -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_srgb.repeat_repeat_linear_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.negative_coverage.callbacks.buffer.read_pixels_fbo_format_mismatch,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_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_feedback3@arb_transform_feedback3-ext_interleaved_two_bufs_gs,Crash
|
||||
spec@arb_transform_feedback3@arb_transform_feedback3-ext_interleaved_two_bufs_gs_max,Crash
|
||||
|
||||
@@ -397,6 +397,10 @@ def conversion_expr(src_channel,
|
||||
# bigger than single precision mantissa, use double
|
||||
value = '(%s * (1.0/0x%x))' % (value, one)
|
||||
src_size = 64
|
||||
|
||||
if src_norm and src_type == SIGNED:
|
||||
value = 'MAX2(-1.0f, %s)' % (value)
|
||||
|
||||
src_norm = False
|
||||
else:
|
||||
if src_size <= 23 or dst_channel.size <= 32:
|
||||
|
||||
Reference in New Issue
Block a user