Sync from SUSE:ALP:Source:Standard:1.0 Mesa revision bb07410c22f0666710223cb8197f2bc1

This commit is contained in:
Adrian Schröter 2024-02-01 16:57:41 +01:00
commit 01b6d2a2ca
22 changed files with 15651 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

11
Mesa-rpmlintrc Normal file
View File

@ -0,0 +1,11 @@
# This line is mandatory to access the configuration functions
from Config import *
# Want to allow for multiple vendors
addFilter("shlib-policy-name-error")
addFilter("Mesa-libOpenCL.*library-without-ldconfig-postin")
addFilter("Mesa-libOpenCL.*library-without-ldconfig-postun")
addFilter("libXvMC_nouveau.*library-without-ldconfig-postin")
addFilter("libXvMC_nouveau.*library-without-ldconfig-postun")
addFilter("libXvMC_r600.*library-without-ldconfig-postin")
addFilter("libXvMC_r600.*library-without-ldconfig-postun")

7697
Mesa.changes Normal file

File diff suppressed because it is too large Load Diff

6161
Mesa.keyring Normal file

File diff suppressed because it is too large Load Diff

1255
Mesa.spec Normal file

File diff suppressed because it is too large Load Diff

10
README.updates Normal file
View File

@ -0,0 +1,10 @@
DRI Driver update mechanism
---------------------------
If any corresponding DRI driver is found in "/usr/lib/dri/updates/"
it will be favored over the one in "/usr/lib/dri/" and will be used
for 32/64 bit applications.
On 32/64 bit biarch platforms additionally a corresponding DRI driver
in "/usr/lib64/dri/updates/" will be favored over the one in
"/usr/lib64/dri/" and will be used for 64bit applications.

View File

@ -0,0 +1,19 @@
@@ -, +, @@
---
src/gallium/drivers/r600/evergreen_state.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
Index: mesa-23.3.0/src/gallium/drivers/r600/evergreen_state.c
===================================================================
--- mesa-23.3.0.orig/src/gallium/drivers/r600/evergreen_state.c
+++ mesa-23.3.0/src/gallium/drivers/r600/evergreen_state.c
@@ -598,7 +598,8 @@ static void *evergreen_create_sampler_st
: state->max_anisotropy;
unsigned max_aniso_ratio = r600_tex_aniso_filter(max_aniso);
bool trunc_coord = state->min_img_filter == PIPE_TEX_FILTER_NEAREST &&
- state->mag_img_filter == PIPE_TEX_FILTER_NEAREST;
+ state->mag_img_filter == PIPE_TEX_FILTER_NEAREST &&
+ state->unnormalized_coords;
float max_lod = state->max_lod;
if (!ss) {

29
_constraints Normal file
View File

@ -0,0 +1,29 @@
<constraints>
<overwrite>
<conditions>
<arch>aarch64</arch>
<arch>ppc</arch>
<arch>x86_64</arch>
<arch>i586</arch>
</conditions>
<hardware>
<disk>
<size unit="G">9</size>
</disk>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>ppc64</arch>
<arch>ppc64le</arch>
</conditions>
<hardware>
<disk>
<size unit="G">9</size>
</disk>
<physicalmemory>
<size unit="G">20</size>
</physicalmemory>
</hardware>
</overwrite>
</constraints>

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>drivers</package>
</multibuild>

105
baselibs.conf Normal file
View File

@ -0,0 +1,105 @@
Mesa
# Include this special README file so dummy Mesa-<targettype> gets
# build and other arch packages can supplement it.
+/usr/share/doc/packages/Mesa/README.package.*
# Must require the base Mesa package to get /etc/drirc configuration file.
requires "Mesa = <version>"
obsoletes "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
provides "XFree86-Mesa-<targettype> xorg-x11-Mesa-<targettype>"
provides "Mesa-libIndirectGL1-<targettype> = <version>"
obsoletes "Mesa-libIndirectGL1-<targettype> < <version>"
requires "libglvnd-<targettype> >= 0.1.0"
requires "Mesa-dri-<targettype> = <version>"
requires "Mesa-gallium-<targettype> = <version>"
Mesa-devel
#We need Mesa-<targettype>!, do not put requires -Mesa-<targettype>.
requires "Mesa-<targettype> = <version>"
requires "Mesa-libEGL-devel-<targettype> = <version>"
requires "Mesa-libGL-devel-<targettype> = <version>"
requires "Mesa-libGLESv1_CM-devel-<targettype> = <version>"
requires "Mesa-libGLESv2-devel-<targettype> = <version>"
requires "Mesa-libIndirectGL-devel-<targettype> = <version>"
requires "Mesa-libglapi-devel-<targettype> = <version>"
requires "libOSMesa-devel-<targettype> = <version>"
requires "libgbm-devel-<targettype> = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
obsoletes "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>"
provides "XFree86-Mesa-devel-<targettype> xorg-x11-Mesa-devel-<targettype>"
obsoletes "Mesa-libIndirectGL-devel-<targettype> < <version>"
provides "Mesa-libIndirectGL-devel-<targettype> = <version>"
Mesa-libEGL1
requires "libglvnd-<targettype> >= 0.1.0"
Mesa-libEGL-devel
requires "Mesa-libEGL1-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGL1
requires "Mesa-<targettype> = <version>"
requires "libglvnd-<targettype> >= 0.1.0"
Mesa-libGL-devel
requires "Mesa-libGL1-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGLESv1_CM-devel
requires "Mesa-libEGL-devel-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGLESv2-devel
requires "Mesa-libEGL-devel-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
requires "libglvnd-devel-<targettype> >= 0.1.0"
Mesa-libGLESv3-devel
requires "Mesa-libEGL-devel-<targettype> = <version>"
# Mesa-KHR-devel contains only header files, so no -<targettype> variant
requires "Mesa-KHR-devel = <version>"
libOSMesa8
obsoletes "libOSMesa9-<targettype> < <version>"
provides "libOSMesa9-<targettype> = <version>"
libOSMesa-devel
requires "libOSMesa8-<targettype> = <version>"
libgbm1
libgbm-devel
requires "libgbm1-<targettype> = <version>"
Mesa-libglapi0
Mesa-libglapi-devel
requires "Mesa-libglapi0-<targettype> = <version>"
Mesa-libd3d
provides "d3dadapter9.so.1"
Mesa-libd3d-devel
requires "Mesa-libd3d-<targettype> = <version>"
libvulkan_intel
targetarch aarch64 +/usr/share/vulkan/icd.d/intel_icd.*.json
targetarch aarch64 +/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json
targetarch ppc64 +/usr/share/vulkan/icd.d/intel_icd.*.json
targetarch ppc64 +/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json
targetarch ppc64le +/usr/share/vulkan/icd.d/intel_icd.*.json
targetarch ppc64le +/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json
targetarch x86_64 +/usr/share/vulkan/icd.d/intel_icd.*.json
targetarch x86_64 +/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json
requires "Mesa-vulkan-device-select-<targettype> = <version>"
provides "Mesa-libVulkan-devel-<targettype> = 22.0.0"
obsoletes "Mesa-libVulkan-devel-<targettype> < 22.0.0"
libvulkan_radeon
targetarch aarch64 +/usr/share/vulkan/icd.d/radeon_icd.*.json
targetarch ppc64 +/usr/share/vulkan/icd.d/radeon_icd.*.json
targetarch ppc64le +/usr/share/vulkan/icd.d/radeon_icd.*.json
targetarch x86_64 +/usr/share/vulkan/icd.d/radeon_icd.*.json
requires "Mesa-vulkan-device-select-<targettype> = <version>"
libvdpau_nouveau
libvdpau_r600
libvdpau_radeonsi
libvdpau_virtio_gpu
Mesa-vulkan-device-select
Mesa-vulkan-overlay
Mesa-dri-vc4
Mesa-dri-nouveau
Mesa-dri
supplements "Mesa-<targettype> = <version>"
Mesa-gallium
supplements "Mesa-<targettype> = <version>"

BIN
manual-pages.tar.bz2 (Stored with Git LFS) Normal file

Binary file not shown.

BIN
mesa-23.3.4.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

BIN
mesa-23.3.4.tar.xz.sig Normal file

Binary file not shown.

View File

@ -0,0 +1,15 @@
Index: mesa-23.3.0/include/meson.build
===================================================================
--- mesa-23.3.0.orig/include/meson.build
+++ mesa-23.3.0/include/meson.build
@@ -28,10 +28,8 @@ if with_android_stub
inc_include += [include_directories('android_stub')]
endif
-if not with_glvnd
if with_gles1 or with_gles2 or with_opengl or with_egl
install_headers('KHR/khrplatform.h', subdir : 'KHR')
- endif
if with_gles1
install_headers(

View File

@ -0,0 +1,19 @@
Index: mesa-23.2.0-rc4/src/util/00-mesa-defaults.conf
===================================================================
--- mesa-23.2.0-rc4.orig/src/util/00-mesa-defaults.conf
+++ mesa-23.2.0-rc4/src/util/00-mesa-defaults.conf
@@ -956,6 +956,14 @@ TODO: document the other workarounds.
<application name="Rocket League" executable="RocketLeague">
<option name="radeonsi_zerovram" value="true" />
</application>
+ <!-- This is workaround to prevent distorted colors on hardware accelerated video in Chromium. https://bugzilla.opensuse.org/show_bug.cgi?id=1113211 -->
+ <application name="Chromium" executable="chromium">
+ <option name="allow_rgb10_configs" value="false" />
+ </application>
+ <!-- This is workaround to prevent distorted colors on hardware accelerated video in Totem. https://bugzilla.opensuse.org/show_bug.cgi?id=1142270 -->
+ <application name="Totem" executable="totem">
+ <option name="allow_rgb10_configs" value="false" />
+ </application>
<application name="Gfx Bench" executable="gfxbench_gl">
<!-- Helps offscreen tests -->
<option name="mesa_glthread_app_profile" value="1"/>

20
n_stop-iris-flicker.patch Normal file
View File

@ -0,0 +1,20 @@
commit 5d6f7baf3bc40a85b09e4088c8c3bccec6a7c82d
Author: Scott Bradnick <scott.bradnick@suse.com>
Date: Tue May 24 14:47:53 2022 -0400
Adjusting 'iris_batch.c' per 'https://gitlab.freedesktop.org/mesa/mesa/-/issues/5731'.
Index: mesa-23.3.0/src/gallium/drivers/iris/i915/iris_kmd_backend.c
===================================================================
--- mesa-23.3.0.orig/src/gallium/drivers/iris/i915/iris_kmd_backend.c
+++ mesa-23.3.0/src/gallium/drivers/iris/i915/iris_kmd_backend.c
@@ -308,8 +308,7 @@ i915_batch_submit(struct iris_batch *bat
(struct drm_i915_gem_exec_object2) {
.handle = bo->gem_handle,
.offset = bo->address,
- .flags = bo->real.kflags | (written ? EXEC_OBJECT_WRITE : 0) |
- (iris_bo_is_external(bo) ? 0 : EXEC_OBJECT_ASYNC),
+ .flags = bo->real.kflags | (written ? EXEC_OBJECT_WRITE : 0),
};
++validation_count;
}

65
python36-buildfix1.patch Normal file
View File

@ -0,0 +1,65 @@
--- mesa-23.3.3/src/nouveau/nvidia-headers/class_parser.py.orig 2024-01-20 12:47:36.464476669 +0100
+++ mesa-23.3.3/src/nouveau/nvidia-headers/class_parser.py 2024-01-20 13:04:30.212851443 +0100
@@ -9,6 +9,16 @@
from mako.template import Template
+def removeprefix(s, prefix):
+ if s.startswith(prefix):
+ return s[len(prefix):]
+ return s
+
+def removesuffix(s, suffix):
+ if s.endswith(suffix):
+ return s[:-len(suffix)]
+ return s
+
METHOD_ARRAY_SIZES = {
'BIND_GROUP_CONSTANT_BUFFER' : 16,
'CALL_MME_DATA' : 256,
@@ -273,7 +283,7 @@
if ":" in list[2]:
state = 1
elif teststr in list[1]:
- curmthd.field_defs[curfield][list[1].removeprefix(teststr)] = list[2]
+ curmthd.field_defs[curfield][removeprefix(list[1], teststr)] = list[2]
else:
state = 1
@@ -283,7 +293,7 @@
if ("0x" in list[2]):
state = 1
else:
- field = list[1].removeprefix(teststr)
+ field = removeprefix(list[1], teststr)
bitfield = list[2].split(":")
curmthd.field_name_start[field] = bitfield[1]
curmthd.field_name_end[field] = bitfield[0]
@@ -304,13 +314,13 @@
is_array = 0
if (':' in list[2]):
continue
- name = list[1].removeprefix(teststr)
+ name = removeprefix(list[1], teststr)
if name.endswith("(i)"):
is_array = 1
- name = name.removesuffix("(i)")
+ name = removesuffix(name, "(i)")
if name.endswith("(j)"):
is_array = 1
- name = name.removesuffix("(j)")
+ name = removesuffix(name, "(j)")
x = method()
x.name = name
x.addr = list[2]
@@ -336,8 +346,8 @@
clheader = os.path.basename(args.in_h)
nvcl = clheader
- nvcl = nvcl.removeprefix("cl")
- nvcl = nvcl.removesuffix(".h")
+ nvcl = removeprefix(nvcl, "cl")
+ nvcl = removesuffix(nvcl, ".h")
nvcl = nvcl.upper()
nvcl = "NV" + nvcl

11
python36-buildfix2.patch Normal file
View File

@ -0,0 +1,11 @@
--- mesa-23.3.3/src/freedreno/registers/gen_header.py.orig 2024-01-20 14:01:30.261999839 +0100
+++ mesa-23.3.3/src/freedreno/registers/gen_header.py 2024-01-20 14:01:57.678558692 +0100
@@ -781,7 +781,7 @@ def main():
parser.add_argument('--rnn', type=str, required=True)
parser.add_argument('--xml', type=str, required=True)
- subparsers = parser.add_subparsers(required=True)
+ subparsers = parser.add_subparsers()
parser_c_defines = subparsers.add_parser('c-defines')
parser_c_defines.set_defaults(func=dump_c_defines)

View File

@ -0,0 +1,54 @@
From a14fa9920669c8d6d911e375376f2e45052a31d6 Mon Sep 17 00:00:00 2001
From: Jordan Justen <jordan.l.justen@intel.com>
Date: Sat, 20 Jan 2024 01:07:23 -0800
Subject: [PATCH 1/2] intel/genxml: Drop "from __future__ import annotations"
This is not supported in Python 3.6, and optional in 3.7+.
Ref: f1eae2f8bbe ("python: drop python2 support")
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
---
src/intel/genxml/gen_sort_tags.py | 1 -
src/intel/genxml/genxml_import.py | 1 -
src/intel/genxml/intel_genxml.py | 1 -
3 files changed, 3 deletions(-)
diff --git a/src/intel/genxml/gen_sort_tags.py b/src/intel/genxml/gen_sort_tags.py
index dcdba333fe6..44cd152cd11 100755
--- a/src/intel/genxml/gen_sort_tags.py
+++ b/src/intel/genxml/gen_sort_tags.py
@@ -2,7 +2,6 @@
# Copyright © 2019, 2022 Intel Corporation
# SPDX-License-Identifier: MIT
-from __future__ import annotations
import argparse
import copy
import intel_genxml
diff --git a/src/intel/genxml/genxml_import.py b/src/intel/genxml/genxml_import.py
index 76a7c77eb4c..442b4726d08 100755
--- a/src/intel/genxml/genxml_import.py
+++ b/src/intel/genxml/genxml_import.py
@@ -2,7 +2,6 @@
# Copyright © 2019, 2022 Intel Corporation
# SPDX-License-Identifier: MIT
-from __future__ import annotations
import argparse
import copy
import intel_genxml
diff --git a/src/intel/genxml/intel_genxml.py b/src/intel/genxml/intel_genxml.py
index 2b7b4d8391a..9388ebecfce 100755
--- a/src/intel/genxml/intel_genxml.py
+++ b/src/intel/genxml/intel_genxml.py
@@ -2,7 +2,6 @@
# Copyright © 2019, 2022 Intel Corporation
# SPDX-License-Identifier: MIT
-from __future__ import annotations
from collections import OrderedDict
import copy
import io
--
2.35.3

View File

@ -0,0 +1,78 @@
From 89ede5b851a6a15f85e83278257ee4e3783f6bd2 Mon Sep 17 00:00:00 2001
From: Jordan Justen <jordan.l.justen@intel.com>
Date: Sat, 20 Jan 2024 01:00:56 -0800
Subject: [PATCH 2/2] intel/genxml: Add a untyped OrderedDict fallback for
Python 3.6
typing.OrderedDict was introduced in Python 3.7.2.
Python 3.6 and 3.7 have been deprecated and are no longer supported,
but this seems like an easy enough fallback to include for now.
https://devguide.python.org/versions/
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
---
src/intel/genxml/intel_genxml.py | 22 +++++++++++++++++-----
1 file changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/intel/genxml/intel_genxml.py b/src/intel/genxml/intel_genxml.py
index 9388ebecfce..eefd7b44992 100755
--- a/src/intel/genxml/intel_genxml.py
+++ b/src/intel/genxml/intel_genxml.py
@@ -45,10 +45,22 @@ BASE_TYPES = {
FIXED_PATTERN = re.compile(r"(s|u)(\d+)\.(\d+)")
+try:
+ # Python 3.7 and newer should be able to support strong typing for
+ # our OrderedDict usage.
+ def typed_ordered_dict(key_ty, val_ty):
+ return typing.OrderedDict[str, bool]
+ # This will raise an exception on Python 3.6
+ typed_ordered_dict(int, int)
+except Exception:
+ # For Python 3.6 we return an untyped OrderedDict
+ def typed_ordered_dict(key_ty, val_ty):
+ return OrderedDict
+
def is_base_type(name: str) -> bool:
return name in BASE_TYPES or FIXED_PATTERN.match(name) is not None
-def add_struct_refs(items: typing.OrderedDict[str, bool], node: et.Element) -> None:
+def add_struct_refs(items: typed_ordered_dict(str, bool), node: et.Element) -> None:
if node.tag == 'field':
if 'type' in node.attrib and not is_base_type(node.attrib['type']):
t = node.attrib['type']
@@ -64,16 +76,16 @@ class Struct(object):
def __init__(self, xml: et.Element):
self.xml = xml
self.name = xml.attrib['name']
- self.deps: typing.OrderedDict[str, Struct] = OrderedDict()
+ self.deps: typed_ordered_dict(str, Struct) = OrderedDict()
def find_deps(self, struct_dict, enum_dict) -> None:
- deps: typing.OrderedDict[str, bool] = OrderedDict()
+ deps: typed_ordered_dict(str, bool) = OrderedDict()
add_struct_refs(deps, self.xml)
for d in deps.keys():
if d in struct_dict:
self.deps[d] = struct_dict[d]
- def add_xml(self, items: typing.OrderedDict[str, et.Element]) -> None:
+ def add_xml(self, items: typed_ordered_dict(str, et.Element)) -> None:
for d in self.deps.values():
d.add_xml(items)
items[self.name] = self.xml
@@ -151,7 +163,7 @@ def sort_xml(xml: et.ElementTree) -> None:
for ws in wrapped_struct_dict.values():
ws.find_deps(wrapped_struct_dict, enum_dict)
- sorted_structs: typing.OrderedDict[str, et.Element] = OrderedDict()
+ sorted_structs: typed_ordered_dict(str, et.Element) = OrderedDict()
for s in structs:
_s = wrapped_struct_dict[s.attrib['name']]
_s.add_xml(sorted_structs)
--
2.35.3

28
u_dep_xcb.patch Normal file
View File

@ -0,0 +1,28 @@
Index: mesa-23.3.0/meson.build
===================================================================
--- mesa-23.3.0.orig/meson.build
+++ mesa-23.3.0/meson.build
@@ -2022,9 +2022,11 @@ if with_platform_x11
endif
endif
if with_any_vk or with_egl or (with_glx == 'dri' and with_dri_platform == 'drm')
+ dep_x11_xcb = dependency('x11-xcb')
dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8')
if with_dri3
+ dep_xcb = dependency('xcb')
dep_xcb_dri3 = dependency('xcb-dri3')
dep_xcb_present = dependency('xcb-present')
# until xcb-dri3 has been around long enough to make a hard-dependency:
Index: mesa-23.3.0/src/loader/meson.build
===================================================================
--- mesa-23.3.0.orig/src/loader/meson.build
+++ mesa-23.3.0/src/loader/meson.build
@@ -47,6 +47,6 @@ libloader = static_library(
c_args : loader_c_args,
gnu_symbol_visibility : 'hidden',
include_directories : [inc_include, inc_src, inc_util],
- dependencies : [dep_libdrm, dep_thread, dep_xcb_xrandr],
+ dependencies : [dep_libdrm, dep_thread, dep_xcb_xrandr, dep_xcb],
build_by_default : false,
)

View File

@ -0,0 +1,42 @@
Index: mesa-23.0.0/include/CL/cl_platform.h
===================================================================
--- mesa-23.0.0.orig/include/CL/cl_platform.h
+++ mesa-23.0.0/include/CL/cl_platform.h
@@ -385,7 +385,9 @@ typedef unsigned int cl_GLenum;
/* Define basic vector types */
#if defined( __VEC__ )
#if !defined(__clang__)
+ #ifndef __cplusplus
#include <altivec.h> /* may be omitted depending on compiler. AltiVec spec provides no way to detect whether the header is required. */
+ #endif
#endif
typedef __vector unsigned char __cl_uchar16;
typedef __vector signed char __cl_char16;
Index: mesa-23.0.0/src/gallium/drivers/llvmpipe/lp_rast_tri.c
===================================================================
--- mesa-23.0.0.orig/src/gallium/drivers/llvmpipe/lp_rast_tri.c
+++ mesa-23.0.0/src/gallium/drivers/llvmpipe/lp_rast_tri.c
@@ -488,7 +488,9 @@ lp_rast_triangle_32_3_4(struct lp_raster
#if defined(_ARCH_PWR8) && UTIL_ARCH_LITTLE_ENDIAN
+#ifndef __cplusplus
#include <altivec.h>
+#endif
#include "util/u_pwr8.h"
static inline void
Index: mesa-23.0.0/src/gallium/drivers/llvmpipe/lp_setup_tri.c
===================================================================
--- mesa-23.0.0.orig/src/gallium/drivers/llvmpipe/lp_setup_tri.c
+++ mesa-23.0.0/src/gallium/drivers/llvmpipe/lp_setup_tri.c
@@ -46,7 +46,9 @@
#if DETECT_ARCH_SSE
#include <emmintrin.h>
#elif defined(_ARCH_PWR8) && UTIL_ARCH_LITTLE_ENDIAN
+#ifndef __cplusplus
#include <altivec.h>
+#endif
#include "util/u_pwr8.h"
#endif