summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-02-29mesa: use sizeof on the correct typeThomas Hindoe Paaboel Andersen1-1/+1
Before the luminance stride was based on the size of GL_FLOAT which is just the type constant (0x1406). Change it to use the size of GLfloat. Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 1807806add36327ba1e713c49554b61b2855d5f9) Nominated-by: Emil Velikov <emil.velikov@collabora.com>
2016-02-29virtio_gpu: Add virtio 1.0 PCI ID to driver mapMarc-André Lureau1-0/+1
Add the virtio-gpu PCI ID for virtio 1.0 (according to the specification, "the PCI Device ID is calculated by adding 0x1040 to the Virtio Device ID") Support for virtio 1.0 was added in qemu 2.4 (same time virtio-gpu landed). Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit f1d12e7392896f45a76df87b6ad0bf18647922df)
2016-02-29st/clover: Add libelf cflags to the buildKoop Mast2-3/+1
Otherwise the build will fail, when the library is in a non default location. v2 [Emil Velikov] - drop the unneeded cflags from targets/opencl. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Fixes: 7f585a6a98d "configure.ac: use pkg-config for libelf" Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93524 Signed-off-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 04bc09fdf9e353fbb1303635236da551785373c9)
2016-02-29mesa; add get-extra-pick-list.sh script into bin/Emil Velikov1-0/+35
This is a very rudimentary script that checks if any of the applied cherry-picks have been referenced (fixed?) by another patch. With the latter either missing the stable tag or hasn't yet been picked. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> (cherry picked from commit c212a70cd9d5f5731841e4194c57e8a77e0b4e41)
2016-02-29automake: add more missing options for make distcheckEmil Velikov1-2/+4
Namely - opencl, osmesa (only the gallium flavour as it conflicts with the classic one), surfaceless egl platform and a couple gallium drivers (virgl and vc4). Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 325bc6fb4a045b4643f284a6b76c336e418064c2)
2016-02-29install-gallium-links: port changes from install-lib-linksEmil Velikov1-2/+13
Namely: b662d5282f7 mesa: Add clean-local rule to remove .lib links. 5c1aac17adf install-lib-links: don't depend on .libs directory fece147be53 install-lib-links: remove the .install-lib-links file With these in place, make distcheck now passes and a race condition has been avoided. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 0b6157e9713c662a6635fc0d79a393d95550c4ad)
2016-02-29r600: Make enum alu_op_flags unsignedRob Herring1-8/+8
In builds with clang, there are several errors related to the enum alu_op_flags like this: src/gallium/drivers/r600/sb/sb_expr.cpp:887:8: error: case value evaluates to -1610612736, which cannot be narrowed to type 'unsigned int' [-Wc++11-narrowing] These are due to the MSB being set in the enum. Fix these errors by making the enum values unsigned as needed. The flags field that stores this enum also needs to be unsigned. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Cc: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> (cherry picked from commit 51b22bd46888c972eb8c80ee5524d94f6f0b8996)
2016-02-29gallium/radeon: Add space between string literal and identifierRob Herring1-1/+1
Fix compiles with clang that have this C++11 error: src/gallium/drivers/radeon/r600_pipe_common.h:662:34: error: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal] Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Cc: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> (cherry picked from commit 92dd38df5a25ca57a23500576169b190be3b26cb)
2016-02-29freedreno: drop unnecessary -Wno-packed-bitfield-compatRob Herring1-2/+2
Enabling this warning doesn't generate any warnings with gcc, but is an unknown option for clang, so drop it. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Rob Clark <robdclark@gmail.com> (v1) Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> v2: keep the warning around, commented out Signed-off-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 0156a33aa39db6ebe15666fce8f1e073cb737b34)
2016-02-29Android: clean-up and fix DRI module path handlingRob Herring6-9/+11
MESA_DRI_MODULE_PATH is only getting set for classic DRI drivers and may or may not be set correctly for gallium_dri.so depending on the makefile include ordering. For Android 6 and earlier it is fine, but with build system changes in AOSP master, it is not. Move the path variables to a single place at the top level and introduce MESA_DRI_MODULE_REL_PATH for Android 5 and later which require relative paths. With this, there is a single variable to change. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 8949edf01863ade9c87a02e1256bba083f14317a)
2016-02-29Android: remove headers from LOCAL_SRC_FILESRob Herring1-0/+3
The Android build system now spits out warnings for header files listed in LOCAL_SRC_FILES, so strip them out. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 0663edf85b8e055dfecf290afab1a15c68da961a)
2016-02-29Android: add -Wno-date-time flag for clangRob Herring1-0/+1
clang complains about date/time macros: src/mesa/main/context.c:403:25: error: expansion of date or time macro is not reproducible [-Werror,-Wdate-time] Disable this warning. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 6dae9176d60d12de61aa03906c44f81e20ef7622)
2016-02-29Android: glsl: fix dependence on YACC_HEADER_SUFFIX from build systemRob Herring1-0/+2
The makefile was implicitly picking up YACC_HEADER_SUFFIX from the Android build system, but this variable is now gone. Add it locally to fix the build with AOSP master. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit a2f16db19b18bcb0e00702b17adc84483c17c590)
2016-02-29Android: remove dependence on .SECONDEXPANSIONRob Herring1-9/+13
With the Android build system changes to ninja/kati, the use of .SECONDEXPANSION is no longer supported. Fix this by avoiding rule specific variables and using $(transform-generated-source). Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 794221fbb7e9ecdd67cb209237c6f0f2c80e7a71)
2016-02-29Android: fix build break from nir/glsl move to compiler/Rob Herring17-20/+30
Commits a39a8fbbaa12 ("nir: move to compiler/") and eb63640c1d38 ("glsl: move to compiler/") broke Android builds. Fix them. There is also a missing dependency between generated NIR headers and several libraries. This isn't a new issue, but seems to have been exposed by the NIR move. Built with i915, i965, freedreno, r300g, r600g, vc4, and virgl enabled. Cc: "11.2" <mesa-stable@lists.freedesktop.org> Cc: Mauro Rossi <issor.oruam@gmail.com> Signed-off-by: Rob Herring <robh@kernel.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 574a92b048ae2b482982c3f156182970d551ca94)
2016-02-29gallium/radeon: disable evergreen_do_fast_color_clear for BEOded Gabbay1-0/+5
This function is currently broken for BE. I assume it's because of util_pack_color(). Until I fix this path, I prefer to disable it so users would be able to see correct colors on their desktop and applications. Together with the two following patches: - gallium/r600: Don't let h/w do endian swap for colorformat - gallium/radeon: remove separate BE path in r600_translate_colorswap it fixes BZ#72877 and BZ#92039 Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit a640ad15e1fff3eb51f42bf30c31eafe02a921e2)
2016-02-29gallium/r600: Don't let h/w do endian swap for colorformatOded Gabbay1-0/+7
Since the rework on gallium pipe formats, there is no more need to do endian swap of the colorformat in the h/w, because the conversion between mesa format and gallium (pipe) format takes endianess into account (see the big #if in p_format.h). v2: return ENDIAN_NONE only for four 8-bits components (V_0280A0_COLOR_8_8_8_8) Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit e3dfc0e095bba74aaaea4d6f994c29fdf954cbad)
2016-02-29gallium/radeon: remove separate BE path in r600_translate_colorswapOded Gabbay1-12/+1
After further testing, it appears there is no need for separate BE path in r600_translate_colorswap() The only fix remaining is the change of the last if statement, in the 4 channels case. Originally, it contained an invalid swizzle configuration that never got hit, in LE or BE. So the fix is relevant for both systems. This patch adds an additional 120 available visuals for LE and BE, as seen in glxinfo v2: Tested for regressions by running piglit gpu.py with CAICOS (r600g) on x86-64 machine. No regressions found. Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit 9559071ed602e62c3619b8b8b02ac7e47a7eff8c)
2016-02-29nv50,nvc0: bump minimum texture buffer offset alignmentIlia Mirkin2-2/+2
It appears that it actually needs to be aligned to the datum size, so it was 1 when testing with R8, but it can be as high as 16 with RGBA32. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> (cherry picked from commit aa3b85fd18d32a49f2e0051ef434d6c16d4a5d18)
2016-02-29egl/wayland: Try to use wl_surface.damage_buffer for SwapBuffersWithDamageDerek Foreman1-3/+36
Since commit d1314de293e9e4a63c35f094c3893aaaed8580b4 we ignore damage passed to SwapBuffersWithDamage. Wayland 1.10 now has functionality that allows us to properly process those damage rectangles, and a way to query if it's available. Now we can use wl_surface.damage_buffer and interpret the incoming damage as being in buffer co-ordinates. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Signed-off-by: Derek Foreman <derekf@osg.samsung.com> (cherry picked from commit d085a5dff5bf753b82228ef0827f2331aff7b35b)
2016-02-29automake: add nine to make distcheckEmil Velikov1-0/+1
Will allow us to catch/prevent issues, like the one in mesa 11.2.0-rc1. Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit 51c65a4c48733da4bc551c657b14314242ff0c4b)
2016-02-29st/nine: don't forget to bundle the nine_limits.h fileEmil Velikov1-0/+1
Without this mesa 11.2.0-rc1 ended up busted :-( Cc: "11.2" <mesa-stable@lists.freedesktop.org> Repored-by: Ondřej Súkup <mimi.vx@gmail.com> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> (cherry picked from commit b08dbc84fe5ba861d8a4d224bf4c7c467bbf33fe)
2016-02-29i965/fs: Don't CSE negated multiplies with saturation.Matt Turner1-0/+2
It's not correct to CSE these multiplies mul.sat dst1, -a, b mul.sat dst2, a, b by emitting a negated MOV from dst1 to dst2: mul.sat dst1, -a, b mov dst2, -dst1 Take 2.0*2.0 for example. The first multiply would produce 0.0 and the second would produce 1.0. Fixes bad generated code in 18 to 22 shaders: instructions in affected programs: 432 -> 464 (7.41%) helped: 4 HURT: 18 Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> (cherry picked from commit 1567da1e2820d4c1a6c14f4598ad3addba6bc788)
2016-02-29glsl: Consider ubo_load to be a horizontal operation.Matt Turner1-0/+1
Unclear to me whether it actually is a horizontal operation that cannot be vectorized, but the fact that i965 generates the same code in either case makes me less interested in finding out. Cc: mesa-stable@lists.freedesktop.org Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94199 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (cherry picked from commit 3da789f1e9e3eb027bcfdb9d9170e7b37160b5b9)
2016-02-29gallium/radeon: return correct values for BE in r600_translate_colorswapOded Gabbay1-4/+4
Because I changed the swizzle check, I also need to adapt the return values for each check. It's basically almost the same as before, we just cross between STD and STD_REV, and cross between ALT and ALT_REV This fixes the rgba test in gl-1.0-readpixsanity (piglit) and also fixes tri-flat (mesa demos). Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit 439b5b008fc7b4fd694fbb52cfcdeaec945143ad)
2016-02-29st/mesa: fix frontbuffer glReadPixels regressionsBrian Paul1-2/+11
The change "mesa/readpix: Don't clip in _mesa_readpixels()" caused a few piglit regressions. The failing tests use glReadPixels to read from the front color buffer. The problem is we were trying to read from a non-existant front color buffer. The front color buffer is created on demand in st/mesa. Since the missing buffer bounds were effectively 0 x 0 the glReadPixels was totally clipped and returned early. The fix involves creating the real front color buffer when we're about to try reading from it. Tested with llvmpipe and VMware driver on Linux, Windows. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94253 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94254 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94257 Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Roland Scheidegger <sroland@vmware.com> (cherry picked from commit 83b589301f4a150f4b1b13fd3ffd9f6d98ee6546)
2016-02-29gallium/radeon: Correctly translate colorswaps for big endianOded Gabbay1-0/+11
The current code in r600_translate_colorswap uses the swizzle information to determine which colorswap to use. This works for BE & LE when the nr_channels is <4, but when nr_channels==4 (e.g. PIPE_FORMAT_A8R8G8B8_UNORM), this method can not be used for both BE and LE, because the swizzle info is the same for both of them. As a result, r600g doesn't support 24bit color formats, only 16bit, which forces the user to choose 16bit color in X server. This patch fixes this bug by separating the checks for LE and BE and adapting the swizzle conditions in the BE part of the checks. Tested on an Evergreen GPU (Cedar GL FirePro 2270) running inside POWER7 Big-Endian Machine. Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> CC: "11.2" "11.1" <mesa-stable@lists.freedesktop.org> Reviewed-by: Marek Olšák <marek.olsak@amd.com> (cherry picked from commit 4b7e219e616f64281a83c88319dc7c386809b9ec)
2016-02-29tgsi/scan: handle holes between VS inputs, assert-fail in other casesMarek Olšák1-1/+9
"st/mesa: overhaul vertex setup for clearing, glDrawPixels, glBitmap" added a vertex shader declaring IN[0] and IN[2], but not IN[1]. Drivers relying on tgsi_shader_info can't handle holes in declarations, because tgsi_shader_info doesn't track that. This is just a quick workaround meant for stable that will work for vertex shaders. This fixes radeonsi DrawPixels and CopyPixels crashes. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Brian Paul <brianp@vmware.com> (cherry picked from commit 190a291b03f799471110f95ae8a4d519d309696d)
2016-02-29nvc0/ir: add missing emission of locked load predicateSamuel Pitoiset1-0/+7
Like unlocked store on shared memory, locked store can fail and the second dest which is a predicate must be emitted. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: mesa-stable@lists.freedesktop.org (cherry picked from commit 84b9b8f0a395a26984980bb465b06ba08f55a1c6)
2016-02-22Update version to 11.2.0-rc1Emil Velikov1-1/+1
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2016-02-22nouveau: update the Makefile.sources listEmil Velikov1-2/+3
Reflect the nv50->g80 change and the new gm107_texture header. Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2016-02-21radeonsi: implement binary shaders & shader cache in memory (v2)Marek Olšák5-7/+259
v2: handle _mesa_hash_table_insert failure other cosmetic changes Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21gallium/radeon: remove unused radeon_shader_binary_free_* functionsMarek Olšák2-33/+0
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: make radeon_shader_reloc name string fixed-sizedMarek Olšák2-6/+3
This will simplify implementations of binary shaders. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: move some struct si_shader members to new struct si_shader_infoMarek Olšák3-68/+71
This will be part of shader binaries. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: use smaller types for some si_shader membersMarek Olšák2-3/+8
in order to decrease the shader size for a shader cache. v2: add & use SI_MAX_VS_OUTPUTS Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: enable compiling one variant per shaderMarek Olšák3-1/+5
Shader stats from VERDE: Default scheduler: Totals: SGPRS: 491272 -> 488672 (-0.53 %) VGPRS: 289980 -> 311093 (7.28 %) Code Size: 11091656 -> 11219948 (1.16 %) bytes LDS: 97 -> 97 (0.00 %) blocks Scratch: 1732608 -> 2246656 (29.67 %) bytes per wave Max Waves: 78063 -> 77352 (-0.91 %) Wait states: 0 -> 0 (0.00 %) Looking at some of the worst regressions, I get: - The VGPR increase seems to be caused by the fact that if PS has used less than 16 VGPRs, now it will always use 16 VGPRs and sometimes even 20. However, the wave count remains at 10 if VGPRs <= 24, so no harm there. - The scratch increase seems to be caused by SGPR spilling. The unnecessary SGPR spilling has been an ongoing issue with the compiler and it's completely fixable by rematerializing s_loads or reordering instructions. SI scheduler: Totals: SGPRS: 374848 -> 374576 (-0.07 %) VGPRS: 284456 -> 307515 (8.11 %) Code Size: 11433068 -> 11535452 (0.90 %) bytes LDS: 97 -> 97 (0.00 %) blocks Scratch: 509952 -> 522240 (2.41 %) bytes per wave Max Waves: 79456 -> 78217 (-1.56 %) Wait states: 0 -> 0 (0.00 %) VGPRs - same story as before. The SI scheduler doesn't spill SGPRs so much and generally spills way less than the default scheduler. (522240 spills vs 2246656 spills) Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: print full shader name before disassemblyMarek Olšák1-1/+33
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: compile non-GS middle parts of shaders immediately if enabledMarek Olšák3-18/+87
Still disabled. Only prologs & epilogs are compiled in draw calls, but each variant of those is compiled only once per process. VS is always compiled as hw VS. TES is always compiled as hw VS. LS and ES stages are always compiled on demand. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: rework polygon stippling for PS prologMarek Olšák1-39/+110
Don't use the pstipple module. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: add PS prologMarek Olšák5-2/+345
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: add PS epilogMarek Olšák4-2/+297
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: add TCS epilogMarek Olšák4-13/+155
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: add VS epilogMarek Olšák4-11/+171
It only exports the primitive ID. Also used by TES when it's compiled as VS. The VS input location of the primitive ID input is v2. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: add VS prologMarek Olšák4-1/+267
This is disabled with use_monolithic_shaders = true. Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: first bits for non-monolithic shadersMarek Olšák4-14/+45
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: add code for dumping all shader parts together (v2)Marek Olšák1-12/+34
v2: unify some code into si_get_shader_binary_size Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2016-02-21radeonsi: add code for combining and uploading shaders from 3 shader partsMarek Olšák2-8/+36
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: fail compilation if non-GS non-CS shaders have rodataMarek Olšák1-0/+13
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
2016-02-21radeonsi: separate 2 pieces of code from create_functionMarek Olšák1-31/+51
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>