diff options
author | Danylo Piliaiev <[email protected]> | 2020-01-28 16:27:20 +0200 |
---|---|---|
committer | Danylo Piliaiev <[email protected]> | 2020-02-19 12:07:24 +0200 |
commit | d596795d4d3fb79c39cf457b7b5cb557edf4d6dd (patch) | |
tree | 2eaca5cc820928eb7ba189cd5ebbb897e9d7d9ac /src/intel/compiler | |
parent | d4e395a27d770fdde2a8df438271dffd76384e43 (diff) |
brw_fs: Avoid zero size vla
../src/intel/compiler/brw_fs.cpp:2247:46: runtime error: variable length array bound evaluates to non-positive value 0
#0 0x7f78f5697678 in fs_visitor::assign_constant_locations() ../src/intel/compiler/brw_fs.cpp:2247
#1 0x7f78f571d29e in fs_visitor::optimize() ../src/intel/compiler/brw_fs.cpp:7361
#2 0x7f78f574eb84 in fs_visitor::run_fs(bool, bool) ../src/intel/compiler/brw_fs.cpp:8022
#3 0x7f78f575641b in brw_compile_fs ../src/intel/compiler/brw_fs.cpp:8408
#4 0x7f78f255c8e4 in brw_codegen_wm_prog ../src/mesa/drivers/dri/i965/brw_wm.c:123
#5 0x7f78f2565571 in brw_fs_precompile ../src/mesa/drivers/dri/i965/brw_wm.c:608
#6 0x7f78f24edd2c in brw_shader_precompile ../src/mesa/drivers/dri/i965/brw_link.cpp:56
#7 0x7f78f24f3af8 in brw_link_shader ../src/mesa/drivers/dri/i965/brw_link.cpp:381
#8 0x7f78f39a302a in _mesa_glsl_link_shader ../src/mesa/program/ir_to_mesa.cpp:3119
#9 0x7f78f3a43826 in create_new_program ../src/mesa/main/ff_fragment_shader.cpp:1133
#10 0x7f78f3a43d00 in _mesa_get_fixed_func_fragment_program ../src/mesa/main/ff_fragment_shader.cpp:1163
#11 0x7f78f325ddcd in update_program ../src/mesa/main/state.c:134
#12 0x7f78f325fe64 in _mesa_update_state_locked ../src/mesa/main/state.c:360
#13 0x7f78f32600f1 in _mesa_update_state ../src/mesa/main/state.c:394
#14 0x7f78f2b3e587 in clear ../src/mesa/main/clear.c:169
#15 0x7f78f2b3e587 in _mesa_Clear ../src/mesa/main/clear.c:242
Signed-off-by: Danylo Piliaiev <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3825>
Diffstat (limited to 'src/intel/compiler')
-rw-r--r-- | src/intel/compiler/brw_fs.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index fd9217b24b2..07963ef6490 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -2247,7 +2247,7 @@ fs_visitor::assign_constant_locations() } if (compiler->compact_params) { - struct uniform_slot_info slots[uniforms]; + struct uniform_slot_info slots[uniforms + 1]; memset(slots, 0, sizeof(slots)); foreach_block_and_inst_safe(block, fs_inst, inst, cfg) { |