mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 15:20:10 +01:00
gallivm: disable GLSL IR loop unrolling in LLVMPIPE
The NIR unroller is already enabled so just allow it to do its job. We add a new failure here because llvmpipe fails to handle a shader that is no longer unrolled. Previously GLSL IR could unroll the loop because it only had a single break. However once lower_returns passes over the shader it ends up with more than 2 breaks making it no longer possible to unroll. This is a disadvantage of doing the unrolling in NIR however in practice we don't see shaders in the wild with multiple returns inside loops. Being unable to handle this loop is an existing bug with llvmpipe exposed by the loop no longer being unrolled. Reviewed-by: Emma Anholt <emma@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16366>
This commit is contained in:
parent
3b3cd59fb8
commit
0f1cbcd6a7
2 changed files with 2 additions and 2 deletions
|
|
@ -157,9 +157,8 @@ gallivm_get_shader_param(enum pipe_shader_cap param)
|
|||
case PIPE_SHADER_CAP_LDEXP_SUPPORTED:
|
||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTERS:
|
||||
case PIPE_SHADER_CAP_MAX_HW_ATOMIC_COUNTER_BUFFERS:
|
||||
return 0;
|
||||
case PIPE_SHADER_CAP_MAX_UNROLL_ITERATIONS_HINT:
|
||||
return 32;
|
||||
return 0;
|
||||
case PIPE_SHADER_CAP_MAX_SHADER_BUFFERS:
|
||||
return LP_MAX_TGSI_SHADER_BUFFERS;
|
||||
case PIPE_SHADER_CAP_MAX_SHADER_IMAGES:
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ spec@!opengl 1.1@read-front samples=2,Fail
|
|||
spec@!opengl 1.1@read-front samples=4,Fail
|
||||
spec@!opengl 3.0@clearbuffer-depth-cs-probe,Fail
|
||||
spec@!opengl 3.2@layered-rendering@clear-color-mismatched-layer-count,Fail
|
||||
spec@arb_enhanced_layouts@execution@component-layout@vs-fs-array-dvec3,Fail
|
||||
spec@arb_pipeline_statistics_query@arb_pipeline_statistics_query-frag,Fail
|
||||
spec@arb_post_depth_coverage@arb_post_depth_coverage-multisampling,Fail
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue