1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
<!-- HTML header for doxygen 1.9.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<meta name="generator" content="Doxygen 1.9.1" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="vulkan 2d vector drawing library." />
<title>VKVG: Device</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="custom.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top">
<div id="titlearea">
<table id="titletable" cellspacing="0" cellpadding="0" style="width:100%">
<tr id="titlerow" >
<td id="projectlogo"><img alt="Logo" src="vkvg.svg" /></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">VKVG  </div>
<div id="projectbrief">Vulkan Vector Graphics</div>
</td>
<td align="right"><button style="font-size:16px" onclick="location.href='https://github.com/jpbruyere/vkvg'">View on GitHub <i class="fa fa-github"></i></button></td>
</tr>
</table>
</div>
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">Device</div> </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<p><a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71" title="Opaque pointer on a Vkvg device structure.">VkvgDevice</a> is the starting point of a vkvg rendering infrastructure. It connects an existing vulkan context with vkvg, or may create a new one.</p>
<p>Most of the vulkan rendering component (pipelines, renderpass, ..) are part of the VkvgDevice, their are shared among drawing contexts.</p>
<p>Antialiasing level is configured when creating the device by selecting the sample count. <a class="el" href="group__device_ga78fe5806b41e650f39fdb8b0722efb3c.html#ga78fe5806b41e650f39fdb8b0722efb3c">vkvg_device_create</a> will create a non-antialiased dev by selecting VK_SAMPLE_COUNT_1_BIT as sample count. To create antialiased rendering device, call vkvg_device_create_multisample with VkSampleCountFlags greater than one.</p>
<p>vkvg use a single frame buffer format for now: VK_FORMAT_B8G8R8A8_UNORM.</p>
<p>Device holds the font cache so that each time a context draws text, the same cache is used. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga4410787cc120fdafe8cdc480a2b02e71"><td class="memItemLeft" align="right" valign="top">typedef struct _vkvg_device_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a></td></tr>
<tr class="memdesc:ga4410787cc120fdafe8cdc480a2b02e71"><td class="mdescLeft"> </td><td class="mdescRight">Opaque pointer on a Vkvg device structure. <a href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">More...</a><br /></td></tr>
<tr class="separator:ga4410787cc120fdafe8cdc480a2b02e71"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga14c3363f17896c4cbc90b5a742d8cc92"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga14c3363f17896c4cbc90b5a742d8cc92.html#ga14c3363f17896c4cbc90b5a742d8cc92">vkvg_device_set_thread_aware</a> (<a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> dev, uint32_t thread_awayre)</td></tr>
<tr class="memdesc:ga14c3363f17896c4cbc90b5a742d8cc92"><td class="mdescLeft"> </td><td class="mdescRight">vkvg_device_set_thread_aware <a href="group__device_ga14c3363f17896c4cbc90b5a742d8cc92.html#ga14c3363f17896c4cbc90b5a742d8cc92">More...</a><br /></td></tr>
<tr class="separator:ga14c3363f17896c4cbc90b5a742d8cc92"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga78fe5806b41e650f39fdb8b0722efb3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga78fe5806b41e650f39fdb8b0722efb3c.html#ga78fe5806b41e650f39fdb8b0722efb3c">vkvg_device_create</a> (VkSampleCountFlags samples, bool deferredResolve)</td></tr>
<tr class="memdesc:ga78fe5806b41e650f39fdb8b0722efb3c"><td class="mdescLeft"> </td><td class="mdescRight">Create a new vkvg device. <a href="group__device_ga78fe5806b41e650f39fdb8b0722efb3c.html#ga78fe5806b41e650f39fdb8b0722efb3c">More...</a><br /></td></tr>
<tr class="separator:ga78fe5806b41e650f39fdb8b0722efb3c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga792170a12976eced48e117cc1adf4bcf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga792170a12976eced48e117cc1adf4bcf.html#ga792170a12976eced48e117cc1adf4bcf">vkvg_device_create_from_vk</a> (VkInstance inst, VkPhysicalDevice phy, VkDevice vkdev, uint32_t qFamIdx, uint32_t qIndex)</td></tr>
<tr class="memdesc:ga792170a12976eced48e117cc1adf4bcf"><td class="mdescLeft"> </td><td class="mdescRight">Create a new vkvg device from an existing vulkan logical device. <a href="group__device_ga792170a12976eced48e117cc1adf4bcf.html#ga792170a12976eced48e117cc1adf4bcf">More...</a><br /></td></tr>
<tr class="separator:ga792170a12976eced48e117cc1adf4bcf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga17a593a0a8b3c174b22e7e9a67995257"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga17a593a0a8b3c174b22e7e9a67995257.html#ga17a593a0a8b3c174b22e7e9a67995257">vkvg_device_create_from_vk_multisample</a> (VkInstance inst, VkPhysicalDevice phy, VkDevice vkdev, uint32_t qFamIdx, uint32_t qIndex, VkSampleCountFlags samples, bool deferredResolve)</td></tr>
<tr class="memdesc:ga17a593a0a8b3c174b22e7e9a67995257"><td class="mdescLeft"> </td><td class="mdescRight">Create a new multisampled vkvg device. <a href="group__device_ga17a593a0a8b3c174b22e7e9a67995257.html#ga17a593a0a8b3c174b22e7e9a67995257">More...</a><br /></td></tr>
<tr class="separator:ga17a593a0a8b3c174b22e7e9a67995257"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga2aaf6df4810242a7ba61d1cc22dda83d"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga2aaf6df4810242a7ba61d1cc22dda83d.html#ga2aaf6df4810242a7ba61d1cc22dda83d">vkvg_device_destroy</a> (<a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> dev)</td></tr>
<tr class="memdesc:ga2aaf6df4810242a7ba61d1cc22dda83d"><td class="mdescLeft"> </td><td class="mdescRight">Decrement the reference count of the device by 1. Release all it's ressources if count reach 0. <a href="group__device_ga2aaf6df4810242a7ba61d1cc22dda83d.html#ga2aaf6df4810242a7ba61d1cc22dda83d">More...</a><br /></td></tr>
<tr class="separator:ga2aaf6df4810242a7ba61d1cc22dda83d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga7cfe91b5df3581ed1bcdef483d1a2367"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vkvg_8h_a0cf53c292fd50abe53343d71673c9354.html#a0cf53c292fd50abe53343d71673c9354">vkvg_status_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga7cfe91b5df3581ed1bcdef483d1a2367.html#ga7cfe91b5df3581ed1bcdef483d1a2367">vkvg_device_status</a> (<a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> dev)</td></tr>
<tr class="memdesc:ga7cfe91b5df3581ed1bcdef483d1a2367"><td class="mdescLeft"> </td><td class="mdescRight">Get the current status of the device. <a href="group__device_ga7cfe91b5df3581ed1bcdef483d1a2367.html#ga7cfe91b5df3581ed1bcdef483d1a2367">More...</a><br /></td></tr>
<tr class="separator:ga7cfe91b5df3581ed1bcdef483d1a2367"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga3fbc07e9e6fa4e97dd0857b58e66a916"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga3fbc07e9e6fa4e97dd0857b58e66a916.html#ga3fbc07e9e6fa4e97dd0857b58e66a916">vkvg_device_reference</a> (<a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> dev)</td></tr>
<tr class="memdesc:ga3fbc07e9e6fa4e97dd0857b58e66a916"><td class="mdescLeft"> </td><td class="mdescRight">Increment the reference count on this device. <a href="group__device_ga3fbc07e9e6fa4e97dd0857b58e66a916.html#ga3fbc07e9e6fa4e97dd0857b58e66a916">More...</a><br /></td></tr>
<tr class="separator:ga3fbc07e9e6fa4e97dd0857b58e66a916"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gaf8fba0b5d5588ef33326e874bd25a4c1"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_gaf8fba0b5d5588ef33326e874bd25a4c1.html#gaf8fba0b5d5588ef33326e874bd25a4c1">vkvg_device_get_reference_count</a> (<a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> dev)</td></tr>
<tr class="memdesc:gaf8fba0b5d5588ef33326e874bd25a4c1"><td class="mdescLeft"> </td><td class="mdescRight">Query the reference count of the device. <a href="group__device_gaf8fba0b5d5588ef33326e874bd25a4c1.html#gaf8fba0b5d5588ef33326e874bd25a4c1">More...</a><br /></td></tr>
<tr class="separator:gaf8fba0b5d5588ef33326e874bd25a4c1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga67fe3cfb43415cc557c3c6f2dad1990b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga67fe3cfb43415cc557c3c6f2dad1990b.html#ga67fe3cfb43415cc557c3c6f2dad1990b">vkvg_device_set_dpy</a> (<a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> dev, int hdpy, int vdpy)</td></tr>
<tr class="memdesc:ga67fe3cfb43415cc557c3c6f2dad1990b"><td class="mdescLeft"> </td><td class="mdescRight">Set the screen dot per inch for this device. <a href="group__device_ga67fe3cfb43415cc557c3c6f2dad1990b.html#ga67fe3cfb43415cc557c3c6f2dad1990b">More...</a><br /></td></tr>
<tr class="separator:ga67fe3cfb43415cc557c3c6f2dad1990b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga629ad9c736d5e7936529aadbfc202c53"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga629ad9c736d5e7936529aadbfc202c53.html#ga629ad9c736d5e7936529aadbfc202c53">vkvg_device_get_dpy</a> (<a class="el" href="group__device_ga4410787cc120fdafe8cdc480a2b02e71.html#ga4410787cc120fdafe8cdc480a2b02e71">VkvgDevice</a> dev, int *hdpy, int *vdpy)</td></tr>
<tr class="memdesc:ga629ad9c736d5e7936529aadbfc202c53"><td class="mdescLeft"> </td><td class="mdescRight">Get the current dpy values. <a href="group__device_ga629ad9c736d5e7936529aadbfc202c53.html#ga629ad9c736d5e7936529aadbfc202c53">More...</a><br /></td></tr>
<tr class="separator:ga629ad9c736d5e7936529aadbfc202c53"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga9319a5e85f367098b0e6e3265fb8ea85"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga9319a5e85f367098b0e6e3265fb8ea85.html#ga9319a5e85f367098b0e6e3265fb8ea85">vkvg_get_required_instance_extensions</a> (const char **pExtensions, uint32_t *pExtCount)</td></tr>
<tr class="memdesc:ga9319a5e85f367098b0e6e3265fb8ea85"><td class="mdescLeft"> </td><td class="mdescRight">query required instance extensions for vkvg. <a href="group__device_ga9319a5e85f367098b0e6e3265fb8ea85.html#ga9319a5e85f367098b0e6e3265fb8ea85">More...</a><br /></td></tr>
<tr class="separator:ga9319a5e85f367098b0e6e3265fb8ea85"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ga87246f77fd32889d9eae62c9444ae456"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_ga87246f77fd32889d9eae62c9444ae456.html#ga87246f77fd32889d9eae62c9444ae456">vkvg_get_required_device_extensions</a> (VkPhysicalDevice phy, const char **pExtensions, uint32_t *pExtCount)</td></tr>
<tr class="memdesc:ga87246f77fd32889d9eae62c9444ae456"><td class="mdescLeft"> </td><td class="mdescRight">query required device extensions for vkvg. <a href="group__device_ga87246f77fd32889d9eae62c9444ae456.html#ga87246f77fd32889d9eae62c9444ae456">More...</a><br /></td></tr>
<tr class="separator:ga87246f77fd32889d9eae62c9444ae456"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:gad9676acb47c4f4f8d83ef198280a805e"><td class="memItemLeft" align="right" valign="top">const void * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__device_gad9676acb47c4f4f8d83ef198280a805e.html#gad9676acb47c4f4f8d83ef198280a805e">vkvg_get_device_requirements</a> (VkPhysicalDeviceFeatures *pEnabledFeatures)</td></tr>
<tr class="memdesc:gad9676acb47c4f4f8d83ef198280a805e"><td class="mdescLeft"> </td><td class="mdescRight">get vulkan device creation requirement to fit vkvg needs. <a href="group__device_gad9676acb47c4f4f8d83ef198280a805e.html#gad9676acb47c4f4f8d83ef198280a805e">More...</a><br /></td></tr>
<tr class="separator:gad9676acb47c4f4f8d83ef198280a805e"><td class="memSeparator" colspan="2"> </td></tr>
</table>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.9.1-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
|