diff options
author | Francisco Jerez <[email protected]> | 2015-08-26 21:59:46 +0300 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2015-10-07 14:43:49 +0100 |
commit | 7b8b044ee47a70303a5bcc93c58e61ca71bdcba5 (patch) | |
tree | 5b7dc3d4876100af731c76f41ece3fee4947ac0b /src/gallium/drivers/nouveau/nv30/nv30_miptree.c | |
parent | ec7cda29b6581a7626a051f76fd28d0bd024899c (diff) |
i965/fs: Fix hang on IVB and VLV with image format mismatch.
IVB and VLV hang sporadically when an untyped surface read or write
message is used to access a surface of format other than RAW, as may
happen when there is a mismatch between the format qualifier of the
image uniform and the format of the actual image bound to the
pipeline. According to the spec this condition gives undefined
results but may not lead to program termination (which is one of the
possible outcomes of the hang). Fix it by checking at runtime whether
the surface is of the right type.
Fixes the "arb_shader_image_load_store.invalid/format mismatch" piglit
subtest.
Reported-by: Mark Janes <[email protected]>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91718
CC: [email protected]
Reviewed-by: Ian Romanick <[email protected]>
(cherry picked from commit b61292296bd7e1876fdb64725a783a7e96f6c4c1)
Diffstat (limited to 'src/gallium/drivers/nouveau/nv30/nv30_miptree.c')
0 files changed, 0 insertions, 0 deletions