platform/core/uifw/vulkan-wsi-tizen.git
6 years agowsi: Removed unnecessary referencing. 36/163536/1 accepted/tizen/unified/20171228.065020 submit/tizen/20171227.062232
joonbum.ko [Tue, 12 Dec 2017 02:40:39 +0000 (11:40 +0900)]
wsi: Removed unnecessary referencing.

Change-Id: Ie5d1971ac546ebc9de4286edfb0cdc430eb03493
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
6 years agowsi: Changed to use TPL_BACKEND_WAYLAND_VULKAN_WSI_THREAD. 84/161984/1
joonbum.ko [Tue, 28 Nov 2017 10:19:41 +0000 (19:19 +0900)]
wsi: Changed to use TPL_BACKEND_WAYLAND_VULKAN_WSI_THREAD.

Change-Id: Id7eeafbf2afed5e9d9a858a586a8c0dc492c38de
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
6 years agoswapchain_tpl: Modified tpl_object to be retained during swapchain re-creating. 83/161983/1
joonbum.ko [Tue, 14 Nov 2017 02:40:35 +0000 (11:40 +0900)]
swapchain_tpl: Modified tpl_object to be retained during swapchain re-creating.

Change-Id: I9a7b1ae0b5550864d36a61f1e67f842866d1770c
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
6 years agowsi: Fixed ref count management in tpl_display. 82/161982/1
joonbum.ko [Tue, 14 Nov 2017 02:21:41 +0000 (11:21 +0900)]
wsi: Fixed ref count management in tpl_display.

Change-Id: I6d66fad20251e84b6b2c2566c9a6d59c5a4c29cf
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
6 years agoswapchain_tpl: Added handling error case when acquire next buffer. 81/161981/1
joonbum.ko [Tue, 14 Nov 2017 02:10:17 +0000 (11:10 +0900)]
swapchain_tpl: Added handling error case when acquire next buffer.

Change-Id: I99b87e0185e3801cf4c06cdfce3fd3dfecb1b465
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
6 years agoswapchain: Added exception checking for error case. 80/161980/1
joonbum.ko [Tue, 14 Nov 2017 02:08:24 +0000 (11:08 +0900)]
swapchain: Added exception checking for error case.

Change-Id: Ib7453fa7f8430e3e0d88921aa7c2fd6928747d79
Signed-off-by: joonbum.ko <joonbum.ko@samsung.com>
6 years agoHandle the case when the input swapchain is NULL 93/149693/4
xuelian.bai [Wed, 13 Sep 2017 10:01:14 +0000 (18:01 +0800)]
Handle the case when the input swapchain is NULL

Change-Id: If213af9a7bddeffa9a0608b2d709a91580bfdef3
Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
Reviewed-by: Hoyub Lee <hoyub.lee@samsung.com>
6 years ago[HOTFIX] Avoid duplication of surface_formats in querying 62/148862/2
xuelian.bai [Mon, 11 Sep 2017 13:03:25 +0000 (21:03 +0800)]
[HOTFIX] Avoid duplication of surface_formats in querying

Currently, tbm formats and vulkan formats are not mapped perfectly.
By this, in querying supported formats with tpl_get_surface_formats(),
duplication occurs in supported formats.

Therefore, apply hotfix to avoid duplicated results.

Change-Id: I28474c462276d1549142ae2300695b1680e59832
Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
7 years agowsi: Correct getting tpl_display in vk_get_tpl_display() 34/130034/1 tizen_4.0 submit/submit/tizen/20170906.070327/20170906.070422 submit/tizen/20170920.051244
Hoyub Lee [Thu, 18 May 2017 11:36:09 +0000 (20:36 +0900)]
wsi: Correct getting tpl_display in vk_get_tpl_display()

tpl_display_create() has been changed to [return existing tpl_display] from
[return NULL] if there is already existing one.

Therefore, this patch applies this behaviour change on vk_get_tpl_display().

Change-Id: I355b251d43e6e0e54b89aa533d43f33ada997017
Signed-off-by: Hoyub Lee <hoyub.lee@samsung.com>
7 years agouse %license macro to copy the COPYING file. 43/120243/1
SooChan Lim [Wed, 22 Mar 2017 06:50:22 +0000 (15:50 +0900)]
use %license macro to copy the COPYING file.

Change-Id: I1ad8ab5bddc76a80365f04f17a0378d960a53030

7 years agotbm_queue_surface: modified tbm_queue_surface related funcs 99/104799/3
deasung.kim [Wed, 14 Dec 2016 09:38:15 +0000 (18:38 +0900)]
tbm_queue_surface: modified tbm_queue_surface related funcs

handle new WSI surface type VK_ICD_WSI_PLATFORM_TBM_QUEUE

Change-Id: I68c796ee1743902920a5ee5e481f0e97ea2a943a

7 years agotbm_queue_surface : implement vkCreateTBMQueueSurfaceKHR 98/104798/3
deasung.kim [Wed, 14 Dec 2016 09:32:29 +0000 (18:32 +0900)]
tbm_queue_surface : implement vkCreateTBMQueueSurfaceKHR

added vk_tbm_queue_surface structure

Change-Id: I3b2da3bf4d90d93c0247dc7332872b8a21747cd4

7 years agovk_tizen: added new function prototype for tpl_tbm support 97/104797/3
deasung.kim [Wed, 14 Dec 2016 09:08:20 +0000 (18:08 +0900)]
vk_tizen: added new function prototype for tpl_tbm support

VKAPI_ATTR VkResult VKAPI_CALL vkCreateTBMQueueSurfaceKHR(VkInstance instance,
  const tbm_bufmgr bufmgr,
  const tbm_surface_queue_h queue,
  const VkAllocationCallbacks *pAllocator,
  VkSurfaceKHR *surface);

Change-Id: I0d3acaf8fbaa985dee34be64a2906da239eb9b07

7 years agoswapchain_tdm: added restore tdm dpms when swapchain destroy 87/102987/2
deasung.kim [Wed, 16 Nov 2016 09:15:46 +0000 (18:15 +0900)]
swapchain_tdm: added restore tdm dpms when swapchain destroy

get dpms value in swapchain create
use this value in swapchain destroy

Change-Id: Ia78adc4c1cad9bd501dee3f815f8f1a0d788aba1

7 years agosurface: fix segfault when tdm display init failed 86/102986/2
deasung.kim [Tue, 1 Nov 2016 05:14:24 +0000 (14:14 +0900)]
surface: fix segfault when tdm display init failed

if tdm display init failed and app use display surface
then occur segfault in surface funcs

Change-Id: I2559e7df32196b20f5efe00e46e1bf19ca29e11c

7 years agoswapchain: added swapchain tdm backend 85/102985/2
deasung.kim [Tue, 1 Nov 2016 04:53:41 +0000 (13:53 +0900)]
swapchain: added swapchain tdm backend

implement swapchain tdm backend

Change-Id: I9b5cabff2232b495082a512645d849468ba5700e

7 years agoswapchain: separated swapchain.c 84/102984/2
deasung.kim [Tue, 1 Nov 2016 04:35:24 +0000 (13:35 +0900)]
swapchain: separated swapchain.c

modified vk_swapchain_t
added backend data
added backend funcs
added swapchain_tpl.c for tpl_backend

Change-Id: I4a3bd967df1e7afc0b0f91d14fd11ca29b135804

7 years agosurface: impliment VkIcdSurfaceDisplay(tdm) 83/102983/2
deasung.kim [Wed, 19 Oct 2016 07:17:05 +0000 (16:17 +0900)]
surface: impliment VkIcdSurfaceDisplay(tdm)

separated tpl/tdm backends

Change-Id: I4b11f53587302129edc706716a9919644a37500d

7 years agodisplay: implement vk_CreateDisplayModeKHR 82/102982/2
deasung.kim [Wed, 19 Oct 2016 09:08:44 +0000 (18:08 +0900)]
display: implement vk_CreateDisplayModeKHR

need review vk_display_t.custom_modes

Change-Id: I5879fbc936b6b6aacc75571bf647445b5fa06b70

7 years agodisplay: fill some TODO in add_tdm_output 81/102981/2
deasung.kim [Wed, 19 Oct 2016 09:10:24 +0000 (18:10 +0900)]
display: fill some TODO in add_tdm_output

physical size and some error check
some tdm_output has no mode
call physical_display_init on constructure

Change-Id: I203dc383659e67292e614ffd64e8ef12c7be5d01

7 years agodisplay: implement vk_GetDisplayPlaneCapabilitiesKHR 80/102980/2
deasung.kim [Thu, 20 Oct 2016 04:34:48 +0000 (13:34 +0900)]
display: implement vk_GetDisplayPlaneCapabilitiesKHR

plz check srcXXXX means

Change-Id: I63bdfac58daddb20062f3818e1a594a47861fe39

7 years agowsi: Basic display surface implementation 75/102975/2
Taekyun Kim [Mon, 10 Oct 2016 05:42:30 +0000 (14:42 +0900)]
wsi: Basic display surface implementation

Change-Id: I77331a48df659b0a775e82a3e693e8243d2ea90d

7 years agowsi: Skeletal code for VkDisplaySurfaceKHR 74/102974/2
Taekyun Kim [Tue, 4 Oct 2016 11:32:16 +0000 (20:32 +0900)]
wsi: Skeletal code for VkDisplaySurfaceKHR

Change-Id: I5c7c66721883a6309aefce211f0aa2edee65c79b

7 years agonulldrv: Fix warnings on strict aliasing rules 73/102973/2
Taekyun Kim [Wed, 28 Sep 2016 06:37:17 +0000 (15:37 +0900)]
nulldrv: Fix warnings on strict aliasing rules

Change-Id: Idd0afa6f96cc1ee71887bae390a47a4cd1337c26

7 years agowsi: Wrapper object for VkPhysicalDevice 72/102972/2
Taekyun Kim [Wed, 28 Sep 2016 06:36:27 +0000 (15:36 +0900)]
wsi: Wrapper object for VkPhysicalDevice

Change-Id: I88ff8018277ce407f1014370e28ccec0d01757a9

7 years agowsi: Removed unnecessary #include 71/102971/2
Taekyun Kim [Wed, 28 Sep 2016 05:35:37 +0000 (14:35 +0900)]
wsi: Removed unnecessary #include

Change-Id: I27898e2278a135a703ada47e6ab27d0bceec870d

7 years agoBuild: Fix loading path of vulkan-wsi-tizen.so on vulkan-wsi-tizen.json 09/103209/1
Mun, Gwan-gyeong [Wed, 7 Dec 2016 15:25:48 +0000 (00:25 +0900)]
Build: Fix loading path of vulkan-wsi-tizen.so on vulkan-wsi-tizen.json

 - before: it loads from /usr/lib/vulkan/vulkan-wsi-tizen.so
 - after : 32bit case; /usr/lib/vulkan/vulkan-wsi-tizen.so
           64bit case; /usr/lib64/vulkan/vulkan-wsi-tizen.so

Change-Id: Ibcc13231d216e9c2e892cf2045d54af52803338b
Signed-off-by: Mun, Gwan-gyeong <kk.moon@samsung.com>
7 years agosurface/swapchain: apply present mode 91/89491/4
deasung.kim [Sat, 24 Sep 2016 11:39:32 +0000 (20:39 +0900)]
surface/swapchain: apply present mode

 - use tpl_present_mode
Change-Id: I4269a1a0e8b19449f5276d52a0c9a50145bb327c

7 years agoswapchain: added return case of VK_ERROR_OUT_OF_DEVICE_MEMORY on vk_CreateSwapchainKHR() 51/91251/2
Mun, Gwan-gyeong [Thu, 6 Oct 2016 11:15:45 +0000 (20:15 +0900)]
swapchain: added return case of VK_ERROR_OUT_OF_DEVICE_MEMORY on vk_CreateSwapchainKHR()

Change-Id: I3d7275f1e8d525779a4004f36d8c38756c59cf3a

7 years agosurface: added Temporal maxImageExtent.width / maxImageExtent.height for Tizen 50/91250/1
Mun, Gwan-gyeong [Thu, 6 Oct 2016 11:15:12 +0000 (20:15 +0900)]
surface: added Temporal maxImageExtent.width / maxImageExtent.height for Tizen

Change-Id: I87dc7a5db1b32234aa761dad7c38334fb917baa8

7 years agoswapchain: fix management of tpl_display reference count 01/89101/3
deasung.kim [Thu, 22 Sep 2016 07:09:27 +0000 (16:09 +0900)]
swapchain: fix management of tpl_display reference count

increase reference count of tpl_display when the vulkan-wsi-tizen calls tpl_display_get()
it prevents segfault/abort when the vk_DestroySwapchainKHR is called.

Change-Id: I89e8162bbe63682e7617d1279b83b2af33fed942

7 years agoswapchain: added error handle in create swapchain 65/89065/1
deasung.kim [Thu, 22 Sep 2016 03:40:09 +0000 (12:40 +0900)]
swapchain: added error handle in create swapchain

fix tbm_queue leak - it make segfault in tpl use worker thread model
tpl_surface_get_swapchain_buffers failed
mem alloc failed after tpl_surface_get_swapchain_buffers called

Change-Id: I834ac1bc138787665b87df1cb7f1418c19bf0b07

7 years agoswapchin: change the usage of libtbm_sync api 27/85227/3
deasung.kim [Wed, 24 Aug 2016 08:09:13 +0000 (17:09 +0900)]
swapchin: change the usage of libtbm_sync api

remove tbm_sync objects and use fd
libtbm's sync related api is changed
reference : https://review.tizen.org/gerrit/#/c/85169/

Change-Id: I40264c04f48cb69f30f53ca8031126e3525b1aff

7 years agoextension: remove duplicated extensions in vk_EnumerateDeviceExtensionProperties 91/84991/3
deasung.kim [Tue, 23 Aug 2016 07:30:37 +0000 (16:30 +0900)]
extension: remove duplicated extensions in vk_EnumerateDeviceExtensionProperties

Khronos Vulkan loader removes duplicated extension.
on previous implementation, if vk_EnumerateDeviceExtensionProperties call twice, then returned count is not same between first and second when the extensions has duplicate entry.

this patch eliminates duplicated extensions in vk_EnumerateDeviceExtensionProperties on vulkan-wsi-tizen's internal data structure.
Change-Id: Ie8cb66c45a626f46af040866737359cc046b18dc

7 years agoswapchain: use tpl with sync 06/81006/7
deasung.kim [Thu, 21 Jul 2016 08:55:23 +0000 (17:55 +0900)]
swapchain: use tpl with sync

used new tpl funcs
tpl_surface_dequeue_buffer_with_sync
get sync_fd from tpl(release buffer) and set sync_fd to driver
tpl_surface_enqueue_buffer_with_damage_and_sync
get sync_fd from driver(draw done) and set sync_fd to tpl for use attach/commit
not use damage

Change-Id: I438f6b722ba6e6f33ca45e8ed1c6867efc200996

7 years agoswapchain: fix swapchain image's extent depth value 1 59/74159/1
deasung.kim [Mon, 13 Jun 2016 03:35:35 +0000 (12:35 +0900)]
swapchain: fix swapchain image's extent depth value 1

from https://www.khronos.org/registry/vulkan/specs/1.0-wsi_extensions/xhtml/vkspec.html
31.4.1. Allowed Extent Values Based On Image Type

Change-Id: Iea73e5259a2d320d858bf7b7176f1ec99324a6e3

7 years agoswapchain: fill ImageCreateInfo from SwapchainCreateInfo 58/74158/1
deasung.kim [Fri, 10 Jun 2016 05:48:39 +0000 (14:48 +0900)]
swapchain: fill ImageCreateInfo from SwapchainCreateInfo

Change-Id: I955df19a9428bf99d90eabb2d0663ed641ba9675

7 years agoMerge "tri: inserted shader binary code for test convenience" into tizen
Gwan-gyeong Mun [Fri, 10 Jun 2016 05:44:25 +0000 (22:44 -0700)]
Merge "tri: inserted shader binary code for test convenience" into tizen

7 years agotri: inserted shader binary code for test convenience 95/73895/1
deasung.kim [Fri, 10 Jun 2016 03:48:14 +0000 (12:48 +0900)]
tri: inserted shader binary code for test convenience

Change-Id: I5bbadbb947765f472581abe922a26d036d3d2add

7 years agowsi: Support for various pixel formats 22/73822/1
Taekyun Kim [Thu, 9 Jun 2016 12:27:06 +0000 (21:27 +0900)]
wsi: Support for various pixel formats

Change-Id: If2250033603c4185833b5405a62d2c2929afee59

7 years agosamples: Skip checking shader clip distance device feature 21/73821/1
Taekyun Kim [Thu, 9 Jun 2016 05:38:33 +0000 (14:38 +0900)]
samples: Skip checking shader clip distance device feature

Mali ICD currently does not support the required feature, so just
bypass it in order to make sample application run.

Change-Id: Iec17ed429463b1b0789d953803820fd721b176ff

7 years agoswapchain: Fill out VkImageCreateInfo when creating presentable image 20/73820/1
Taekyun Kim [Thu, 9 Jun 2016 05:29:06 +0000 (14:29 +0900)]
swapchain: Fill out VkImageCreateInfo when creating presentable image

Expected value should be 1 for mip level, 1 for array layers and
VK_SAMPLE_COUNT_1_BIT for samples.

Change-Id: If2fee7fece3f7d6a10fc79bbb6b09462a9bf1f9f

7 years agobuild: Fix incorrect include header file for devel package 19/73819/1
Taekyun Kim [Tue, 7 Jun 2016 04:26:55 +0000 (13:26 +0900)]
build: Fix incorrect include header file for devel package

Change-Id: I72acefd6e300f8c124a5aaf429f0a23096d02f91

7 years agowsi: Better integration interface between WSI and ICD 89/72789/1
Taekyun Kim [Fri, 27 May 2016 05:49:19 +0000 (14:49 +0900)]
wsi: Better integration interface between WSI and ICD

Now, ICD provides functions required by WSI as vulkan extensions.
Those extensions might be exposed user if required in the future.
ICD should return the extension functions for all possible query
functions (vk_icdGetInstanceProcAddr and vkGetXXXProcAddress)

Change-Id: I776790598d8d5f3056e5b42c8defb388b8d30e3d

7 years agowsi: Refactoring to support display surface 88/72788/1
Taekyun Kim [Thu, 19 May 2016 08:18:44 +0000 (17:18 +0900)]
wsi: Refactoring to support display surface

Change-Id: I7be92c8251838995f618f961c9d595cbd77d19d9

7 years agoutils: Add missing vk_container_of macro 87/72787/1
Taekyun Kim [Thu, 19 May 2016 05:06:25 +0000 (14:06 +0900)]
utils: Add missing vk_container_of macro

Change-Id: I5dc389412a8a22098f994b29e281d8dde659f2bf

8 years agonull-driver: added missing VK_EXPORT keyword 01/70301/1
deasung.kim [Thu, 19 May 2016 05:00:03 +0000 (14:00 +0900)]
null-driver: added missing VK_EXPORT keyword

vk_signal_semaphore
vk_wait_for_semaphores
vk_signal_fence

Change-Id: Iefe018d26d3a2bfb23f334be487883d8e28a261f

8 years agowsi: Tizen vulkan WSI development header file documentation 86/70086/1
Taekyun Kim [Wed, 18 May 2016 04:54:58 +0000 (13:54 +0900)]
wsi: Tizen vulkan WSI development header file documentation

Change-Id: Ie93558c3b0cc65a3e25d702347f1e5c0c8961207

8 years agoswapchain: Wait semaphores before issueing present request 63/69263/1
Taekyun Kim [Thu, 12 May 2016 09:49:57 +0000 (18:49 +0900)]
swapchain: Wait semaphores before issueing present request

Change-Id: I5425a825df875365c399d34a12bd57c154a7c000

8 years agowsi: Use const qualifier for semaphores in vk_wait_for_semaphores() 62/69262/1
Taekyun Kim [Thu, 12 May 2016 09:48:45 +0000 (18:48 +0900)]
wsi: Use const qualifier for semaphores in vk_wait_for_semaphores()

Change-Id: I99c42eddee86aecf58b2fa315208299638682f24

8 years agoswapchain: Signal fence and semaphore in vkAcquireNextImageKHR() 61/69261/1
Taekyun Kim [Thu, 12 May 2016 09:44:29 +0000 (18:44 +0900)]
swapchain: Signal fence and semaphore in vkAcquireNextImageKHR()

Users should wait for fence or semaphore to be signaled in order to
use the acquired VkImage. We signal them immediately because the
dequeued buffer is already ready to be used. Later, we can do some
kinda lazy signaling by returning buffer index immediately and signal
fence or semaphore when wl_buffer.release actually arrives.

Change-Id: I59c555f939834448ce4251552452c4a1bc54f26f

8 years agoicd: Functions for calling vendor ICD semaphore and fence functions 60/69260/1
Taekyun Kim [Thu, 12 May 2016 09:35:46 +0000 (18:35 +0900)]
icd: Functions for calling vendor ICD semaphore and fence functions

Change-Id: Idd757bae2504cb5ba94808f12e9191270fb8b088

8 years agoicd: Retreive semaphore and fence functions from ICD 55/69255/1
Taekyun Kim [Thu, 12 May 2016 09:33:22 +0000 (18:33 +0900)]
icd: Retreive semaphore and fence functions from ICD

Change-Id: I5ebcf66738c6f58f0b589d89dbdc0a52539e0056

8 years agonull-driver: Implement functions required by vulkan-wsi-tizen.h 54/69254/1
Taekyun Kim [Thu, 12 May 2016 09:29:19 +0000 (18:29 +0900)]
null-driver: Implement functions required by vulkan-wsi-tizen.h

Change-Id: I134d19221eb73b609be1e25a34ffe9dcc5cb1097

8 years agowsi: Add function prototypes that vendors should provide 53/69253/1
Taekyun Kim [Thu, 12 May 2016 09:17:44 +0000 (18:17 +0900)]
wsi: Add function prototypes that vendors should provide

Change-Id: Ie19a4dd9924cf9273f58f490d56f2d71b11aaeae

8 years agonull-driver: Fix type cast warning 52/69252/1
Taekyun Kim [Thu, 12 May 2016 09:13:39 +0000 (18:13 +0900)]
null-driver: Fix type cast warning

Change-Id: I707d2552af61c4aa0778230d96e5cb3adfbbdd2c

8 years agowsi: Add devel package 70/69170/1
Taekyun Kim [Tue, 10 May 2016 05:50:04 +0000 (14:50 +0900)]
wsi: Add devel package

Vendors should use devel package for their drivers to work correctly
with tizen vulkan WSI.

Change-Id: Ie4bcfc6ef6d771b8a286857fd423c4f1c1238c6c

8 years agoentry-points: Fix func type of vkEnumerateInstanceExtensionProperties() 63/68363/1
Taekyun Kim [Mon, 18 Apr 2016 03:46:52 +0000 (12:46 +0900)]
entry-points: Fix func type of vkEnumerateInstanceExtensionProperties()

Change-Id: I308b64051edfabe41ebc7967d8aee5080d324779

8 years agosurface: use tpl_display_query_supported_buffer_count_from_native_window 31/67031/3
deasung.kim [Sun, 24 Apr 2016 05:55:06 +0000 (14:55 +0900)]
surface: use tpl_display_query_supported_buffer_count_from_native_window

this patch depends on
https://review.tizen.org/gerrit/#/c/66840

Change-Id: If852d63bd0be788a8d21356d161de4b4a57d7177

8 years agoswapchain: remove temporal swapchain debugging code. 29/66729/1
Mun, Gwan-gyeong [Wed, 20 Apr 2016 13:17:48 +0000 (22:17 +0900)]
swapchain: remove temporal swapchain debugging code.

Change-Id: I455b3f7f1f91bd95f7369a4e98cb566c8dcec8dc

8 years agoMerge "null-driver: add include stdio.h for debugging of null driver." into tizen
Sangjin Lee [Tue, 19 Apr 2016 04:44:35 +0000 (21:44 -0700)]
Merge "null-driver: add include stdio.h for debugging of null driver." into tizen

8 years agoMerge changes Id53d17c1,Ica6c0627,I124d9940 into tizen
Sangjin Lee [Tue, 19 Apr 2016 04:44:24 +0000 (21:44 -0700)]
Merge changes Id53d17c1,Ica6c0627,I124d9940 into tizen

* changes:
  etc: Fix int to pointer typecasting build warnings
  swapchain: add debug info code for SwapChain's VkImage. Later we should remove or revert this code / commit
  samples: change tri sample's window size

8 years agonull-driver: add include stdio.h for debugging of null driver. 74/66374/3
Mun, Gwan-gyeong [Mon, 18 Apr 2016 11:46:18 +0000 (20:46 +0900)]
null-driver: add include stdio.h for debugging of null driver.

Change-Id: Ib347462632b72f09fbf99a306cfae6c32d81f0b0

8 years agoetc: Fix int to pointer typecasting build warnings 73/66373/4
Mun, Gwan-gyeong [Mon, 18 Apr 2016 11:15:36 +0000 (20:15 +0900)]
etc: Fix int to pointer typecasting build warnings

This is a bug from the khronos vulkan header file. It is scheduled to be resolved in
milestone "P1". See the following issue page.

https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/issues/36

When we use typecasting to pointer type, we should use uintptr_t type. it provides
safe pointer typecasting on 32bit and 64bit. We can revert this commit when the
above issue is resolved.

Change-Id: Id53d17c13c0dafc341889875140469c0f2943e67

8 years agoswapchain: add debug info code for SwapChain's VkImage. Later we should remove or... 72/66372/2
Mun, Gwan-gyeong [Mon, 18 Apr 2016 11:30:12 +0000 (20:30 +0900)]
swapchain: add debug info code for SwapChain's VkImage. Later we should remove or revert this code / commit

Change-Id: Ica6c0627e3692206ca2b29152fbe7e4923e9d57d

8 years agosamples: change tri sample's window size 71/66371/2
Mun, Gwan-gyeong [Mon, 18 Apr 2016 11:24:56 +0000 (20:24 +0900)]
samples: change tri sample's window size

Change-Id: I124d9940f52cf0f9461b463230d1a4ed9c523fe1

8 years agoetc: Add vulkaninfo into .gitignore 16/66416/1
Taekyun Kim [Tue, 19 Apr 2016 01:17:46 +0000 (10:17 +0900)]
etc: Add vulkaninfo into .gitignore

Change-Id: Idaf6dab972acd80bdf7b8b7a8a39fb5c94015c7a

8 years agocreate samples package for test 95/66295/1
deasung.kim [Mon, 18 Apr 2016 04:30:06 +0000 (13:30 +0900)]
create samples package for test

added tri/vulkaninfo/null-driver.so

Change-Id: I8aa4b7f6dd7ac43e3e5a100e190938001f6f5aae

8 years agosurface: use vk_get_tpl_display instead of tpl_display_get 42/66242/1
deasung.kim [Fri, 15 Apr 2016 04:35:20 +0000 (13:35 +0900)]
surface: use vk_get_tpl_display instead of tpl_display_get

Change-Id: I01213f16f87a11d1ebdd9d2b9e8fe85e8b68b421

8 years agoswapchain: use vk_get_tpl_display instead of tpl_display_get 41/66241/1
deasung.kim [Fri, 15 Apr 2016 04:28:51 +0000 (13:28 +0900)]
swapchain: use vk_get_tpl_display instead of tpl_display_get

Change-Id: Ibab72b44e30b760b9c662fa048fd0149df4d3a06

8 years agowsi: added func vk_get_tpl_display 66/66066/1
deasung.kim [Fri, 15 Apr 2016 04:25:05 +0000 (13:25 +0900)]
wsi: added func vk_get_tpl_display

if tpl_display_create failed
try tpl_display_get

Change-Id: Ifb9add6c216b6eb3ad0d48efcb929c14d8b69338

8 years agoicd: added load symbol icd.create_presentable_image 65/66065/1
deasung.kim [Fri, 15 Apr 2016 03:23:42 +0000 (12:23 +0900)]
icd: added load symbol icd.create_presentable_image

Change-Id: I270ed969e9bb626ec884db48bf7c3cbd15cbbb4a

8 years agoswapchain: fix missing assign tbm buffer count 64/66064/1
deasung.kim [Fri, 15 Apr 2016 03:21:47 +0000 (12:21 +0900)]
swapchain: fix missing assign tbm buffer count

Change-Id: I3e2881cf12eb012aa813890ac73bb51eb708282a

8 years agoswapchain: Create VkImage using ICD provided function 63/66063/1
Taekyun Kim [Thu, 14 Apr 2016 07:52:19 +0000 (16:52 +0900)]
swapchain: Create VkImage using ICD provided function

Change-Id: I240be8b23ae05b31718528a21befb2d85c4c1ba6

8 years agoicd: Function for creating VkImage from tbm_surface_h 62/66062/1
Taekyun Kim [Thu, 14 Apr 2016 07:51:41 +0000 (16:51 +0900)]
icd: Function for creating VkImage from tbm_surface_h

Change-Id: I529f40f510e13f35574f7a922a3764e7a526a42b

8 years agoicd: Dedicated files for manipulating vendor ICD 61/66061/1
Taekyun Kim [Thu, 14 Apr 2016 07:34:02 +0000 (16:34 +0900)]
icd: Dedicated files for manipulating vendor ICD

Change-Id: Icc2498e31047aeac2a67c5527b79d5b24cd9fb20

8 years agoswapchain: Initialize swapchain buffers at creation time 60/66060/1
Taekyun Kim [Thu, 14 Apr 2016 07:17:03 +0000 (16:17 +0900)]
swapchain: Initialize swapchain buffers at creation time

Counldn't find any clue that vkGetSwapchainImagesKHR() should be
called prior to vkAcquireNextImageKHR().

Change-Id: I503c84aea91fb3b72c3b13a02f9185d656fb5e40

8 years agosurface: swapchain: WSI do not need to implement surface create/destroy 59/66059/1
Taekyun Kim [Thu, 14 Apr 2016 06:54:02 +0000 (15:54 +0900)]
surface: swapchain: WSI do not need to implement surface create/destroy

vkCreate*SurfaceKHR/vkDestroySurfaceKHR are implemented in the vulkan
loader. Implementing swapchain functions would be enough.

Change-Id: Ic27ed8d513ebb45c106794e3db2c4f243a058151

8 years agocommon: Make wayland platform default 58/66058/1
Taekyun Kim [Thu, 14 Apr 2016 06:51:52 +0000 (15:51 +0900)]
common: Make wayland platform default

Change-Id: Ib5cf5fc81c95bdb026307fa81d2598178b7a86ca

8 years agosample: added tri/vulkan info from Vulkan Loader 57/66057/1
deasung.kim [Tue, 12 Apr 2016 09:11:17 +0000 (18:11 +0900)]
sample: added tri/vulkan info from Vulkan Loader

tri change xcb call to wayland call

Change-Id: I09900ddf094233f006c9f1529591a5031f4a511e

8 years agoentry-points: Merge extensions from ICD and WSI 56/66056/1
Taekyun Kim [Tue, 12 Apr 2016 14:11:30 +0000 (23:11 +0900)]
entry-points: Merge extensions from ICD and WSI

Change-Id: Ib1c4182c6b6d85ec0a02f055b552b0dd8ad2a88e

8 years agogbsbuild: enabled wayland option 55/66055/1
deasung.kim [Tue, 12 Apr 2016 09:11:17 +0000 (18:11 +0900)]
gbsbuild: enabled wayland option

Change-Id: I901bf0a9a92252863847aa811ad7e4ceec94a89e

8 years agoswapchain: Code clean up 54/66054/1
Taekyun Kim [Tue, 12 Apr 2016 09:25:41 +0000 (18:25 +0900)]
swapchain: Code clean up

Change-Id: I6112b6b23c0acaef2a85f42304064d57f5d00f49

8 years agowsi: added missing lib dependency 53/66053/1
deasung.kim [Tue, 12 Apr 2016 09:43:15 +0000 (18:43 +0900)]
wsi: added missing lib dependency

added libtpl

Change-Id: I1d5883eb8672b82a4d970f328ae2b9a5b73049d6

8 years agosurface: Fix build error and some clean up 52/66052/1
Taekyun Kim [Tue, 12 Apr 2016 07:43:30 +0000 (16:43 +0900)]
surface: Fix build error and some clean up

Change-Id: I1e56f5f8273ddc222aa0855c60a824f3bea8a44e

8 years agoswapchain: Basic swapchain implementation using TPL 51/66051/1
deasung.kim [Mon, 11 Apr 2016 12:12:26 +0000 (21:12 +0900)]
swapchain: Basic swapchain implementation using TPL

Change-Id: I9ac0642ffae0ef5492d4afa74bdbd66ea2f307f3

8 years agosurface: Basic wayland surface implementation using TPL 50/66050/1
deasung.kim [Mon, 11 Apr 2016 11:02:09 +0000 (20:02 +0900)]
surface: Basic wayland surface implementation using TPL

Change-Id: If431c2dd2c7b8862e7b0d40611773bb0453f811e

8 years agonull-driver: Function for creating presentable images 56/65756/1
Taekyun Kim [Tue, 12 Apr 2016 06:27:14 +0000 (15:27 +0900)]
null-driver: Function for creating presentable images

ICD is responsible for creating VkImage which is used for
presentation in the swapchain. WSI will dlsym the function and
call it to create swapchain images.

Change-Id: Ieacb603ec69b509e3651a46068333001d503ec12

8 years agoetc: Add sample executables in .gitignore 91/65691/1
Taekyun Kim [Mon, 11 Apr 2016 11:32:56 +0000 (20:32 +0900)]
etc: Add sample executables in .gitignore

Change-Id: Icfe5b421e88beb8ce097eea650b9ab0eb1d86b25

8 years agosurface: Temporary workaround for surface features 90/65690/1
Taekyun Kim [Mon, 11 Apr 2016 10:24:54 +0000 (19:24 +0900)]
surface: Temporary workaround for surface features

In order to run demo applications, there should be at least one available
supported surface format and present mode.

Change-Id: If99769a67492aeaf91d1fdfedb0da84fadb53705

8 years agonull-driver: Turn on all the features 89/65689/1
Taekyun Kim [Mon, 11 Apr 2016 10:19:58 +0000 (19:19 +0900)]
null-driver: Turn on all the features

Null driver can do everything!!!

Change-Id: Ia00b4649de8f368b905ecf12b08a876ce63a2723

8 years agoentry-points: Hook GetInstanceProcAddr()/GetDeviceProcAddr() 88/65688/1
Taekyun Kim [Mon, 11 Apr 2016 10:08:51 +0000 (19:08 +0900)]
entry-points: Hook GetInstanceProcAddr()/GetDeviceProcAddr()

Any vulkan function that WSI has its implementation should not be called
directly by the vulkan loader or application. WSI implementation shoud call
ICD functions in that case.

Change-Id: Ibd4e43fafe3db20467abcd93dc883d0afcc89637

8 years agosurface: Basic surface implementation 87/65687/1
Taekyun Kim [Mon, 11 Apr 2016 08:01:34 +0000 (17:01 +0900)]
surface: Basic surface implementation

Just simple memory allocation and initialization

Change-Id: I00966409bc83d0f8e8d5d0b611fa77214a5f0d8c

8 years agowsi: Basic memory allocation functions 86/65686/1
Taekyun Kim [Mon, 11 Apr 2016 07:46:05 +0000 (16:46 +0900)]
wsi: Basic memory allocation functions

In vulkan, users can give custom host memory allocation functions. In order
to handle this specification correctly, we should be able to know allocator
of an ICD object. (such as VkInstance, VkDevice, ...) To achieve this, ICD
can provide access functions for the allocator or WSI should track
creation/destruction of required vulkan objects. At this time, we simply
ignore user provided allocator and just use standard system allocation
functions from libc.

Change-Id: Ic75050e2a3f8ebc71737b7f83b87aaff451d0b2d

8 years agowsi: Load ICD and dispatch ICD functions 85/65685/1
Taekyun Kim [Mon, 11 Apr 2016 07:17:35 +0000 (16:17 +0900)]
wsi: Load ICD and dispatch ICD functions

Return ICD functions in vk_icdGetInstanceProcAddr() if there's no our
implementation for that name.

Change-Id: I5297f2bf9c6d7ffbf272b8e33c63b394b2dfd23d

8 years agowsi: WSI entry points 84/65684/1
Taekyun Kim [Mon, 11 Apr 2016 06:54:53 +0000 (15:54 +0900)]
wsi: WSI entry points

Now vk_icdGetInstanceProcAddr() returns function pointers to the WSI entry
points. WSI entry points are grouped into 3 categories surface, swapchain
and display.

Change-Id: I2db401a4c872aad003df5a10f0100d373539d327

8 years agonull-driver: Fix vk_icdGetInstanceProcAddr() to return all vulkan commands 83/65683/1
Taekyun Kim [Mon, 11 Apr 2016 05:09:09 +0000 (14:09 +0900)]
null-driver: Fix vk_icdGetInstanceProcAddr() to return all vulkan commands

Change-Id: I6c4d57537fc27b35a6d2f05ee491d47da1663571

8 years agonull-driver: Build as a module and change default visibility to hidden 82/65682/1
Taekyun Kim [Mon, 11 Apr 2016 05:06:12 +0000 (14:06 +0900)]
null-driver: Build as a module and change default visibility to hidden

Change-Id: I8ecef206d210938a0a33409e4c73ff7faf863aaa

8 years agosamples: tri.c from khronos loader tests 81/65681/1
Taekyun Kim [Fri, 8 Apr 2016 10:44:50 +0000 (19:44 +0900)]
samples: tri.c from khronos loader tests

Change-Id: I9694c98d6b01aa1188fb06ad2ed6178f85b00c37

8 years agocommon: Update vulkan include headers 80/65680/1
Taekyun Kim [Mon, 11 Apr 2016 04:55:46 +0000 (13:55 +0900)]
common: Update vulkan include headers

Change-Id: I9a197b86e00a656d1dcf3989c9fd3edf27193396