fb75e5d215
- Update to 18.1.0 - refreshed archlinux_0001-Fix-linkage-against-shared-glapi.patch - add u_intel_anv-make-scripts-python-2-3-compat.patch for build ANV with python * Vulkan 1.1 support for the ANV and RADV drivers. * RadeonSI and RADV have "Vega M" GPU support for Kabylake G processors * A simple Gallium3D HUD option as an alternative to the advanced heads-up display * There is also now Vega 12 support too. * For new hardware support on the Intel side are the initial bits for Intel Icelake. * The Intel driver stack has meanwhile landed more SPIR-V bits towards OpenGL 4.6. * The Intel ANV driver has received new extensions too as well as enabling features like MSAA fast clears. * VP9 VA-API support for VCN and HEVC Main for VCN - Raven Ridge CPUs. * DRI3 1.1/1.2 support for going with the soon-to-be-out X.Org Server 1.20. * Etnaviv performance counter support when paired with the latest Etnaviv DRM in the mainline kernel. * The last-year-GSoC'ed OpenMAX Tizonia H.264 encoder/decoder. * UVD-based HEVC video encoding. * OpenGL 3.1 ARB_compatibility support for the major Gallium3D drivers. * RadeonSI 32-bit pointers support. * The Intel GLSL shader cache is enabled by default. * Nouveau NVC0 meanwhile finally has ARB_bindless_texture support. * On the old hardware front, R600g is now effectively at OpenGL 4.4 for the Radeon HD 5800/6900 series. - Update to 18.1.0 - refreshed archlinux_0001-Fix-linkage-against-shared-glapi.patch OBS-URL: https://build.opensuse.org/request/show/610642 OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=745
139 lines
4.7 KiB
Diff
139 lines
4.7 KiB
Diff
Index: mesa-18.1.0-rc1/src/intel/vulkan/anv_extensions.py
|
|
===================================================================
|
|
--- mesa-18.1.0-rc1.orig/src/intel/vulkan/anv_extensions.py
|
|
+++ mesa-18.1.0-rc1/src/intel/vulkan/anv_extensions.py
|
|
@@ -29,13 +29,15 @@ import copy
|
|
import re
|
|
import xml.etree.cElementTree as et
|
|
|
|
+
|
|
def _bool_to_c_expr(b):
|
|
if b is True:
|
|
- return 'true';
|
|
+ return 'true'
|
|
elif b is False:
|
|
- return 'false';
|
|
+ return 'false'
|
|
else:
|
|
- return b;
|
|
+ return b
|
|
+
|
|
|
|
class Extension:
|
|
def __init__(self, name, ext_version, enable):
|
|
@@ -43,11 +45,13 @@ class Extension:
|
|
self.ext_version = int(ext_version)
|
|
self.enable = _bool_to_c_expr(enable)
|
|
|
|
+
|
|
class ApiVersion:
|
|
def __init__(self, max_patch_version, enable):
|
|
self.max_patch_version = max_patch_version
|
|
self.enable = _bool_to_c_expr(enable)
|
|
|
|
+
|
|
# Supported API versions. Each one is the maximum patch version for the given
|
|
# version. Version come in increasing order and each version is available if
|
|
# it's provided "enable" condition is true and all previous versions are
|
|
@@ -60,7 +64,7 @@ API_VERSIONS = [
|
|
ApiVersion('1.1.0', 'device->has_syncobj_wait'),
|
|
]
|
|
|
|
-MAX_API_VERSION = None # Computed later
|
|
+MAX_API_VERSION = None # Computed later
|
|
|
|
# On Android, we disable all surface and swapchain extensions. Android's Vulkan
|
|
# loader implements VK_KHR_surface and VK_KHR_swapchain, and applications
|
|
@@ -113,6 +117,7 @@ EXTENSIONS = [
|
|
'device->has_context_priority'),
|
|
]
|
|
|
|
+
|
|
class VkVersion:
|
|
def __init__(self, string):
|
|
split = string.split('.')
|
|
@@ -146,14 +151,59 @@ class VkVersion:
|
|
patch = self.patch if self.patch is not None else 0
|
|
return (self.major << 22) | (self.minor << 12) | patch
|
|
|
|
- def __cmp__(self, other):
|
|
+ def __eq__(self, other):
|
|
+ # If only one of them has a patch version, "ignore" it by making
|
|
+ # other's patch version match self.
|
|
+ if (self.patch is None) != (other.patch is None):
|
|
+ other = copy.copy(other)
|
|
+ other.patch = self.patch
|
|
+
|
|
+ return self.__int_ver() == other.__int_ver()
|
|
+
|
|
+ def __ne__(self, other):
|
|
+ # If only one of them has a patch version, "ignore" it by making
|
|
+ # other's patch version match self.
|
|
+ if (self.patch is None) != (other.patch is None):
|
|
+ other = copy.copy(other)
|
|
+ other.patch = self.patch
|
|
+
|
|
+ return self.__int_ver() != other.__int_ver()
|
|
+
|
|
+ def __lt__(self, other):
|
|
+ # If only one of them has a patch version, "ignore" it by making
|
|
+ # other's patch version match self.
|
|
+ if (self.patch is None) != (other.patch is None):
|
|
+ other = copy.copy(other)
|
|
+ other.patch = self.patch
|
|
+
|
|
+ return self.__int_ver() < other.__int_ver()
|
|
+
|
|
+ def __le__(self, other):
|
|
+ # If only one of them has a patch version, "ignore" it by making
|
|
+ # other's patch version match self.
|
|
+ if (self.patch is None) != (other.patch is None):
|
|
+ other = copy.copy(other)
|
|
+ other.patch = self.patch
|
|
+
|
|
+ return self.__int_ver() <= other.__int_ver()
|
|
+
|
|
+ def __ge__(self, other):
|
|
+ # If only one of them has a patch version, "ignore" it by making
|
|
+ # other's patch version match self.
|
|
+ if (self.patch is None) != (other.patch is None):
|
|
+ other = copy.copy(other)
|
|
+ other.patch = self.patch
|
|
+
|
|
+ return self.__int_ver() >= other.__int_ver()
|
|
+
|
|
+ def __gt__(self, other):
|
|
# If only one of them has a patch version, "ignore" it by making
|
|
# other's patch version match self.
|
|
if (self.patch is None) != (other.patch is None):
|
|
other = copy.copy(other)
|
|
other.patch = self.patch
|
|
|
|
- return self.__int_ver().__cmp__(other.__int_ver())
|
|
+ return self.__int_ver() > other.__int_ver()
|
|
|
|
|
|
MAX_API_VERSION = VkVersion('0.0.0')
|
|
Index: mesa-18.1.0-rc1/src/intel/vulkan/anv_entrypoints_gen.py
|
|
===================================================================
|
|
--- mesa-18.1.0-rc1.orig/src/intel/vulkan/anv_entrypoints_gen.py
|
|
+++ mesa-18.1.0-rc1/src/intel/vulkan/anv_entrypoints_gen.py
|
|
@@ -145,7 +145,7 @@ static const struct string_map_entry str
|
|
/* Hash table stats:
|
|
* size ${len(strmap.sorted_strings)} entries
|
|
* collisions entries:
|
|
-% for i in xrange(10):
|
|
+% for i in range(10):
|
|
* ${i}${'+' if i == 9 else ' '} ${strmap.collisions[i]}
|
|
% endfor
|
|
*/
|
|
@@ -507,7 +507,7 @@ def get_entrypoints(doc, entrypoints_to_
|
|
assert e.core_version is None
|
|
e.extensions.append(ext)
|
|
|
|
- return [e for e in entrypoints.itervalues() if e.enabled]
|
|
+ return [e for e in entrypoints.values() if e.enabled]
|
|
|
|
|
|
def get_entrypoints_defines(doc):
|