Mesa (master): android: enable VK_ANDROID_native_buffer

2018-05-20 Thread Tapani Pälli
Module: Mesa
Branch: master
Commit: 63525ba730e3d8a466d7f6382a2b91f4c75dd171
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=63525ba730e3d8a466d7f6382a2b91f4c75dd171

Author: Tapani Pälli 
Date:   Wed May 16 08:38:50 2018 +0300

android: enable VK_ANDROID_native_buffer

Patch changes entrypoints generator to not skip this extension even
though it is set as disabled in the xml. We also need compilation
flag VK_USE_PLATFORM_ANDROID_KHR to be enabled.

It looks like this extension got disabled in commit 69f447553c.

v2: just remove the whole 'supported' attrib check + remove
vk_icd.h compilation fix (fix in VulkanHeaders instead)

Signed-off-by: Tapani Pälli 
Reviewed-by: Jason Ekstrand 

---

 Android.common.mk   | 1 +
 src/intel/vulkan/anv_entrypoints_gen.py | 3 ---
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/Android.common.mk b/Android.common.mk
index e8aed48c31..999e17789b 100644
--- a/Android.common.mk
+++ b/Android.common.mk
@@ -73,6 +73,7 @@ LOCAL_CFLAGS += \
-DHAVE_ENDIAN_H \
-DHAVE_ZLIB \
-DMAJOR_IN_SYSMACROS \
+   -DVK_USE_PLATFORM_ANDROID_KHR \
-fvisibility=hidden \
-Wno-sign-compare
 
diff --git a/src/intel/vulkan/anv_entrypoints_gen.py 
b/src/intel/vulkan/anv_entrypoints_gen.py
index d603ac1b20..230671d36a 100644
--- a/src/intel/vulkan/anv_entrypoints_gen.py
+++ b/src/intel/vulkan/anv_entrypoints_gen.py
@@ -495,9 +495,6 @@ def get_entrypoints(doc, entrypoints_to_defines, 
start_index):
 if ext_name not in supported_exts:
 continue
 
-if extension.attrib['supported'] != 'vulkan':
-continue
-
 ext = supported_exts[ext_name]
 ext.type = extension.attrib['type']
 

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): vulkan: update vk_icd.h to current upstream

2018-05-20 Thread Tapani Pälli
Module: Mesa
Branch: master
Commit: 437acae704337120c23a365b3d9aad92213cf500
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=437acae704337120c23a365b3d9aad92213cf500

Author: Tapani Pälli 
Date:   Fri May 18 08:01:39 2018 +0300

vulkan: update vk_icd.h to current upstream

Import from commit eb0c1fd on branch 'master'
of https://github.com/KhronosGroup/Vulkan-Headers.git.

Signed-off-by: Tapani Pälli 
Acked-by: Jason Ekstrand 

---

 include/vulkan/vk_icd.h | 67 ++---
 1 file changed, 53 insertions(+), 14 deletions(-)

diff --git a/include/vulkan/vk_icd.h b/include/vulkan/vk_icd.h
index 7b54fb5774..b935fa1786 100644
--- a/include/vulkan/vk_icd.h
+++ b/include/vulkan/vk_icd.h
@@ -24,13 +24,34 @@
 #define VKICD_H
 
 #include "vulkan.h"
-
-/*
- * Loader-ICD version negotiation API
- */
-#define CURRENT_LOADER_ICD_INTERFACE_VERSION 3
+#include 
+
+// Loader-ICD version negotiation API.  Versions add the following features:
+//   Version 0 - Initial.  Doesn't support vk_icdGetInstanceProcAddr
+//   or vk_icdNegotiateLoaderICDInterfaceVersion.
+//   Version 1 - Add support for vk_icdGetInstanceProcAddr.
+//   Version 2 - Add Loader/ICD Interface version negotiation
+//   via vk_icdNegotiateLoaderICDInterfaceVersion.
+//   Version 3 - Add ICD creation/destruction of KHR_surface objects.
+//   Version 4 - Add unknown physical device extension qyering via
+//   vk_icdGetPhysicalDeviceProcAddr.
+//   Version 5 - Tells ICDs that the loader is now paying attention to the
+//   application version of Vulkan passed into the ApplicationInfo
+//   structure during vkCreateInstance.  This will tell the ICD
+//   that if the loader is older, it should automatically fail a
+//   call for any API version > 1.0.  Otherwise, the loader will
+//   manually determine if it can support the expected version.
+#define CURRENT_LOADER_ICD_INTERFACE_VERSION 5
 #define MIN_SUPPORTED_LOADER_ICD_INTERFACE_VERSION 0
-typedef VkResult (VKAPI_PTR 
*PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t *pVersion);
+#define MIN_PHYS_DEV_EXTENSION_ICD_INTERFACE_VERSION 4
+typedef VkResult(VKAPI_PTR *PFN_vkNegotiateLoaderICDInterfaceVersion)(uint32_t 
*pVersion);
+
+// This is defined in vk_layer.h which will be found by the loader, but if an 
ICD is building against this
+// file directly, it won't be found.
+#ifndef PFN_GetPhysicalDeviceProcAddr
+typedef PFN_vkVoidFunction(VKAPI_PTR 
*PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char *pName);
+#endif
+
 /*
  * The ICD must reserve space for a pointer for the loader's dispatch
  * table, at the start of .
@@ -64,6 +85,9 @@ typedef enum {
 VK_ICD_WSI_PLATFORM_WIN32,
 VK_ICD_WSI_PLATFORM_XCB,
 VK_ICD_WSI_PLATFORM_XLIB,
+VK_ICD_WSI_PLATFORM_ANDROID,
+VK_ICD_WSI_PLATFORM_MACOS,
+VK_ICD_WSI_PLATFORM_IOS,
 VK_ICD_WSI_PLATFORM_DISPLAY
 } VkIcdWsiPlatform;
 
@@ -77,7 +101,7 @@ typedef struct {
 MirConnection *connection;
 MirSurface *mirSurface;
 } VkIcdSurfaceMir;
-#endif // VK_USE_PLATFORM_MIR_KHR
+#endif  // VK_USE_PLATFORM_MIR_KHR
 
 #ifdef VK_USE_PLATFORM_WAYLAND_KHR
 typedef struct {
@@ -85,7 +109,7 @@ typedef struct {
 struct wl_display *display;
 struct wl_surface *surface;
 } VkIcdSurfaceWayland;
-#endif // VK_USE_PLATFORM_WAYLAND_KHR
+#endif  // VK_USE_PLATFORM_WAYLAND_KHR
 
 #ifdef VK_USE_PLATFORM_WIN32_KHR
 typedef struct {
@@ -93,7 +117,7 @@ typedef struct {
 HINSTANCE hinstance;
 HWND hwnd;
 } VkIcdSurfaceWin32;
-#endif // VK_USE_PLATFORM_WIN32_KHR
+#endif  // VK_USE_PLATFORM_WIN32_KHR
 
 #ifdef VK_USE_PLATFORM_XCB_KHR
 typedef struct {
@@ -101,7 +125,7 @@ typedef struct {
 xcb_connection_t *connection;
 xcb_window_t window;
 } VkIcdSurfaceXcb;
-#endif // VK_USE_PLATFORM_XCB_KHR
+#endif  // VK_USE_PLATFORM_XCB_KHR
 
 #ifdef VK_USE_PLATFORM_XLIB_KHR
 typedef struct {
@@ -109,13 +133,28 @@ typedef struct {
 Display *dpy;
 Window window;
 } VkIcdSurfaceXlib;
-#endif // VK_USE_PLATFORM_XLIB_KHR
+#endif  // VK_USE_PLATFORM_XLIB_KHR
 
 #ifdef VK_USE_PLATFORM_ANDROID_KHR
 typedef struct {
-ANativeWindow* window;
+VkIcdSurfaceBase base;
+struct ANativeWindow *window;
 } VkIcdSurfaceAndroid;
-#endif //VK_USE_PLATFORM_ANDROID_KHR
+#endif  // VK_USE_PLATFORM_ANDROID_KHR
+
+#ifdef VK_USE_PLATFORM_MACOS_MVK
+typedef struct {
+VkIcdSurfaceBase base;
+const void *pView;
+} VkIcdSurfaceMacOS;
+#endif  // VK_USE_PLATFORM_MACOS_MVK
+
+#ifdef VK_USE_PLATFORM_IOS_MVK
+typedef struct {
+VkIcdSurfaceBase base;
+const void *pView;
+} VkIcdSurfaceIOS;
+#endif  // VK_USE_PLATFORM_IOS_MVK
 
 typedef struct {
 VkIcdSurfaceBase base;
@@ -128,4 +167,4 @@ typedef struct {
 VkExtent2D imageExtent;
 } VkIcdSurfaceDisplay;
 
-#endif // VKICD_H
+#endif  // VKICD_H

___
mesa-commit mailing list
mesa-commit@lists.freedesk

Mesa (master): virgl: set texture buffer offset alignment to disable ARB_texture_buffer_range.

2018-05-20 Thread Dave Airlie
Module: Mesa
Branch: master
Commit: bfa74bb44ddf3e81dedf9af28f86110dfd47dc45
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfa74bb44ddf3e81dedf9af28f86110dfd47dc45

Author: Dave Airlie 
Date:   Fri May 18 10:44:27 2018 +1000

virgl: set texture buffer offset alignment to disable ARB_texture_buffer_range.

The host side hasn't got support for this feature yet, so don't enable it
unless we get the caps from the host.

This makes the texture buffer range piglit tests skip now.

Fixes: fe0647df5a7 (virgl: add offset alignment values to to v2 caps struct)
Reviewed-by: Gurchetan Singh 

---

 src/gallium/drivers/virgl/virgl_winsys.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/virgl/virgl_winsys.h 
b/src/gallium/drivers/virgl/virgl_winsys.h
index 99e98ad9c9..690e610e19 100644
--- a/src/gallium/drivers/virgl/virgl_winsys.h
+++ b/src/gallium/drivers/virgl/virgl_winsys.h
@@ -132,7 +132,7 @@ static inline void virgl_ws_fill_new_caps_defaults(struct 
virgl_drm_caps *caps)
caps->caps.v2.max_texel_offset = 7;
caps->caps.v2.min_texture_gather_offset = -8;
caps->caps.v2.max_texture_gather_offset = 7;
-   caps->caps.v2.texture_buffer_offset_alignment = 32;
+   caps->caps.v2.texture_buffer_offset_alignment = 0;
caps->caps.v2.uniform_buffer_offset_alignment = 256;
 }
 #endif

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): mesa: stop hiding query parameters from OpenGL compat

2018-05-20 Thread Timothy Arceri
Module: Mesa
Branch: master
Commit: 2e6c987a85f96dd96da17b50526e7c0cb5adb5f1
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e6c987a85f96dd96da17b50526e7c0cb5adb5f1

Author: Timothy Arceri 
Date:   Fri May 18 12:36:05 2018 +1000

mesa: stop hiding query parameters from OpenGL compat

Just let the extension detection do its job as we will be adding
compat profile support in future, also we want these to work
with compat profile version overrides.

Reviewed-by: Marek Olšák 

---

 src/mesa/main/get_hash_params.py | 21 +++--
 1 file changed, 7 insertions(+), 14 deletions(-)

diff --git a/src/mesa/main/get_hash_params.py b/src/mesa/main/get_hash_params.py
index 4bbda93b31..7e14cf51f5 100644
--- a/src/mesa/main/get_hash_params.py
+++ b/src/mesa/main/get_hash_params.py
@@ -451,6 +451,11 @@ descriptor=[
   [ "MAX_WINDOW_RECTANGLES_EXT", "CONTEXT_INT(Const.MaxWindowRectangles), 
extra_EXT_window_rectangles" ],
   [ "NUM_WINDOW_RECTANGLES_EXT", "CONTEXT_INT(Scissor.NumWindowRects), 
extra_EXT_window_rectangles" ],
   [ "WINDOW_RECTANGLE_MODE_EXT", "CONTEXT_ENUM16(Scissor.WindowRectMode), 
extra_EXT_window_rectangles" ],
+
+  # GL_ARB_gpu_shader5 / GL_OES_shader_multisample_interpolation
+  [ "MIN_FRAGMENT_INTERPOLATION_OFFSET", 
"CONTEXT_FLOAT(Const.MinFragmentInterpolationOffset), 
extra_ARB_gpu_shader5_or_OES_sample_variables" ],
+  [ "MAX_FRAGMENT_INTERPOLATION_OFFSET", 
"CONTEXT_FLOAT(Const.MaxFragmentInterpolationOffset), 
extra_ARB_gpu_shader5_or_OES_sample_variables" ],
+  [ "FRAGMENT_INTERPOLATION_OFFSET_BITS", 
"CONST(FRAGMENT_INTERPOLATION_OFFSET_BITS), 
extra_ARB_gpu_shader5_or_OES_sample_variables" ],
 ]},
 
 { "apis": ["GLES", "GLES2"], "params": [
@@ -558,18 +563,7 @@ descriptor=[
 
   # GL_NUM_SHADING_LANGUAGE_VERSIONS
   [ "NUM_SHADING_LANGUAGE_VERSIONS", "LOC_CUSTOM, TYPE_INT, 0, 
extra_version_43" ],
-]},
 
-# Enums in OpenGL Core profile and ES 3.0
-{ "apis": ["GL_CORE", "GLES3"], "params": [
-  # GL_ARB_gpu_shader5 / GL_OES_shader_multisample_interpolation
-  [ "MIN_FRAGMENT_INTERPOLATION_OFFSET", 
"CONTEXT_FLOAT(Const.MinFragmentInterpolationOffset), 
extra_ARB_gpu_shader5_or_OES_sample_variables" ],
-  [ "MAX_FRAGMENT_INTERPOLATION_OFFSET", 
"CONTEXT_FLOAT(Const.MaxFragmentInterpolationOffset), 
extra_ARB_gpu_shader5_or_OES_sample_variables" ],
-  [ "FRAGMENT_INTERPOLATION_OFFSET_BITS", 
"CONST(FRAGMENT_INTERPOLATION_OFFSET_BITS), 
extra_ARB_gpu_shader5_or_OES_sample_variables" ],
-]},
-
-# Enums in OpenGL Core profile and ES 3.1
-{ "apis": ["GL_CORE", "GLES31"], "params": [
 # GL_ARB_draw_indirect / GLES 3.1
   [ "DRAW_INDIRECT_BUFFER_BINDING", "LOC_CUSTOM, TYPE_INT, 0, 
extra_ARB_draw_indirect" ],
 
@@ -650,12 +644,11 @@ descriptor=[
   [ "CONSERVATIVE_RASTERIZATION_INTEL", 
"CONTEXT_BOOL(IntelConservativeRasterization), 
extra_INTEL_conservative_rasterization" ],
 ]},
 
-{ "apis": ["GL_CORE", "GLES32"], "params": [
+# Enums in OpenGL and ES 3.2
+{ "apis": ["GL", "GL_CORE", "GLES32"], "params": [
   [ "MULTISAMPLE_LINE_WIDTH_RANGE_ARB", "CONTEXT_FLOAT2(Const.MinLineWidthAA), 
extra_ES32" ],
   [ "MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB", 
"CONTEXT_FLOAT(Const.LineWidthGranularity), extra_ES32" ],
-]},
 
-{ "apis": ["GL", "GL_CORE", "GLES32"], "params": [
 # GL 3.0 or ES 3.2
   [ "CONTEXT_FLAGS", "CONTEXT_INT(Const.ContextFlags), extra_version_30" ],
 ]},

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): radv: fix VK_EXT_descriptor_indexing

2018-05-20 Thread Bas Nieuwenhuizen
Module: Mesa
Branch: master
Commit: 549e54270ba3a519b46a1fbffa4aa6b628a052d3
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=549e54270ba3a519b46a1fbffa4aa6b628a052d3

Author: Christoph Haag 
Date:   Sun May 20 13:21:13 2018 +0200

radv: fix VK_EXT_descriptor_indexing

GetPhysicalDeviceProperties2KHR() was crashing because features was null

Fixes: 0e10790558b "radv: Enable VK_EXT_descriptor_indexing."
CC: 18.1 
Reviewed-by: Bas Nieuwenhuizen 

---

 src/amd/vulkan/radv_device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index c52b3a591f..d6abab338e 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -731,7 +731,7 @@ void radv_GetPhysicalDeviceFeatures2(
}
case 
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT: {
VkPhysicalDeviceDescriptorIndexingFeaturesEXT *features 
=
-   
(VkPhysicalDeviceDescriptorIndexingFeaturesEXT*)features;
+   
(VkPhysicalDeviceDescriptorIndexingFeaturesEXT*)ext;
features->shaderInputAttachmentArrayDynamicIndexing = 
true;
features->shaderUniformTexelBufferArrayDynamicIndexing 
= true;
features->shaderStorageTexelBufferArrayDynamicIndexing 
= true;

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): ac/surface: Only align linear power of two fmt textures.

2018-05-20 Thread Bas Nieuwenhuizen
Module: Mesa
Branch: master
Commit: a1c87235a9d077b32094725ad7ea3b9919743c9f
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1c87235a9d077b32094725ad7ea3b9919743c9f

Author: Bas Nieuwenhuizen 
Date:   Sat May 19 01:03:57 2018 +0200

ac/surface: Only align linear power of two fmt textures.

We're not sharing 32_32_32 formats between different GPUs, so we
do not have to align for vega on pre-vega cards.

Fixes: e361970ed73 "radv: Add support for IMG_DATA_FORMAT_32_32_32."
Reviewed-by: Marek Olšák 

---

 src/amd/common/ac_surface.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
index 9e742dc8a4..d7da995025 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -301,10 +301,10 @@ static int gfx6_compute_level(ADDR_HANDLE addrlib,
 */
if (config->info.levels == 1 &&
AddrSurfInfoIn->tileMode == ADDR_TM_LINEAR_ALIGNED &&
-   AddrSurfInfoIn->bpp) {
+   AddrSurfInfoIn->bpp &&
+   util_is_power_of_two_or_zero(AddrSurfInfoIn->bpp)) {
unsigned alignment = 256 / (AddrSurfInfoIn->bpp / 8);
 
-   assert(util_is_power_of_two_or_zero(AddrSurfInfoIn->bpp));
AddrSurfInfoIn->width = align(AddrSurfInfoIn->width, alignment);
}
 

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit


Mesa (master): amd/addrlib: Use defines in autotools build.

2018-05-20 Thread Bas Nieuwenhuizen
Module: Mesa
Branch: master
Commit: 62e0e089d710835d9f79138377bcc37147f75ebd
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=62e0e089d710835d9f79138377bcc37147f75ebd

Author: Bas Nieuwenhuizen 
Date:   Mon May 14 17:38:36 2018 +0200

amd/addrlib: Use defines in autotools build.

Otherwise stuff like NDEBUG would not be passed through.

CC: 
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106479
Reviewed-by: Marek Olšák 

---

 src/amd/Makefile.addrlib.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/amd/Makefile.addrlib.am b/src/amd/Makefile.addrlib.am
index 322a5c8697..75ff7fbcf7 100644
--- a/src/amd/Makefile.addrlib.am
+++ b/src/amd/Makefile.addrlib.am
@@ -22,6 +22,7 @@
 ADDRLIB_LIBS = addrlib/libamdgpu_addrlib.la
 
 addrlib_libamdgpu_addrlib_la_CPPFLAGS = \
+   $(DEFINES) \
-I$(top_srcdir)/src/ \
-I$(srcdir)/common \
-I$(srcdir)/addrlib \

___
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit